- private static final UriComponentsBuilder POLICY_URI =
- UriComponentsBuilder.fromPath("/policies/{policy-id}").queryParam(POLICY_TYPE_ID, "{policy-type-name}");
-
- private static final UriComponentsBuilder POLICY_DELETE_URI =
- UriComponentsBuilder.fromPath("/policies/{policy-id}");
-
- private static final UriComponentsBuilder POLICY_STATUS_URI =
- UriComponentsBuilder.fromPath("/policies/{policy-id}/status");
+ public static class UriBuilder implements A1UriBuilder {
+
+ private final RicConfig ricConfig;
+
+ public UriBuilder(RicConfig ricConfig) {
+ this.ricConfig = ricConfig;
+ }
+
+ /**
+ * /A1-P/v1/policies/{policyId}
+ */
+ @Override
+ public String createPutPolicyUri(String type, String policyId) {
+ return policiesBaseUri() + policyId;
+ }
+
+ /**
+ * /A1-P/v1/policies
+ */
+ public String createGetPolicyIdsUri() {
+ return baseUri() + "/policies";
+ }
+
+ /**
+ * /A1-P/v1/policies/{policyId}
+ */
+ @Override
+ public String createDeleteUri(String type, String policyId) {
+ return policiesBaseUri() + policyId;
+ }
+
+ /**
+ * /A1-P/v1/policies/{policyId}/status
+ */
+ public String createGetPolicyStatusUri(String type, String policyId) {
+ return policiesBaseUri() + policyId + "/status";
+ }
+
+ private String baseUri() {
+ return ricConfig.baseUrl() + "/A1-P/v1";
+ }
+
+ private String policiesBaseUri() {
+ return createGetPolicyIdsUri() + "/";
+ }
+ }