Replace Jackson with GSON 47/30647/3
authorYiLi <li.yi101@zte.com.cn>
Wed, 7 Feb 2018 09:42:39 +0000 (17:42 +0800)
committerYiLi <li.yi101@zte.com.cn>
Thu, 8 Feb 2018 00:50:47 +0000 (08:50 +0800)
Change-Id: I57af69f37b64d4a2b391d51fde93269dfa5ce79c
Issue-ID: HOLMES-115
Signed-off-by: YiLi <li.yi101@zte.com.cn>
holmes-actions/pom.xml
holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java [new file with mode: 0644]
pom.xml

index 86c0433..3a724d0 100644 (file)
             <artifactId>commons-beanutils</artifactId>\r
             <version>1.9.3</version>\r
         </dependency>\r
+        <dependency>\r
+            <groupId>com.google.code.gson</groupId>\r
+            <artifactId>gson</artifactId>\r
+            <version>2.8.2</version>\r
+        </dependency>\r
 \r
     </dependencies>\r
     <build>\r
diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java b/holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java
new file mode 100644 (file)
index 0000000..6f6e8f3
--- /dev/null
@@ -0,0 +1,76 @@
+/**
+ * Copyright 2018 ZTE Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.holmes.common.utils;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import java.util.List;
+import java.util.Map;
+
+public class GsonUtil {
+    private static Gson gson = null;
+    static {
+        if (gson == null) {;
+            gson = new Gson();
+        }
+    }
+
+    private GsonUtil() {
+    }
+    public static String beanToJson(Object object) {
+        String gsonString = null;
+        if (gson != null) {
+            gsonString = gson.toJson(object);
+        }
+        return gsonString;
+    }
+
+    public static <T> T jsonToBean(String gsonString, Class<T> cls) {
+        T t = null;
+        if (gson != null) {
+            t = gson.fromJson(gsonString, cls);
+        }
+        return t;
+    }
+
+    public static <T> List<T> GsonToList(String gsonString, Class<T> cls) {
+        List<T> list = null;
+        if (gson != null) {
+            list = gson.fromJson(gsonString, new TypeToken<List<T>>() {
+            }.getType());
+        }
+        return list;
+    }
+
+    public static <T> List<Map<String, T>> GsonToListMaps(String gsonString) {
+        List<Map<String, T>> list = null;
+        if (gson != null) {
+            list = gson.fromJson(gsonString,
+                    new TypeToken<List<Map<String, T>>>() {
+                    }.getType());
+        }
+        return list;
+    }
+
+    public static <T> Map<String, T> GsonToMaps(String gsonString) {
+        Map<String, T> map = null;
+        if (gson != null) {
+            map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() {
+            }.getType());
+        }
+        return map;
+    }
+}
diff --git a/pom.xml b/pom.xml
index a87d1eb..7d924c5 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
         <nexusproxy>https://nexus.open-o.org/content</nexusproxy>\r
 \r
         <stringtemplate.version>3.2.1</stringtemplate.version>\r
-        <dropwizard.version>0.9.3</dropwizard.version>\r
+        <dropwizard.version>0.8.0</dropwizard.version>\r
         <swagger.version>1.5.3</swagger.version>\r
         <lombok.version>1.16.8</lombok.version>\r
         <jersey.version>2.22.2</jersey.version>\r