optimization and sonar fixes 55/32255/1
authorVijay VK <vv770d@att.com>
Tue, 20 Feb 2018 14:30:54 +0000 (14:30 +0000)
committerVENKATESH KUMAR <vv770d@att.com>
Tue, 20 Feb 2018 14:31:55 +0000 (09:31 -0500)
Change-Id: I47b2c429abc2a8c795f9faa7739d8d75f67ed287
Signed-off-by: VENKATESH KUMAR <vv770d@att.com>
Issue-ID: DCAEGEN2-227

src/main/java/org/onap/dcae/commonFunction/CommonStartup.java
src/main/java/org/onap/dcae/commonFunction/EventPublisher.java [deleted file]
src/test/java/org/onap/dcae/vestest/TestEventProcessor.java
src/test/java/org/onap/dcae/vestest/TestSchemaValidation.java

index 70da774..6b5502f 100644 (file)
@@ -202,7 +202,7 @@ public class CommonStartup extends NsaBaseEndpoint implements Runnable {
                                | InterruptedException e) {\r
                        CommonStartup.eplog.error("FATAL_STARTUP_ERROR" + e.getMessage());\r
                        throw new RuntimeException(e);\r
-               } catch (Throwable e) {\r
+               } catch (Exception e) {\r
                        System.err.println("Uncaught exception - " + e.getMessage());\r
                        CommonStartup.eplog.error("FATAL_ERROR" + e.getMessage());\r
                        e.printStackTrace(System.err);\r
diff --git a/src/main/java/org/onap/dcae/commonFunction/EventPublisher.java b/src/main/java/org/onap/dcae/commonFunction/EventPublisher.java
deleted file mode 100644 (file)
index 7dbb8f3..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * PROJECT
- * ================================================================================
- * Copyright (C) 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.commonFunction;
-
-import com.att.nsa.cambria.client.CambriaBatchingPublisher;
-import com.att.nsa.cambria.client.CambriaClientBuilders;
-import com.att.nsa.clock.SaClock;
-import com.att.nsa.logging.LoggingContext;
-import com.att.nsa.logging.log4j.EcompFields;
-import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-public class EventPublisher {
-
-       private static final String VES_UNIQUE_ID = "VESuniqueId";
-       private static EventPublisher instance;
-       private static CambriaBatchingPublisher pub;
-
-       private String streamid = "";
-       private String ueburl = "";
-       private String topic = "";
-       private String authuser = "";
-       private String authpwd = "";
-
-       private static Logger log = LoggerFactory.getLogger(EventPublisher.class);
-
-       private EventPublisher(String newstreamid) {
-
-               streamid = newstreamid;
-               try {
-                       ueburl = DmaapPropertyReader.getInstance(CommonStartup.cambriaConfigFile).dmaap_hash
-                                       .get(streamid + ".cambria.url");
-
-                       if (ueburl == null) {
-                               ueburl = DmaapPropertyReader.getInstance(CommonStartup.cambriaConfigFile).dmaap_hash
-                                               .get(streamid + ".cambria.hosts");
-                       }
-                       topic = DmaapPropertyReader.getInstance(CommonStartup.cambriaConfigFile)
-                                       .getKeyValue(streamid + ".cambria.topic");
-                       authuser = DmaapPropertyReader.getInstance(CommonStartup.cambriaConfigFile)
-                                       .getKeyValue(streamid + ".basicAuthUsername");
-
-                       if (authuser != null) {
-                               authpwd = DmaapPropertyReader.getInstance(CommonStartup.cambriaConfigFile).dmaap_hash
-                                               .get(streamid + ".basicAuthPassword");
-                       }
-               } catch (Exception e) {
-                       log.error("CambriaClientBuilders connection reader exception : " + e.getMessage());
-
-               }
-
-       }
-
-       /**
-        * Returns event publisher
-        *
-        * @param streamid
-        *            stream id
-        * @return event publisher
-        */
-       public static synchronized EventPublisher getInstance(String streamid) {
-               if (instance == null) {
-                       instance = new EventPublisher(streamid);
-               }
-               if (!instance.streamid.equals(streamid)) {
-                       instance.closePublisher();
-                       instance = new EventPublisher(streamid);
-               }
-               return instance;
-
-       }
-
-       /**
-        *
-        * @param event
-        *            json object for event
-        */
-       public synchronized void sendEvent(JSONObject event) {
-
-               log.debug("EventPublisher.sendEvent: instance for publish is ready");
-
-               if (event.has(VES_UNIQUE_ID)) {
-                       String uuid = event.get(VES_UNIQUE_ID).toString();
-                       LoggingContext localLC = VESLogger.getLoggingContextForThread(uuid);
-                       localLC.put(EcompFields.kBeginTimestampMs, SaClock.now());
-                       log.debug("Removing VESuniqueid object from event");
-                       event.remove(VES_UNIQUE_ID);
-               }
-
-               try {
-
-                       if (authuser != null) {
-                               log.debug(String.format("URL:%sTOPIC:%sAuthUser:%sAuthpwd:%s", ueburl, topic, authuser, authpwd));
-                               pub = new CambriaClientBuilders.PublisherBuilder().usingHosts(ueburl).onTopic(topic).usingHttps()
-                                               .authenticatedByHttp(authuser, authpwd).logSendFailuresAfter(5)
-                                               // .logTo(log)
-                                               // .limitBatch(100, 10)
-                                               .build();
-                       } else {
-
-                               log.debug(String.format("URL:%sTOPIC:%s", ueburl, topic));
-                               pub = new CambriaClientBuilders.PublisherBuilder().usingHosts(ueburl).onTopic(topic)
-                                               // .logTo(log)
-                                               .logSendFailuresAfter(5)
-                                               // .limitBatch(100, 10)
-                                               .build();
-
-                       }
-
-                       int pendingMsgs = pub.send("MyPartitionKey", event.toString());
-                       // this.wait(2000);
-
-                       if (pendingMsgs > 100) {
-                               log.info("Pending Message Count=" + pendingMsgs);
-                       }
-
-                       log.info("pub.send invoked - no error");
-                       CommonStartup.oplog.info(String.format("URL:%sTOPIC:%sEvent Published:%s", ueburl, topic, event));
-
-               } catch (IOException | GeneralSecurityException | IllegalArgumentException e) {
-                       log.error("Unable to publish event: {} streamid: {}. Exception: {}", event, streamid, e);
-               } finally {
-                       closePublisher();
-               }
-
-       }
-
-       public synchronized void closePublisher() {
-
-               try {
-                       if (pub != null) {
-                               final List<?> stuck = pub.close(20, TimeUnit.SECONDS);
-                               if (!stuck.isEmpty()) {
-                                       log.error(stuck.size() + " messages unsent");
-                               }
-                       }
-               } catch (InterruptedException | IOException e) {
-                       log.error("Caught Exception on Close event: {}", e);
-               }
-
-       }
-}
index 4767295..821e7a1 100644 (file)
-/*-
- * ============LICENSE_START=======================================================
- * PROJECT
- * ================================================================================
- * Copyright (C) 2017-2018 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.vestest;
-
-import static org.junit.Assert.*;
-
-
-import java.io.File;
-import java.net.URL;
-import java.util.Map;
-
-import org.json.simple.JSONObject;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.dcae.commonFunction.CommonStartup;
-import org.onap.dcae.commonFunction.EventProcessor;
-import org.onap.dcae.commonFunction.EventPublisher;
-import org.onap.dcae.commonFunction.EventPublisherHash;
-import org.onap.dcae.controller.LoadDynamicConfig;
-import org.onap.dcae.commonFunction.DmaapPropertyReader;
-
-import com.att.nsa.cambria.client.CambriaBatchingPublisher;
-import com.google.gson.JsonParser;
-
-public class TestEventProcessor {
-
-       EventProcessor ec;
-       String ev= "{\"event\": {\"commonEventHeader\": {       \"reportingEntityName\": \"VM name will be provided by ECOMP\", \"startEpochMicrosec\": 1477012779802988,\"lastEpochMicrosec\": 1477012789802988,\"eventId\": \"83\",\"sourceName\": \"Dummy VM name - No Metadata available\",\"sequence\": 83,\"priority\": \"Normal\",\"functionalRole\": \"vFirewall\",\"domain\": \"measurementsForVfScaling\",\"reportingEntityId\": \"VM UUID will be provided by ECOMP\",\"sourceId\": \"Dummy VM UUID - No Metadata available\",\"version\": 1.1},\"measurementsForVfScalingFields\": {\"measurementInterval\": 10,\"measurementsForVfScalingVersion\": 1.1,\"vNicUsageArray\": [{\"multicastPacketsIn\": 0,\"bytesIn\": 3896,\"unicastPacketsIn\": 0, \"multicastPacketsOut\": 0,\"broadcastPacketsOut\": 0,          \"packetsOut\": 28,\"bytesOut\": 12178,\"broadcastPacketsIn\": 0,\"packetsIn\": 58,\"unicastPacketsOut\": 0,\"vNicIdentifier\": \"eth0\"}]}}}";
-       String testinput;
-       
-       @Before
-       public void setUp() throws Exception {
-               CommonStartup.streamid="fault=sec_fault|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert|voiceQuality=ves_voicequality|sipSignaling=ves_sipsignaling";
-               CommonStartup.eventTransformFlag = 1;
-               testinput = "src/test/resources/testDmaapConfig_ip.json";
-       
-       }
-
-       @After
-       public void tearDown() throws Exception {
-       }
-
-       @Test
-       public void testLoad() {
-
-       
-               EventProcessor ec = new EventProcessor();
-               
-               ec.event=new org.json.JSONObject(ev);
-               
-               ec.overrideEvent();
-               //event.commonEventHeader.sourceName
-               Boolean flag = ec.event.getJSONObject("event").getJSONObject("commonEventHeader").has("sourceName");
-               assertEquals(true, flag);
-       }
-
-
-       @Test
-       public void testpublisher() {
-
-           DmaapPropertyReader dr;
-               EventPublisher ep = null;
-       
-           Boolean flag = false;
-           dr = new DmaapPropertyReader(testinput);
-
-                               //new EventPublisher("sec_fault_ueb");
-               ep = EventPublisher.getInstance("sec_fault_ueb");
-               //event.commonEventHeader.sourceName
-               
-               if (ep.equals(null))
-               {
-                       flag = false;
-               }
-               else
-               {
-                       flag = true;
-               }
-               assertEquals(true, flag);
-       }
-       
-       
-       @Test
-       public void testpublisherhashclass() {
-
-           DmaapPropertyReader dr;
-           EventPublisherHash eph = null;
-           
-           Boolean flag = false;
-           dr = new DmaapPropertyReader(testinput);
-               eph = EventPublisherHash.getInstance();
-       
-               
-               if (eph.equals(null))
-               {
-                       flag = false;
-               }
-               else
-               {
-                       flag = true;
-               }
-               assertEquals(true, flag);
-               
-               
-       }
-       
-       @Test
-       public void testpublisherhashclassload() {
-
-           DmaapPropertyReader dr;
-           EventPublisherHash eph = null;
-           
-           Boolean flag = false;
-           dr = new DmaapPropertyReader(testinput);
-               eph = EventPublisherHash.getInstance();
-               EventProcessor ec = new EventProcessor();
-               ec.event=new org.json.JSONObject(ev);   
-               CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";
-                  
-               CambriaBatchingPublisher pub = eph.Dmaaphash("sec_fault_ueb");
-               
-               if (pub == null || pub.equals(null))
-               {
-                       flag = false;
-               }
-               else
-               {
-                       flag = true;
-               }
-               assertEquals(true, flag);
-               
-       }               
-
-       @Test
-       public void testpublisherhashSend() {
-
-           DmaapPropertyReader dr;
-           EventPublisherHash eph = null;
-           
-           Boolean flag = true;
-           dr = new DmaapPropertyReader(testinput);
-               eph = EventPublisherHash.getInstance();
-
-               
-               EventProcessor ec = new EventProcessor();
-               ec.event=new org.json.JSONObject(ev);
-               CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";
-               eph.sendEvent(ec.event, "sec_fault_ueb");
-               
-               assertEquals(true, flag);
-               
-       }
-}
-
+/*-\r
+ * ============LICENSE_START=======================================================\r
+ * PROJECT\r
+ * ================================================================================\r
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ */\r
+package org.onap.dcae.vestest;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+\r
+import org.junit.After;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.onap.dcae.commonFunction.CommonStartup;\r
+import org.onap.dcae.commonFunction.DmaapPropertyReader;\r
+import org.onap.dcae.commonFunction.EventProcessor;\r
+import org.onap.dcae.commonFunction.EventPublisherHash;\r
+\r
+import com.att.nsa.cambria.client.CambriaBatchingPublisher;\r
+\r
+public class TestEventProcessor {\r
+\r
+       EventProcessor ec;\r
+       String ev= "{\"event\": {\"commonEventHeader\": {       \"reportingEntityName\": \"VM name will be provided by ECOMP\", \"startEpochMicrosec\": 1477012779802988,\"lastEpochMicrosec\": 1477012789802988,\"eventId\": \"83\",\"sourceName\": \"Dummy VM name - No Metadata available\",\"sequence\": 83,\"priority\": \"Normal\",\"functionalRole\": \"vFirewall\",\"domain\": \"measurementsForVfScaling\",\"reportingEntityId\": \"VM UUID will be provided by ECOMP\",\"sourceId\": \"Dummy VM UUID - No Metadata available\",\"version\": 1.1},\"measurementsForVfScalingFields\": {\"measurementInterval\": 10,\"measurementsForVfScalingVersion\": 1.1,\"vNicUsageArray\": [{\"multicastPacketsIn\": 0,\"bytesIn\": 3896,\"unicastPacketsIn\": 0, \"multicastPacketsOut\": 0,\"broadcastPacketsOut\": 0,          \"packetsOut\": 28,\"bytesOut\": 12178,\"broadcastPacketsIn\": 0,\"packetsIn\": 58,\"unicastPacketsOut\": 0,\"vNicIdentifier\": \"eth0\"}]}}}";\r
+       String testinput;\r
+       \r
+       @Before\r
+       public void setUp() throws Exception {\r
+               CommonStartup.streamid="fault=sec_fault|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert|voiceQuality=ves_voicequality|sipSignaling=ves_sipsignaling";\r
+               CommonStartup.eventTransformFlag = 1;\r
+               testinput = "src/test/resources/testDmaapConfig_ip.json";\r
+       \r
+       }\r
+\r
+       @After\r
+       public void tearDown() throws Exception {\r
+       }\r
+\r
+       @Test\r
+       public void testLoad() {\r
+\r
+       \r
+               EventProcessor ec = new EventProcessor();\r
+               \r
+               ec.event=new org.json.JSONObject(ev);\r
+               \r
+               ec.overrideEvent();\r
+               //event.commonEventHeader.sourceName\r
+               Boolean flag = ec.event.getJSONObject("event").getJSONObject("commonEventHeader").has("sourceName");\r
+               assertEquals(true, flag);\r
+       }\r
+\r
+\r
+       @Test\r
+       public void testpublisherhashclass() {\r
+\r
+           DmaapPropertyReader dr = null;\r
+           EventPublisherHash eph = null;\r
+           \r
+           Boolean flag = false;\r
+           dr = new DmaapPropertyReader(testinput);\r
+               eph = EventPublisherHash.getInstance();\r
+       \r
+               \r
+               if (eph.equals(null))\r
+               {\r
+                       flag = false;\r
+               }\r
+               else\r
+               {\r
+                       flag = true;\r
+               }\r
+               assertEquals(true, flag);\r
+               \r
+               \r
+       }\r
+       \r
+       @Test\r
+       public void testpublisherhashclassload() {\r
+\r
+           DmaapPropertyReader dr;\r
+           EventPublisherHash eph = null;\r
+           \r
+           Boolean flag = false;\r
+           dr = new DmaapPropertyReader(testinput);\r
+               eph = EventPublisherHash.getInstance();\r
+               EventProcessor ec = new EventProcessor();\r
+               ec.event=new org.json.JSONObject(ev);   \r
+               CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";\r
+                  \r
+               CambriaBatchingPublisher pub = eph.Dmaaphash("sec_fault_ueb");\r
+               \r
+               if (pub == null || pub.equals(null))\r
+               {\r
+                       flag = false;\r
+               }\r
+               else\r
+               {\r
+                       flag = true;\r
+               }\r
+               assertEquals(true, flag);\r
+               \r
+       }               \r
+\r
+       @Test\r
+       public void testpublisherhashSend() {\r
+\r
+           DmaapPropertyReader dr;\r
+           EventPublisherHash eph = null;\r
+           \r
+           Boolean flag = true;\r
+           dr = new DmaapPropertyReader(testinput);\r
+               eph = EventPublisherHash.getInstance();\r
+\r
+               \r
+               EventProcessor ec = new EventProcessor();\r
+               ec.event=new org.json.JSONObject(ev);\r
+               CommonStartup.cambriaConfigFile="src/test/resources/testDmaapConfig_ip.json";\r
+               eph.sendEvent(ec.event, "sec_fault_ueb");\r
+               \r
+               assertEquals(true, flag);\r
+               \r
+       }\r
+}\r
+\r
index af8a62f..816b328 100644 (file)
-/*-
- * ============LICENSE_START=======================================================
- * PROJECT
- * ================================================================================
- * Copyright (C) 2017-2018 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.vestest;
-
-import static org.junit.Assert.*;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.simple.JSONObject;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.onap.dcae.commonFunction.CommonStartup;
-import org.onap.dcae.restapi.endpoints.EventReceipt;
-
-import com.att.nsa.drumlin.service.framework.DrumlinServlet;
-import com.att.nsa.drumlin.service.framework.context.DrumlinRequestContext;
-import com.google.gson.JsonParser;
-
-public class TestSchemaValidation {
-
-        CommonStartup cl;
-        String schema = null;
-        String payload = null;
-        String payloadinvalid = null;
-
-        @Before
-        public void setUp() throws Exception {
-
-                schema = new JsonParser().parse(new FileReader("etc/CommonEventFormat_27.2.json")).toString();
-                payload = new JsonParser().parse(new FileReader("src/test/resources/VES_valid.txt")).toString();
-                payloadinvalid = new JsonParser().parse(new FileReader("src/test/resources/VES_invalid.txt")).toString();
-
-        }
-
-        @After
-        public void tearDown() throws Exception {
-        }
-
-        @Test
-        public void testsuccessfulschemavalidation() {
-
-                String valresult = CommonStartup.schemavalidate(payload, schema);
-                System.out.println("testsuccessfulschemavalidation:" + valresult);
-                Assert.assertEquals(valresult, "true");
-        }
-
-        @Test
-        public void testunsuccessfulschemavalidation() {
-                String valresult = null;
-                valresult = CommonStartup.schemavalidate(payloadinvalid, schema);
-                System.out.println("testunsuccessfulschemavalidation:" + valresult);
-                Assert.assertFalse(valresult.equals("true"));
-
-        }
-
-/*
-        @Test
-        public void testeventReceipt() {
-
-                DrumlinServlet webServlet = new DrumlinServlet();
-                DrumlinRequestContext ctx = new DrumlinRequestContext(webServlet, null, null, null, null, null);
-                EventReceipt er= new EventReceipt();
-                try {
-                       EventReceipt.receiveVESEvent(null);
-                } catch ( NullPointerException   e) {
-                     
-                       e.printStackTrace();
-                }
-                Assert.assertEquals("true", "true");
-
-        }*/
-
-        @Test
-        public void testsafeclosefr() {
-
-
-                FileReader fr;
-                try {
-                        fr = new FileReader("etc/CommonEventFormat_27.2.json");
-                        EventReceipt.safeClose(fr);
-                } catch (FileNotFoundException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                }
-                Assert.assertEquals("true", "true");
-
-        }
-
-        @Test
-        public void testsafecloseis() {
-
-                        InputStream is = new ByteArrayInputStream(StandardCharsets.UTF_16.encode("randomstring").array());
-                        EventReceipt.safeClose(is);
-                        Assert.assertEquals("true", "true");
-
-        }
-}
-
+/*-\r
+ * ============LICENSE_START=======================================================\r
+ * PROJECT\r
+ * ================================================================================\r
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *      http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ */\r
+package org.onap.dcae.vestest;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.InputStream;\r
+import java.nio.charset.StandardCharsets;\r
+\r
+import org.junit.After;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.onap.dcae.commonFunction.CommonStartup;\r
+import org.onap.dcae.restapi.endpoints.EventReceipt;\r
+\r
+import com.google.gson.JsonParser;\r
+\r
+public class TestSchemaValidation {\r
+\r
+        CommonStartup cl;\r
+        String schema = null;\r
+        String payload = null;\r
+        String payloadinvalid = null;\r
+\r
+        @Before\r
+        public void setUp() throws Exception {\r
+\r
+                schema = new JsonParser().parse(new FileReader("etc/CommonEventFormat_27.2.json")).toString();\r
+                payload = new JsonParser().parse(new FileReader("src/test/resources/VES_valid.txt")).toString();\r
+                payloadinvalid = new JsonParser().parse(new FileReader("src/test/resources/VES_invalid.txt")).toString();\r
+\r
+        }\r
+\r
+        @After\r
+        public void tearDown() throws Exception {\r
+        }\r
+\r
+        @Test\r
+        public void testsuccessfulschemavalidation() {\r
+\r
+                String valresult = CommonStartup.schemavalidate(payload, schema);\r
+                System.out.println("testsuccessfulschemavalidation:" + valresult);\r
+                Assert.assertEquals(valresult, "true");\r
+        }\r
+\r
+        @Test\r
+        public void testunsuccessfulschemavalidation() {\r
+                String valresult = null;\r
+                valresult = CommonStartup.schemavalidate(payloadinvalid, schema);\r
+                System.out.println("testunsuccessfulschemavalidation:" + valresult);\r
+                Assert.assertFalse(valresult.equals("true"));\r
+\r
+        }\r
+\r
+/*\r
+        @Test\r
+        public void testeventReceipt() {\r
+\r
+                DrumlinServlet webServlet = new DrumlinServlet();\r
+                DrumlinRequestContext ctx = new DrumlinRequestContext(webServlet, null, null, null, null, null);\r
+                EventReceipt er= new EventReceipt();\r
+                try {\r
+                       EventReceipt.receiveVESEvent(null);\r
+                } catch ( NullPointerException   e) {\r
+                     \r
+                       e.printStackTrace();\r
+                }\r
+                Assert.assertEquals("true", "true");\r
+\r
+        }*/\r
+\r
+        @Test\r
+        public void testsafeclosefr() {\r
+\r
+\r
+                FileReader fr;\r
+                try {\r
+                        fr = new FileReader("etc/CommonEventFormat_27.2.json");\r
+                        EventReceipt.safeClose(fr);\r
+                } catch (FileNotFoundException e) {\r
+                        // TODO Auto-generated catch block\r
+                        e.printStackTrace();\r
+                }\r
+                Assert.assertEquals("true", "true");\r
+\r
+        }\r
+\r
+        @Test\r
+        public void testsafecloseis() {\r
+\r
+                        InputStream is = new ByteArrayInputStream(StandardCharsets.UTF_16.encode("randomstring").array());\r
+                        EventReceipt.safeClose(is);\r
+                        Assert.assertEquals("true", "true");\r
+\r
+        }\r
+}\r
+\r