summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--holmes-actions/pom.xml5
-rw-r--r--holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java76
-rw-r--r--pom.xml2
3 files changed, 82 insertions, 1 deletions
diff --git a/holmes-actions/pom.xml b/holmes-actions/pom.xml
index 86c0433..3a724d0 100644
--- a/holmes-actions/pom.xml
+++ b/holmes-actions/pom.xml
@@ -144,6 +144,11 @@
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.8.2</version>
+ </dependency>
</dependencies>
<build>
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
index 0000000..6f6e8f3
--- /dev/null
+++ b/holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java
@@ -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
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
<nexusproxy>https://nexus.open-o.org/content</nexusproxy>
<stringtemplate.version>3.2.1</stringtemplate.version>
- <dropwizard.version>0.9.3</dropwizard.version>
+ <dropwizard.version>0.8.0</dropwizard.version>
<swagger.version>1.5.3</swagger.version>
<lombok.version>1.16.8</lombok.version>
<jersey.version>2.22.2</jersey.version>