Fix stream closed bug and improve test code 71/37671/1
authoryangyan <yangyanyj@chinamobile.com>
Thu, 22 Mar 2018 05:50:00 +0000 (13:50 +0800)
committeryangyan <yangyanyj@chinamobile.com>
Thu, 22 Mar 2018 05:50:32 +0000 (13:50 +0800)
Issue-ID: VFC-836
Change-Id: Ia3e4dac565b68205b4c59d6af01b217ff915f260
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/collector/TaskThread.java
ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/collector/alarm/AlarmTaskThread.java
ems/boco/src/main/java/org/onap/vfc/nfvo/emsdriver/collector/alarm/MessageUtil.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/collector/alarm/AlarmSocketServer.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/collector/alarm/AlarmTaskThreadTest.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/collector/alarm/HeartBeatTest.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/taskscheduler/CollectManagerTest.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/taskscheduler/CollectOderJobTest.java
ems/boco/src/test/java/org/onap/vfc/nfvo/emsdriver/taskscheduler/QuartzManagerTest.java

index 94d9c56..f4ffe06 100644 (file)
@@ -104,7 +104,7 @@ public class TaskThread implements Runnable {
                        String nename = ma.group(1);
                        boolean parseResult = false;
                        if (Constant.COLLECT_TYPE_CM.equalsIgnoreCase(collectVo.getType())) {
-                               parseResult = processCMXml(tempfile, nename, "CM");
+                               //parseResult = processCMXml(tempfile, nename, "CM");//The logic is not exist now, but need to add in the future
                        } else {
                                if (unfileName.indexOf(".csv") > -1) {//changed to -1 for coding practice as having ".csv" must have some some legal name
                                        parseResult = processPMCsv(tempfile);
@@ -373,7 +373,7 @@ public class TaskThread implements Runnable {
 
        }
 
-       private boolean processCMXml(File tempfile, String nename, String type) {
+/*     private boolean processCMXml(File tempfile, String nename, String type) {
 
                String csvpath = localPath + nename + "/" + type + "/";
                File csvpathfile = new File(csvpath);
@@ -499,7 +499,7 @@ public class TaskThread implements Runnable {
                                return false;
                }
                return true;
-       }
+       }*/
 
        private void setMessage(String message) {
                try {
index 6c6cebe..20dd4fd 100644 (file)
@@ -115,6 +115,7 @@ public class AlarmTaskThread extends Thread {
                if (retString == null) {
                        Thread.sleep(100);
                }
+               
                }//while
         return retString;
 
index fc5cd71..313ce63 100644 (file)
@@ -68,8 +68,8 @@ public class MessageUtil {
     public static Msg readOneMsg(BufferedInputStream is) throws IOException {
         byte[] inputB = new byte[9];
         Msg msg = new Msg();
+        DataInputStream dis = new DataInputStream(is);
         try( 
-            DataInputStream dis = new DataInputStream(is);
             ByteArrayInputStream bais = new ByteArrayInputStream(inputB);
             DataInputStream ois = new DataInputStream(bais)){
             dis.readFully(inputB);
@@ -87,6 +87,7 @@ public class MessageUtil {
             byte[] b = new byte[bodylength];
             dis.readFully(b);
             msg.newBodyfromBytes(b);
+          
         } catch (Exception e) {
             throw new IOException("readOneMsg",e);
         } 
index 68665c7..2dbc568 100644 (file)
@@ -58,21 +58,18 @@ public class AlarmSocketServer {
                         Msg msg = new Msg("ackLoginAlarm;result=succ;resDesc= ", MsgType.ACK_LOGIN_ALARM);
 
                         MessageUtil.writeMsg(msg, dos);
-                    }
-                    if (restlu.contains("reqHeartBeat")) {
+                    } else if (restlu.contains("reqHeartBeat")) {
                         Msg msg = new Msg("ackHeartBeat;result=succ;resDesc= ", MsgType.ACK_HEARTBEAT);
 
                         MessageUtil.writeMsg(msg, dos);
-                    }
-                    Msg msg = new Msg("realTimeAlarm;result=succ;resDesc= ", MsgType.REALTIME_ALARM);
-
-                    MessageUtil.writeMsg(msg, dos);
-
-
-                } else {
-                    System.out.println("len:" + len);
+                    } 
+                       Msg msg = new Msg("realTimeAlarm;result=succ;resDesc= ", MsgType.REALTIME_ALARM);
+                       MessageUtil.writeMsg(msg, dos);
+                    
+                }else {
+                    //System.out.println("len:" + len);
                     Thread.sleep(10);
-                }
+                    }
 
             }
         } catch (Exception e) {
index fc6c755..6b2b6c8 100644 (file)
@@ -25,68 +25,64 @@ import org.onap.vfc.nfvo.emsdriver.commons.model.CollectVo;
 
 public class AlarmTaskThreadTest {
 
-    private AlarmTaskThread taskThread;
-    private AlarmSocketServer server;
+       private AlarmTaskThread taskThread;
+       private AlarmSocketServer server;
 
-    @Before
-    public void setUp() throws IOException {
-        new Thread() {
-            public void run() {
-                server = new AlarmSocketServer();
-                server.socketServer();
-            }
-        }.start();
+       @Before
+       public void setUp() throws IOException {
+               new Thread() {
+                       public void run() {
+                               server = new AlarmSocketServer();
+                               server.socketServer();
+                       }
+               }.start();
+               CollectVo collectVo = new CollectVo();
+               collectVo.setIP("127.0.0.1");
+               collectVo.setPort("12345");
+               collectVo.setUser("user");
+               collectVo.setPassword("12345");
+               collectVo.setReadTimeout("10000");
+               taskThread = new AlarmTaskThread(collectVo);
+       }
 
-        CollectVo collectVo = new CollectVo();
-        collectVo.setIP("127.0.0.1");
-        collectVo.setPort("12345");
-        collectVo.setUser("user");
-        collectVo.setPassword("12345");
-        taskThread = new AlarmTaskThread(collectVo);
-    }
-
-    @Test
-    public void build120Alarm() {
-        String alarm = "{\"alarmSeq\":495,\"alarmTitle\":\"LTE cell outage\",\"alarmStatus\":1,\"alarmType\":\"processingErrorAlarm\"}";
-        try {
-            new Thread() {
-                public void run() {
-                    try {
-                        Thread.sleep(3000);
-
-                        server.stop();
-                        taskThread.setStop(true);
-                        taskThread.close();
-                    } catch (InterruptedException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                    }
-                }
-            }.start();
-
-            taskThread.init();
-            taskThread.receive();
-
-
-        } catch (Exception e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        assertNotNull(alarm);
-    }
+       @Test
+       public void build120Alarm() {
+               String alarm = "{\"alarmSeq\":495,\"alarmTitle\":\"LTE cell outage\",\"alarmStatus\":1,\"alarmType\":\"processingErrorAlarm\"}";
+               try {
+                       new Thread() {
+                               public void run() {
+                                       try {
+                                               Thread.sleep(3000);
+                                               server.stop();
+                                               taskThread.setStop(true);
+                                               taskThread.close();
+                                       } catch (InterruptedException e) {
+                                               // TODO Auto-generated catch block
+                                               e.printStackTrace();
+                                       }
+                               }
+                       }.start();
+                       taskThread.init();
+                       taskThread.receive();
+               } catch (Exception e) {
+                       // TODO Auto-generated catch block
+                       e.printStackTrace();
+               }
+               assertNotNull(alarm);
+       }
 
-    @Test
-    public void runAlarmTaskThread(){
-       try {
-               taskThread.run();
-                       Thread.sleep(3000);
-               taskThread.setStop(true);
-               server.stop();
+       @Test
+       public void runAlarmTaskThread() {
+               try {
+                       taskThread.run();
+                       Thread.sleep(10000);
+                       taskThread.setStop(true);
+                       server.stop();
                } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
 
-    }
-  
+       }
+
 }
index 301d876..2ffb589 100644 (file)
@@ -38,7 +38,7 @@ public class HeartBeatTest {
     }  
        
     @Test
-       public void runHeartBeatThread(){
+       public void testHeartBeatThread(){
                try {
                        Socket socket = new Socket("127.0.0.1",12345);
                        Msg msg = MessageUtil.putHeartBeatMsg(1);
index fb420ca..4ed614f 100644 (file)
@@ -33,9 +33,14 @@ public class CollectManagerTest {
                configurationInterface = new ConfigurationImp();
                collectManager = new CollectManager();
                collectManager.setConfigurationInterface(configurationInterface);
-               collectManager.dispose();
+               //collectManager.dispose();
        }
 
+       @Test
+       public void testDispose(){
+               collectManager.dispose();
+               
+       }
        @Test
        public void test() {
                Thread t = new Thread(collectManager);
index b7847b4..fedf50c 100644 (file)
 \r
 package org.onap.vfc.nfvo.emsdriver.taskscheduler;\r
 \r
+import java.util.Date;\r
+\r
 import org.junit.Test;\r
 import org.onap.vfc.nfvo.emsdriver.commons.model.CollectVo;\r
 import org.quartz.Job;\r
+import org.quartz.JobDetail;\r
+import org.quartz.Scheduler;\r
+import org.quartz.SchedulerException;\r
+import org.quartz.SimpleTrigger;\r
+import org.quartz.impl.StdSchedulerFactory;\r
 \r
 public class CollectOderJobTest {\r
-       \r
+\r
        @Test\r
-       public void executeCollectOderJob(){\r
+       public void testExecuteCollectOderJob1() {\r
                CollectVo collectVo = new CollectVo();\r
                collectVo.setEmsName("zteEms");\r
                collectVo.setType("ems-p");\r
                collectVo.setIP("127.0.0.1");\r
                collectVo.setCrontab("*/5 * * * * ?");\r
-               \r
-                 String jobName = collectVo.getEmsName() + "_" + collectVo.getType() + collectVo.getIP();\r
-          Job job = new CollectOderJob();\r
-          String jobClass = job.getClass().getName();\r
-          String time = collectVo.getCrontab();\r
-          if (time != null && !"".equals(time)) {\r
-              QuartzManager.addJob(jobName, jobClass, time, collectVo);\r
-              try {\r
+               String jobName = collectVo.getEmsName() + "_" + collectVo.getType()\r
+                               + collectVo.getIP();\r
+               Job job = new CollectOderJob();\r
+               String jobClass = job.getClass().getName();\r
+               String time = collectVo.getCrontab();\r
+               if (time != null && !"".equals(time)) {\r
+                       QuartzManager.addJob(jobName, jobClass, time, collectVo);\r
+                       try {\r
                                Thread.sleep(10);\r
                        } catch (InterruptedException e) {\r
                                // TODO Auto-generated catch block\r
                                e.printStackTrace();\r
-                       } finally{\r
-                     QuartzManager.removeJob(jobName);                         \r
+                       } finally {\r
+                               QuartzManager.removeJob(jobName);\r
                        }\r
-          } else {\r
-              System.out.println("type =[" + collectVo.getType() + "]ip=[" + collectVo.getIP() + "] crontab is null");\r
-          }\r
-               \r
+               } else {\r
+                       System.out.println("type =[" + collectVo.getType() + "]ip=["\r
+                                       + collectVo.getIP() + "] crontab is null");\r
+               }\r
+\r
        }\r
 \r
-       \r
+       @Test\r
+       public void testExecuteCollectOderJob2() {\r
+               CollectVo collectVo = new CollectVo();\r
+               collectVo.setEmsName("zteEms");\r
+               collectVo.setType("ems-p");\r
+               collectVo.setIP("127.0.0.1");\r
+               collectVo.setCrontab("*/5 * * * * ?");\r
+\r
+               try {\r
+                       Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();\r
+                       SimpleTrigger trigger = new SimpleTrigger("trigger1",\r
+                                       "trigger_group");\r
+                       trigger.setStartTime(new Date());\r
+                       trigger.setRepeatInterval(1);\r
+                       trigger.setRepeatCount(0);\r
+\r
+                       String jobName = collectVo.getEmsName() + "_" + collectVo.getType()\r
+                                       + collectVo.getIP();\r
+                       Job job = new CollectOderJob();\r
+                       String jobClass = job.getClass().getName();\r
+                       JobDetail jobDetail;\r
+                       jobDetail = new JobDetail(jobName, "job_group",\r
+                                       Class.forName(jobClass));\r
+\r
+                       scheduler.scheduleJob(jobDetail, trigger);\r
+                       scheduler.start();\r
+\r
+                       Thread.sleep(10000);\r
+                       scheduler.shutdown(true);\r
+\r
+               } catch (ClassNotFoundException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (SchedulerException e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               } catch (InterruptedException e) {\r
+                       e.printStackTrace();\r
+               }\r
+       }\r
 }\r
index efc023c..3e41725 100644 (file)
@@ -15,8 +15,6 @@
  */
 package org.onap.vfc.nfvo.emsdriver.taskscheduler;
 
-import static org.junit.Assert.*;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.onap.vfc.nfvo.emsdriver.commons.model.CollectVo;
@@ -39,5 +37,11 @@ public class QuartzManagerTest {
                QuartzManager.removeJob("QuartzManager");
                
        }
+       
+       @Test
+       public void modifyJobTime(){
+               QuartzManager.addJob("QuartzManager", "org.onap.vfc.nfvo.emsdriver.taskscheduler", "*/5 * * * * ?", collectVo);
+               QuartzManager.modifyJobTime("QuartzManager", "*/10 * * * * ?", collectVo);
+       }
 
 }