4301feb857b12ce8936f71d4b80c5d86cd19a7c1
[sdc/sdc-workflow-designer.git] / workflow-designer-be / src / test / java / org / onap / sdc / workflow / RestPath.java
1 package org.onap.sdc.workflow;
2
3 import static org.onap.sdc.workflow.api.RestParams.LIMIT;
4 import static org.onap.sdc.workflow.api.RestParams.OFFSET;
5 import static org.onap.sdc.workflow.api.RestParams.SORT;
6
7 public class RestPath {
8
9     private RestPath() {
10         //Hiding implicit constructor
11     }
12
13     private static final String WORKFLOWS_URL = "/workflows";
14     public static final String WORKFLOWS_WITH_VERSION_STATE_FILTER_URL = WORKFLOWS_URL + "?versionState=%s";
15     private static final String WORKFLOW_URL_FORMATTER = WORKFLOWS_URL + "/%s";
16     private static final String VERSIONS_URL_FORMATTER = WORKFLOWS_URL + "/%s/versions";
17     private static final String VERSION_URL_FORMATTER = WORKFLOWS_URL + "/%s/versions/%s";
18     private static final String SORT_QUERY_STRING_FORMATTER = SORT + "=%s";
19     private static final String LIMIT_QUERY_STRING_FORMATTER = LIMIT + "=%s";
20     private static final String OFFSET_QUERY_STRING_FORMATTER = OFFSET + "=%s";
21     private static final String WORKFLOW_URL_FORMATTER_QUERY_PARAMS_ALL =
22             WORKFLOWS_URL + "?" + SORT_QUERY_STRING_FORMATTER+ "&" +  LIMIT_QUERY_STRING_FORMATTER + "&" +
23                     OFFSET_QUERY_STRING_FORMATTER;
24     private static final String WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT =
25             WORKFLOWS_URL + "?" + LIMIT_QUERY_STRING_FORMATTER + "&" + OFFSET_QUERY_STRING_FORMATTER;
26     private static final String WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT_AND_LIMIT =
27             WORKFLOWS_URL + "?" + OFFSET_QUERY_STRING_FORMATTER;
28     private static final String WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT_AND_OFFSET =
29             WORKFLOWS_URL + "?" + LIMIT_QUERY_STRING_FORMATTER;
30
31     public static String getWorkflowsPathAllQueryParams(String sort, String limit, String offset){
32         return String.format(WORKFLOW_URL_FORMATTER_QUERY_PARAMS_ALL, sort, limit, offset);
33     }
34
35     public static String getWorkflowsPathNoSort(String limit, String offset){
36         return String.format(WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT, limit, offset);
37     }
38
39     public static String getWorkflowsPathNoSortAndLimit(String offset){
40         return String.format(WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT_AND_LIMIT, offset);
41     }
42
43     public static String getWorkflowsPathNoSortAndOffset(String limit){
44         return String.format(WORKFLOW_URL_FORMATTER_QUERY_PARAMS_NO_SORT_AND_OFFSET, limit);
45     }
46
47     public static String getWorkflowsPath() {
48         return WORKFLOWS_URL;
49     }
50
51     public static String getWorkflowPath(String workflowId) {
52         return String.format(WORKFLOW_URL_FORMATTER, workflowId);
53     }
54
55     public static String getWorkflowVersions(String workflowId) {
56         return String.format(VERSIONS_URL_FORMATTER, workflowId);
57     }
58
59     public static String getWorkflowVersion(String workflowId, String versionId) {
60         return String.format(VERSION_URL_FORMATTER, workflowId, versionId);
61     }
62 }