#2 NCMP : Replacing the word 'Batch' as 'DataOperation'.
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / impl / utils / DmiServiceUrlBuilder.java
index bba8f48..d855442 100644 (file)
@@ -53,15 +53,17 @@ public class DmiServiceUrlBuilder {
     }
 
     /**
-     * This method creates the dmi service url for bulk request.
+     * This method builds data operation request url.
      *
-     * @param queryParams  query param map as key,value pair
-     * @param uriVariables uri param map as key (placeholder),value pair
-     * @return {@code String} dmi service url as string
+     * @param dataoperationRequestQueryParams  query param map as key, value pair
+     * @param dataoperationRequestUriVariables uri param map as key (placeholder), value pair
+     * @return {@code String} data operation request url as string
      */
-    public String getBulkRequestUrl(final MultiValueMap<String, String> queryParams,
-                                    final Map<String, Object> uriVariables) {
-        return getUriComponentsBuilder(getBulkResourceDataBasePathUriBuilder(), queryParams, uriVariables)
+    public String getDataOperationRequestUrl(final MultiValueMap<String, String> dataoperationRequestQueryParams,
+                                             final Map<String, Object> dataoperationRequestUriVariables) {
+        return getDataOperationResourceDataBasePathUriBuilder()
+                .queryParams(dataoperationRequestQueryParams)
+                .uriVariables(dataoperationRequestUriVariables)
                 .buildAndExpand().toUriString();
     }
 
@@ -80,16 +82,16 @@ public class DmiServiceUrlBuilder {
     }
 
     /**
-     * This method creates the dmi service url builder object with path variables for batch of cm handles.
+     * This method creates the dmi service url builder object with path variables for data operation request.
      *
      * @return {@code UriComponentsBuilder} dmi service url builder object
      */
-    public UriComponentsBuilder getBulkResourceDataBasePathUriBuilder() {
+    public UriComponentsBuilder getDataOperationResourceDataBasePathUriBuilder() {
         return UriComponentsBuilder.newInstance()
                 .path("{dmiServiceName}")
                 .pathSegment("{dmiBasePath}")
                 .pathSegment("v1")
-                .pathSegment("batch");
+                .pathSegment("data");
     }
 
     /**
@@ -113,6 +115,20 @@ public class DmiServiceUrlBuilder {
         return uriVariables;
     }
 
+    /**
+     * This method populates uri variables for data operation request.
+     *
+     * @param dmiServiceName dmi service name
+     * @return {@code Map<String, Object>} uri variables as map
+     */
+    public Map<String, Object> populateDataOperationRequestUriVariables(final String dmiServiceName) {
+        final Map<String, Object> uriVariables = new HashMap<>();
+        final String dmiBasePath = dmiProperties.getDmiBasePath();
+        uriVariables.put("dmiServiceName", dmiServiceName);
+        uriVariables.put("dmiBasePath", dmiBasePath);
+        return uriVariables;
+    }
+
     /**
      * This method is used to populate map from query params.
      *
@@ -134,6 +150,21 @@ public class DmiServiceUrlBuilder {
         return queryParams;
     }
 
+    /**
+     * This method is used to populate map from query params for data operation request.
+     *
+     * @param topicParamInQuery topic into url param
+     * @param requestId         unique id of response for valid topic
+     * @return all valid query params as map
+     */
+    public MultiValueMap<String, String> getDataOperationRequestQueryParams(final String topicParamInQuery,
+                                                                            final String requestId) {
+        final MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
+        getQueryParamConsumer().accept("topic", topicParamInQuery, queryParams);
+        getQueryParamConsumer().accept("requestId", requestId, queryParams);
+        return queryParams;
+    }
+
     private TriConsumer<String, String, MultiValueMap<String, String>> getQueryParamConsumer() {
         return (paramName, paramValue, paramMap) -> {
             if (Strings.isNotEmpty(paramValue)) {