Make input parameter available in output value 27/24327/1
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Mon, 25 Sep 2017 15:35:58 +0000 (21:05 +0530)
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Tue, 14 Nov 2017 09:08:03 +0000 (14:38 +0530)
Issue-Id: CLI-66

Change-Id: Ib7dc22352932294b485b1239dbb56e4092ef6644
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
framework/src/main/java/org/onap/cli/fw/cmd/OnapHttpCommand.java
framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
plugins/msb/src/test/resources/onap-cli-sample/msb-create-service-sample-1.1.yaml [new file with mode: 0644]

index 90ac961..9f4840c 100644 (file)
@@ -95,6 +95,7 @@ public class OnapHttpCommand extends OnapCommand {
         }
 
         Map<String, ArrayList<String>> results = OnapCommandUtils.populateOutputs(this.getResultMap(), output);
+        results = OnapCommandUtils.populateOutputsFromInputParameters(results, this.getParametersMap());
 
         for (OnapCommandResultAttribute attr : this.getResult().getRecords()) {
             attr.setValues(results.get(attr.getName()));
index 9c4306c..131b520 100644 (file)
@@ -1584,6 +1584,43 @@ public class OnapCommandUtils {
         return resultsProcessed;
     }
 
+    /**
+     * Populate result from input parameters.
+     *
+     * @param resultMap
+     *            map
+     * @param params
+     *            Map<String, OnapCommandParameter>
+     * @return map
+     * @throws OnapCommandHttpHeaderNotFound
+     *             header not found exception
+     * @throws OnapCommandHttpInvalidResponseBody
+     *             invalid response body exception
+     * @throws OnapCommandResultMapProcessingFailed
+     *             map processing failed exception
+     */
+    public static Map<String, ArrayList<String>> populateOutputsFromInputParameters(
+            Map<String, ArrayList<String>> resultMap,
+            Map<String, OnapCommandParameter> params)
+            throws OnapCommandException {
+        Map<String, ArrayList<String>> resultsProcessed = new HashMap<>();
+
+        for (Entry<String, ArrayList<String>> entry : resultMap.entrySet()) {
+            String key = entry.getKey();
+            resultsProcessed.put(key, new ArrayList<>());
+            for (String value: entry.getValue()) {
+                try {
+                    value = replaceLineFromInputParameters(value, params);
+                } catch(OnapCommandResultEmpty e) {
+                    // pass // NOSONAR
+                }
+                resultsProcessed.get(key).add(value);
+            }
+        }
+
+        return resultsProcessed;
+    }
+
     /**
      * Find external schema files.
      *
diff --git a/plugins/msb/src/test/resources/onap-cli-sample/msb-create-service-sample-1.1.yaml b/plugins/msb/src/test/resources/onap-cli-sample/msb-create-service-sample-1.1.yaml
new file mode 100644 (file)
index 0000000..d316f38
--- /dev/null
@@ -0,0 +1,20 @@
+onap_cli_sample_version: 1.0
+
+name: microservice-create
+version: onap-1.1
+samples:
+    sample1:
+        name: Create a service
+        input: --service-name test-service --service-version v1 --service-url /api/test/v1 --host-url http://192.168.17.23:80 23.14.15.156 80
+        output: |
+          +----------+------------------------------------+
+          |property  |value                               |
+          +----------+------------------------------------+
+          |name      |test-service                        |
+          +----------+------------------------------------+
+          |version   |v1                                  |
+          +----------+------------------------------------+
+          |url       |/api/test/v1                        |
+          +----------+------------------------------------+
+          |status    |1                                   |
+          +----------+------------------------------------+
\ No newline at end of file