From a55c700bc3aaab61731d509e4f4c85f40d6330e6 Mon Sep 17 00:00:00 2001 From: YiLi Date: Wed, 7 Feb 2018 17:42:39 +0800 Subject: [PATCH] Replace Jackson with GSON Change-Id: I57af69f37b64d4a2b391d51fde93269dfa5ce79c Issue-ID: HOLMES-115 Signed-off-by: YiLi --- holmes-actions/pom.xml | 5 ++ .../org/onap/holmes/common/utils/GsonUtil.java | 76 ++++++++++++++++++++++ pom.xml | 2 +- 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java 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 @@ commons-beanutils 1.9.3 + + com.google.code.gson + gson + 2.8.2 + 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 jsonToBean(String gsonString, Class cls) { + T t = null; + if (gson != null) { + t = gson.fromJson(gsonString, cls); + } + return t; + } + + public static List GsonToList(String gsonString, Class cls) { + List list = null; + if (gson != null) { + list = gson.fromJson(gsonString, new TypeToken>() { + }.getType()); + } + return list; + } + + public static List> GsonToListMaps(String gsonString) { + List> list = null; + if (gson != null) { + list = gson.fromJson(gsonString, + new TypeToken>>() { + }.getType()); + } + return list; + } + + public static Map GsonToMaps(String gsonString) { + Map map = null; + if (gson != null) { + map = gson.fromJson(gsonString, new TypeToken>() { + }.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 @@ https://nexus.open-o.org/content 3.2.1 - 0.9.3 + 0.8.0 1.5.3 1.16.8 2.22.2 -- 2.16.6