diff options
author | Pooja03 <pm00501616@techmahindra.com> | 2019-03-20 19:39:58 +0530 |
---|---|---|
committer | Pooja Malik <PM00501616@techmahindra.com> | 2019-03-22 10:09:32 +0000 |
commit | 5e76fbd802ca4dcf48dac5c9a8f262470a326ef7 (patch) | |
tree | 0ce8b9549c76ac909c52d503dc0e16820fc09658 /UniversalVesAdapter/src/main/java/org/onap/universalvesadapter | |
parent | 52f8f061b460c84d03e570958950a2e63a4f6461 (diff) |
Resolving warning reported in build - VES Mapper
Changes made to resolve warnings in the build.
Change-Id: I03dee6780941881afc65c4b907ade078febb5e39
Issue-ID: DCAEGEN2-604
Signed-off-by: Pooja03 <pm00501616@techmahindra.com>
Diffstat (limited to 'UniversalVesAdapter/src/main/java/org/onap/universalvesadapter')
2 files changed, 261 insertions, 261 deletions
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java index f17f3a6..484625f 100644 --- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java +++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/adapter/UniversalEventAdapter.java @@ -1,185 +1,185 @@ -/* -* ============LICENSE_START======================================================= -* ONAP : DCAE -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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.universalvesadapter.adapter; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Iterator; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import javax.annotation.PreDestroy; - -import org.milyn.Smooks; -import org.onap.dcaegen2.ves.domain.ves7_0.VesEvent; -import org.onap.universalvesadapter.exception.ConfigFileSmooksConversionException; -import org.onap.universalvesadapter.exception.VesException; -import org.onap.universalvesadapter.service.VESAdapterInitializer; -import org.onap.universalvesadapter.utils.CollectorConfigPropertyRetrival; -import org.onap.universalvesadapter.utils.SmooksUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; -import org.xml.sax.SAXException; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import com.google.gson.JsonSyntaxException; - -/** - * Default implementation of the Generic Adapter - * - * @author kmalbari - * - */ - -@Component -public class UniversalEventAdapter implements GenericAdapter { - private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger"); - private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger"); - - @Value("${defaultConfigFilelocation}") - private String defaultConfigFilelocation; - private String collectorIdentifierValue; - private String collectorIdentifierKey; - private Map<String, Smooks> eventToSmooksMapping = new ConcurrentHashMap<>(); - - public UniversalEventAdapter() { - - } - - /** - * transforms JSON to VES format and and returns the ves Event - * - * @param IncomingJason,eventType - * @return ves Event - */ - @Override - public String transform(String incomingJsonString) - throws ConfigFileSmooksConversionException, VesException { - String result = ""; - String configFileData; - - String identifier[]= CollectorConfigPropertyRetrival.getProperyArray("identifier",defaultConfigFilelocation ); - String defaultMappingFile="defaultMappingFile-"+Thread.currentThread().getName(); - try { - - Gson gson = new Gson(); - JsonObject body = gson.fromJson(incomingJsonString, JsonObject.class); - - JsonElement results; - for(int i=0;i<identifier.length;i++) - { - JsonObject obj; - if((obj=keyObject(body,identifier[i])).has(identifier[i])) - { - collectorIdentifierKey=identifier[i]; - results=obj.get(identifier[i]); - collectorIdentifierValue=results.getAsString(); - - } - - } - //collectorIdentifierValue = collectorIdentifierValue.substring(0, collectorIdentifierValue.length() - 4); - if(collectorIdentifierKey.equals("notify OID")) - { - collectorIdentifierValue = collectorIdentifierValue.substring(0, collectorIdentifierValue.length() - 4); - } - - - if (VESAdapterInitializer.getMappingFiles().containsKey(collectorIdentifierValue)) { - configFileData = VESAdapterInitializer.getMappingFiles().get(collectorIdentifierValue); - debugLogger.debug("Using Mapping file as Mapping file is available for collector identifier:{}",collectorIdentifierValue); - - } else { - - configFileData = VESAdapterInitializer.getMappingFiles().get(defaultMappingFile); - - debugLogger.debug("Using Default Mapping file as Mapping file is not available for Enterprise Id:{}",collectorIdentifierValue); - } - - Smooks smooksTemp = new Smooks(new ByteArrayInputStream(configFileData.getBytes(StandardCharsets.UTF_8))); - eventToSmooksMapping.put(collectorIdentifierKey, smooksTemp); - - VesEvent vesEvent = SmooksUtils.getTransformedObjectForInput(smooksTemp,incomingJsonString); - debugLogger.info("Incoming json transformed to VES format successfully:"+Thread.currentThread().getName()); - ObjectMapper objectMapper = new ObjectMapper(); - result = objectMapper.writeValueAsString(vesEvent); - debugLogger.info("Serialized VES json"); - } catch (JsonProcessingException exception) { - throw new VesException("Unable to convert pojo to VES format, Reason :{}", exception); - } catch (SAXException | IOException exception) { - //Invalid Mapping file - exception.printStackTrace(); - errorLogger.error("Dropping this Trap :{},Reason:{}", incomingJsonString, exception.getMessage()); - - } catch (JsonSyntaxException exception) { - // Invalid Trap - errorLogger.error("Dropping this Invalid json Trap :{}, Reason:{}", incomingJsonString, exception); - }catch (JsonParseException exception) { - // Invalid Trap - errorLogger.error("Dropping this Invalid json Trap :{}, Reason:{}", incomingJsonString, exception); - } - catch (RuntimeException exception) { - - exception.printStackTrace(); - errorLogger.error("Dropping this Trap :{},Reason:{}", incomingJsonString, exception.getMessage()); - - } - return result; - } - - /** - * Closes all open smooks' instances before bean is destroyed - */ - @PreDestroy - public void destroy() { - for (Smooks smooks : eventToSmooksMapping.values()) - smooks.close(); - debugLogger.warn("All Smooks objects closed"); - } - - public JsonObject keyObject(JsonObject object, String searchedKey) { - boolean exists = object.has(searchedKey); - JsonObject jsonObject = object; - - if(!exists) { - Iterator<?> keys = object.keySet().iterator(); - while( keys.hasNext() ) { - String key = (String)keys.next(); - if ( object.get(key) instanceof JsonObject ) { - - jsonObject=(JsonObject) object.get(key); - JsonObject obj = keyObject(jsonObject, searchedKey); - exists = obj.has(searchedKey); - } - } - } - - return jsonObject; - } - -} +/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018-2019 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.adapter;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.annotation.PreDestroy;
+
+import org.milyn.Smooks;
+import org.onap.dcaegen2.ves.domain.ves70.VesEvent;
+import org.onap.universalvesadapter.exception.ConfigFileSmooksConversionException;
+import org.onap.universalvesadapter.exception.VesException;
+import org.onap.universalvesadapter.service.VESAdapterInitializer;
+import org.onap.universalvesadapter.utils.CollectorConfigPropertyRetrival;
+import org.onap.universalvesadapter.utils.SmooksUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.xml.sax.SAXException;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.JsonSyntaxException;
+
+/**
+ * Default implementation of the Generic Adapter
+ *
+ * @author kmalbari
+ *
+ */
+
+@Component
+public class UniversalEventAdapter implements GenericAdapter {
+ private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger");
+ private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger");
+
+ @Value("${defaultConfigFilelocation}")
+ private String defaultConfigFilelocation;
+ private String collectorIdentifierValue;
+ private String collectorIdentifierKey;
+ private Map<String, Smooks> eventToSmooksMapping = new ConcurrentHashMap<>();
+
+ public UniversalEventAdapter() {
+
+ }
+
+ /**
+ * transforms JSON to VES format and and returns the ves Event
+ *
+ * @param IncomingJason,eventType
+ * @return ves Event
+ */
+ @Override
+ public String transform(String incomingJsonString)
+ throws ConfigFileSmooksConversionException, VesException {
+ String result = "";
+ String configFileData;
+
+ String identifier[]= CollectorConfigPropertyRetrival.getProperyArray("identifier",defaultConfigFilelocation );
+ String defaultMappingFile="defaultMappingFile-"+Thread.currentThread().getName();
+ try {
+
+ Gson gson = new Gson();
+ JsonObject body = gson.fromJson(incomingJsonString, JsonObject.class);
+
+ JsonElement results;
+ for(int i=0;i<identifier.length;i++)
+ {
+ JsonObject obj;
+ if((obj=keyObject(body,identifier[i])).has(identifier[i]))
+ {
+ collectorIdentifierKey=identifier[i];
+ results=obj.get(identifier[i]);
+ collectorIdentifierValue=results.getAsString();
+
+ }
+
+ }
+ //collectorIdentifierValue = collectorIdentifierValue.substring(0, collectorIdentifierValue.length() - 4);
+ if(collectorIdentifierKey.equals("notify OID"))
+ {
+ collectorIdentifierValue = collectorIdentifierValue.substring(0, collectorIdentifierValue.length() - 4);
+ }
+
+
+ if (VESAdapterInitializer.getMappingFiles().containsKey(collectorIdentifierValue)) {
+ configFileData = VESAdapterInitializer.getMappingFiles().get(collectorIdentifierValue);
+ debugLogger.debug("Using Mapping file as Mapping file is available for collector identifier:{}",collectorIdentifierValue);
+
+ } else {
+
+ configFileData = VESAdapterInitializer.getMappingFiles().get(defaultMappingFile);
+
+ debugLogger.debug("Using Default Mapping file as Mapping file is not available for Enterprise Id:{}",collectorIdentifierValue);
+ }
+
+ Smooks smooksTemp = new Smooks(new ByteArrayInputStream(configFileData.getBytes(StandardCharsets.UTF_8)));
+ eventToSmooksMapping.put(collectorIdentifierKey, smooksTemp);
+
+ VesEvent vesEvent = SmooksUtils.getTransformedObjectForInput(smooksTemp,incomingJsonString);
+ debugLogger.info("Incoming json transformed to VES format successfully:"+Thread.currentThread().getName());
+ ObjectMapper objectMapper = new ObjectMapper();
+ result = objectMapper.writeValueAsString(vesEvent);
+ debugLogger.info("Serialized VES json");
+ } catch (JsonProcessingException exception) {
+ throw new VesException("Unable to convert pojo to VES format, Reason :{}", exception);
+ } catch (SAXException | IOException exception) {
+ //Invalid Mapping file
+ exception.printStackTrace();
+ errorLogger.error("Dropping this Trap :{},Reason:{}", incomingJsonString, exception.getMessage());
+
+ } catch (JsonSyntaxException exception) {
+ // Invalid Trap
+ errorLogger.error("Dropping this Invalid json Trap :{}, Reason:{}", incomingJsonString, exception);
+ }catch (JsonParseException exception) {
+ // Invalid Trap
+ errorLogger.error("Dropping this Invalid json Trap :{}, Reason:{}", incomingJsonString, exception);
+ }
+ catch (RuntimeException exception) {
+
+ exception.printStackTrace();
+ errorLogger.error("Dropping this Trap :{},Reason:{}", incomingJsonString, exception.getMessage());
+
+ }
+ return result;
+ }
+
+ /**
+ * Closes all open smooks' instances before bean is destroyed
+ */
+ @PreDestroy
+ public void destroy() {
+ for (Smooks smooks : eventToSmooksMapping.values())
+ smooks.close();
+ debugLogger.warn("All Smooks objects closed");
+ }
+
+ public JsonObject keyObject(JsonObject object, String searchedKey) {
+ boolean exists = object.has(searchedKey);
+ JsonObject jsonObject = object;
+
+ if(!exists) {
+ Iterator<?> keys = object.keySet().iterator();
+ while( keys.hasNext() ) {
+ String key = (String)keys.next();
+ if ( object.get(key) instanceof JsonObject ) {
+
+ jsonObject=(JsonObject) object.get(key);
+ JsonObject obj = keyObject(jsonObject, searchedKey);
+ exists = obj.has(searchedKey);
+ }
+ }
+ }
+
+ return jsonObject;
+ }
+
+}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/utils/SmooksUtils.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/utils/SmooksUtils.java index 9b341d5..f0fe0ee 100644 --- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/utils/SmooksUtils.java +++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/utils/SmooksUtils.java @@ -1,76 +1,76 @@ -/* -* ============LICENSE_START======================================================= -* ONAP : DCAE -* ================================================================================ -* Copyright 2018 TechMahindra -*================================================================================= -* 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.universalvesadapter.utils; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Locale; -import javax.xml.transform.stream.StreamSource; -import org.milyn.Smooks; -import org.milyn.container.ExecutionContext; -import org.milyn.payload.StringResult; -import org.onap.dcaegen2.ves.domain.ves7_0.VesEvent; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -/** - * Utility methods for smooks module - * - * @author kmalbari - * - */ - - -public class SmooksUtils { - - - private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger"); - private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger"); - - /** - * converts the incoming json using passed smooks instance and return the pojo representation of VES event - * - * @param smooks smooks object for the event type - * @param incomingJsonString - * @return VES json's pojo representation - * @throws IOException - */ - public static VesEvent getTransformedObjectForInput(Smooks smooks, String incomingJsonString) { - - debugLogger.info("Transforming incoming json " ); - ExecutionContext executionContext = smooks.createExecutionContext(); - debugLogger.info("Context created"); - Locale defaultLocale = Locale.getDefault(); - Locale.setDefault(new Locale("en", "IE")); - - StringResult result = new StringResult(); - - smooks.filterSource(executionContext, new StreamSource(new ByteArrayInputStream(incomingJsonString.getBytes(StandardCharsets.UTF_8))), result); - - Locale.setDefault(defaultLocale); - VesEvent vesEvent = (VesEvent) executionContext.getBeanContext().getBean("vesEvent"); - debugLogger.debug("consversion successful to VES Event"); - - return vesEvent; - } - -} +/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018-2019 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.utils;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Locale;
+import javax.xml.transform.stream.StreamSource;
+import org.milyn.Smooks;
+import org.milyn.container.ExecutionContext;
+import org.milyn.payload.StringResult;
+import org.onap.dcaegen2.ves.domain.ves70.VesEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Utility methods for smooks module
+ *
+ * @author kmalbari
+ *
+ */
+
+
+public class SmooksUtils {
+
+
+ private static final Logger debugLogger = LoggerFactory.getLogger("debugLogger");
+ private static final Logger errorLogger = LoggerFactory.getLogger("errorLogger");
+
+ /**
+ * converts the incoming json using passed smooks instance and return the pojo representation of VES event
+ *
+ * @param smooks smooks object for the event type
+ * @param incomingJsonString
+ * @return VES json's pojo representation
+ * @throws IOException
+ */
+ public static VesEvent getTransformedObjectForInput(Smooks smooks, String incomingJsonString) {
+
+ debugLogger.info("Transforming incoming json " );
+ ExecutionContext executionContext = smooks.createExecutionContext();
+ debugLogger.info("Context created");
+ Locale defaultLocale = Locale.getDefault();
+ Locale.setDefault(new Locale("en", "IE"));
+
+ StringResult result = new StringResult();
+
+ smooks.filterSource(executionContext, new StreamSource(new ByteArrayInputStream(incomingJsonString.getBytes(StandardCharsets.UTF_8))), result);
+
+ Locale.setDefault(defaultLocale);
+ VesEvent vesEvent = (VesEvent) executionContext.getBeanContext().getBean("vesEvent");
+ debugLogger.debug("consversion successful to VES Event");
+
+ return vesEvent;
+ }
+
+}
|