printyaml method fix 36/112736/7
authorpriyanka.akhade <priyanka.akhade@huawei.com>
Wed, 16 Sep 2020 09:11:40 +0000 (14:41 +0530)
committerKanagaraj Manickam <kanagaraj.manickam@huawei.com>
Mon, 14 Dec 2020 08:35:03 +0000 (08:35 +0000)
Signed-off-by: priyanka.akhade <priyanka.akhade@huawei.com>
Change-Id: I4e9178a884981600731b2a33fb8bec2640fcd9b7
Issue-ID: CLI-251

framework/pom.xml
framework/src/main/java/org/onap/cli/fw/output/print/OnapCommandPrint.java
framework/src/test/java/org/onap/cli/fw/output/OnapCommandResultTest.java

index c23451d..9eb5bf8 100644 (file)
             <artifactId>gson</artifactId>
             <version>2.8.2</version>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.11.0</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-yaml</artifactId>
+            <version>2.11.0</version>
+        </dependency>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
index 5527f94..6850fe3 100644 (file)
@@ -32,6 +32,8 @@ import org.onap.cli.fw.error.OnapCommandOutputPrintingFailed;
 import org.onap.cli.fw.output.OnapCommandPrintDirection;
 
 import com.google.gson.JsonParser;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
 
 import net.minidev.json.JSONArray;
 import net.minidev.json.JSONObject;
@@ -275,20 +277,13 @@ public class OnapCommandPrint {
 
         }
     }
-
-    /*
-        required vulnerable fix
-        jackson-dataformat-yaml:YAMLMapper is a sub component of jackson-databind
-        jackson-databind is replaced with gson
-        JIRA: CLI-251
-     */
+    
     public String printYaml() throws OnapCommandOutputPrintingFailed {
-     /*   try {
+        try {
             return new YAMLMapper().writeValueAsString(new ObjectMapper().readTree(this.printJson()));
         } catch (IOException  e) {
             throw new OnapCommandOutputPrintingFailed(e);  // NOSONAR
         }
-     */
-     return ""; //NOSONAR
+
     }
 }
index f46fc91..cf274f2 100644 (file)
@@ -235,4 +235,39 @@ public class OnapCommandResultTest {
         assertEquals(expRes,result);
 
     }
+
+    @Test
+    public void printYamlTest() throws OnapCommandException {
+        OnapCommandResult res = new OnapCommandResult();
+        res.setDebugInfo("debugInfo");
+        res.setIncludeSeparator(true);
+        res.setIncludeTitle(true);
+        res.setOutput("Output");
+        res.setPrintDirection(OnapCommandPrintDirection.LANDSCAPE);
+
+        OnapCommandResultAttribute att = new OnapCommandResultAttribute();
+        att.setName("param");
+        att.setDescription("description");
+        att.setType(OnapCommandParameterType.YAML);
+        att.setValues(
+                new ArrayList<String>(Arrays.asList(new String[] {  "{\"id\": \"0001\",\"value\": \"result\"}"  })));
+        List<OnapCommandResultAttribute> list = new ArrayList<OnapCommandResultAttribute>();
+        list.add(att);
+        res.setRecords(list);
+        res.setScope(OnapCommandResultAttributeScope.LONG);
+        res.setType(OnapCommandResultType.YAML);
+        String result = res.print();
+        String expRes="---\n- param:\n    id: \"0001\"\n    value: \"result\"\n";
+        assertEquals(expRes,result);
+
+        att.setValues(
+                new ArrayList<String>(Arrays.asList(new String[] {  "{\"id\": \"0001\": \"value\": }"  })));
+        list = new ArrayList<OnapCommandResultAttribute>();
+        list.add(att);
+        res.setRecords(list);
+        result = res.print();
+        expRes="---\n- param: null\n";
+        assertEquals(expRes,result);
+
+    }
 }