diff options
author | YiLi <li.yi101@zte.com.cn> | 2018-02-07 17:42:39 +0800 |
---|---|---|
committer | YiLi <li.yi101@zte.com.cn> | 2018-02-08 08:50:47 +0800 |
commit | a55c700bc3aaab61731d509e4f4c85f40d6330e6 (patch) | |
tree | 09decc90a1961185b9f1418ed778d1861f8608cb /holmes-actions | |
parent | 2f92be933fc2ef3ccf1f44572a9be99058dd7ec0 (diff) |
Replace Jackson with GSON
Change-Id: I57af69f37b64d4a2b391d51fde93269dfa5ce79c
Issue-ID: HOLMES-115
Signed-off-by: YiLi <li.yi101@zte.com.cn>
Diffstat (limited to 'holmes-actions')
-rw-r--r-- | holmes-actions/pom.xml | 5 | ||||
-rw-r--r-- | holmes-actions/src/main/java/org/onap/holmes/common/utils/GsonUtil.java | 76 |
2 files changed, 81 insertions, 0 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; + } +} |