Add context to multipart http profile 23/79923/1
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 7 Mar 2019 16:19:34 +0000 (21:49 +0530)
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Thu, 7 Mar 2019 16:19:34 +0000 (21:49 +0530)
Issue-ID: CLI-129

Change-Id: I0ae68064e776607cacc1985bd02df04c918e0d08
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
profiles/http/src/main/java/org/onap/cli/fw/http/utils/OnapCommandHttpUtils.java

index 3afb196..f4a6cee 100644 (file)
@@ -66,25 +66,20 @@ public class OnapCommandHttpUtils {
      */
     public static HttpInput populateParameters(Map<String, OnapCommandParameter> params, HttpInput input)
             throws OnapCommandException {
+
         HttpInput inp = new HttpInput();
+
         for (OnapCommandParameter param : params.values()) {
             if (OnapCommandParameterType.BINARY.equals(param.getParameterType())) {
                 inp.setBinaryData(true);
                 break;
             }
         }
-        inp.setMultipartEntityName(input.getMultipartEntityName());
-        inp.setBody(OnapCommandUtils.replaceLineFromInputParameters(input.getBody(), params));
-
-        if (input.getMultiparts().size() > 0) {
-            for (HttpInput.Part part: input.getMultiparts()) {
-                part.setContent(OnapCommandUtils.replaceLineFromInputParameters(part.getContent(), params));
-            }
-        }
-        inp.setMultiparts(input.getMultiparts());
 
         inp.setUri(OnapCommandUtils.replaceLineFromInputParameters(input.getUri(), params));
+
         inp.setMethod(input.getMethod().toLowerCase());
+
         for (String h : input.getReqHeaders().keySet()) {
             String value = input.getReqHeaders().get(h);
             inp.getReqHeaders().put(h, OnapCommandUtils.replaceLineFromInputParameters(value, params));
@@ -97,10 +92,22 @@ public class OnapCommandHttpUtils {
 
         boolean isRemoveEmptyNodes = Boolean.parseBoolean(input.getContext().getOrDefault(OnapCommandHttpConstants.CONTEXT_REMOVE_EMPTY_JSON_NODES, "false"));
 
-        if (isRemoveEmptyNodes) {
-            inp.setBody(OnapCommandHttpUtils.normalizeJson(inp.getBody()));
-        }
+        if (input.getMultiparts().size() > 0) {
+            for (HttpInput.Part part: input.getMultiparts()) {
+                part.setContent(OnapCommandUtils.replaceLineFromInputParameters(part.getContent(), params));
+                if (isRemoveEmptyNodes) {
+                    part.setContent(OnapCommandHttpUtils.normalizeJson(part.getContent()));
+                }
+            }
 
+            inp.setMultiparts(input.getMultiparts());
+        } else {
+            inp.setMultipartEntityName(input.getMultipartEntityName());
+            inp.setBody(OnapCommandUtils.replaceLineFromInputParameters(input.getBody(), params));
+            if (isRemoveEmptyNodes) {
+                inp.setBody(OnapCommandHttpUtils.normalizeJson(inp.getBody()));
+            }
+        }
         return inp;
     }