aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
diff options
context:
space:
mode:
authoran4828 <nekrassov@att.com>2018-01-22 17:17:34 -0500
committeran4828 <nekrassov@att.com>2018-01-22 17:20:00 -0500
commitc489a2eb22484e798c39a978bc8b61821b92322f (patch)
tree5aafe90efc15f8ced47e0d14c5f23a86a07f03e1 /dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
parentbaaecfc19132034168beb64a0c1e7813c7c17c4a (diff)
TCA: Replace any openecomp reference by onap
Change-Id: I7c6d812ab5c1d7b30c63653d1974b0b1abc099be Signed-off-by: an4828 <nekrassov@att.com> Issue-ID: DCAEGEN2-224 Signed-off-by: an4828 <nekrassov@att.com>
Diffstat (limited to 'dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java')
-rw-r--r--dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java b/dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
new file mode 100644
index 0000000..35834d1
--- /dev/null
+++ b/dcae-analytics-model/src/main/java/org/onap/dcae/apod/analytics/model/util/AnalyticsModelJsonUtils.java
@@ -0,0 +1,104 @@
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============================LICENSE_END===========================================
+ */
+
+package org.onap.dcae.apod.analytics.model.util;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Suppliers;
+import org.onap.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ *
+ * @author Rajiv Singla . Creation Date: 11/7/2016.
+ */
+public abstract class AnalyticsModelJsonUtils {
+
+ /**
+ * Object mapper to be used for all TCA Json Parsing
+ */
+ protected static final ObjectMapper ANALYTICS_MODEL_OBJECT_MAPPER =
+ Suppliers.memoize(new AnalyticsModelObjectMapperSupplier()).get();
+
+
+ /**
+ * Converts Input Stream to given type reference object
+ *
+ * @param inputStream input stream
+ * @param valueTypeRef type reference
+ * @param <T> type of type reference
+ *
+ * @return parsed json object
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(InputStream inputStream, TypeReference<T> valueTypeRef) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(inputStream, valueTypeRef);
+ }
+
+
+ /**
+ * Converts Input Stream to given target class object
+ *
+ * @param inputStream input stream
+ * @param targetClass target class type
+ * @param <T> type of class
+ *
+ * @return parsed json object
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(InputStream inputStream, Class<T> targetClass) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(inputStream, targetClass);
+ }
+
+
+ /**
+ * Converts given object to JSON string
+ *
+ * @param value object that needs to converted to json string
+ *
+ * @return json string
+ * @throws JsonProcessingException Json Processing exception
+ */
+ public static String writeValueAsString(Object value) throws JsonProcessingException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.writeValueAsString(value);
+ }
+
+
+ /**
+ * Method to deserialize JSON content from given JSON content String.
+ *
+ * @param jsonString JSON String
+ * @param objectClass target object class
+ * @param <T> object class type
+ *
+ * @return converted Object from JSON String
+ *
+ * @throws IOException IO Exception
+ */
+ public static <T> T readValue(final String jsonString, final Class<T> objectClass) throws IOException {
+ return ANALYTICS_MODEL_OBJECT_MAPPER.readValue(jsonString, objectClass);
+ }
+}