fix alarm and performance analysis bug 87/48487/1
authorzhangab <zhanganbing@chinamobile.com>
Tue, 22 May 2018 12:38:13 +0000 (20:38 +0800)
committerzhangab <zhanganbing@chinamobile.com>
Tue, 22 May 2018 12:38:19 +0000 (20:38 +0800)
Change-Id: Idf0e7eed078e9e4de65529f94aa05786276d0d40
Issue-ID: USECASEUI-119
Signed-off-by: zhangab <zhanganbing@chinamobile.com>
27 files changed:
server/src/main/java/org/onap/usecaseui/server/bean/AlarmsHeader.java
server/src/main/java/org/onap/usecaseui/server/bean/AlarmsInformation.java
server/src/main/java/org/onap/usecaseui/server/bean/PerformanceHeader.java
server/src/main/java/org/onap/usecaseui/server/bean/PerformanceInformation.java
server/src/main/java/org/onap/usecaseui/server/controller/AlarmController.java
server/src/main/java/org/onap/usecaseui/server/controller/PerformanceController.java
server/src/main/java/org/onap/usecaseui/server/service/AlarmsInformationService.java
server/src/main/java/org/onap/usecaseui/server/service/PerformanceInformationService.java
server/src/main/java/org/onap/usecaseui/server/service/impl/AlarmsHeaderServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/AlarmsInformationServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/PerformanceHeaderServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/service/impl/PerformanceInformationServiceImpl.java
server/src/main/java/org/onap/usecaseui/server/util/DateUtils.java
server/src/main/java/org/onap/usecaseui/server/util/DmaapSubscriber.java
server/src/main/java/org/onap/usecaseui/server/util/UuiCommonUtil.java
server/src/test/java/org/onap/usecaseui/server/bean/AlarmsHeaderTest.java
server/src/test/java/org/onap/usecaseui/server/bean/AlarmsInformationTest.java
server/src/test/java/org/onap/usecaseui/server/bean/PerformanceHeaderTest.java
server/src/test/java/org/onap/usecaseui/server/bean/PerformanceInformationTest.java
server/src/test/java/org/onap/usecaseui/server/controller/AlarmControllerTest.java
server/src/test/java/org/onap/usecaseui/server/service/impl/AlarmsHeaderServiceImplTest.java
server/src/test/java/org/onap/usecaseui/server/service/impl/AlarmsInformationServiceImplTest.java
server/src/test/java/org/onap/usecaseui/server/service/impl/PerformanceHeaderServiceImplTest.java
server/src/test/java/org/onap/usecaseui/server/service/impl/PerformanceInformationServiceImplTest.java
standalone/src/main/assembly/bin/run.sh
standalone/src/main/assembly/resources/bin/initDB.sh
standalone/src/main/assembly/resources/dbscripts/mysql/usecase-ui-createobj.sql

index 188507d..62ef39a 100644 (file)
@@ -111,14 +111,6 @@ public class AlarmsHeader implements Serializable{
        
        @Column(name = "status")
        private String status;
-       
-       @Column(name = "createTime")
-       private Date createTime;
-       
-       @Column(name = "updateTime")
-       private Date updateTime;
-
-
 
        public AlarmsHeader() {
        }
@@ -156,8 +148,6 @@ public class AlarmsHeader implements Serializable{
                this.vfStatus = vfStatus;
                this.alarmInterfaceA = alarmInterfaceA;
                this.status = status;
-               this.createTime = createTime;
-               this.updateTime = updateTime;
        }
 
        public String getVersion() {
@@ -368,22 +358,6 @@ public class AlarmsHeader implements Serializable{
                this.status = status;
        }
 
-       public Date getCreateTime() {
-               return createTime;
-       }
-
-       public void setCreateTime(Date createTime) {
-               this.createTime = createTime;
-       }
-
-       public Date getUpdateTime() {
-               return updateTime;
-       }
-
-       public void setUpdateTime(Date updateTime) {
-               this.updateTime = updateTime;
-       }
-
        public String getId() {
                return id;
        }
index db02827..f39e3dd 100644 (file)
@@ -16,7 +16,6 @@
 package org.onap.usecaseui.server.bean;
 
 import java.io.Serializable;
-import java.util.Date;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -45,11 +44,11 @@ public class AlarmsInformation implements Serializable {
        @Column(name = "sourceId")
        private String sourceId;
        
-       @Column(name = "createTime")
-       private Date  createTime;
+       @Column(name = "startEpochMicroSec")
+       private String  startEpochMicroSec;
        
-       @Column(name = "updateTime")
-       private Date updateTime;
+       @Column(name = "lastEpochMicroSec")
+       private String lastEpochMicroSec;
        
        @Column(name = "headerId")
        private String headerId;
@@ -61,8 +60,8 @@ public class AlarmsInformation implements Serializable {
                                ", name='" + name + '\'' +
                                ", value='" + value + '\'' +
                                ", sourceId='" + sourceId + '\'' +
-                               ", createTime=" + createTime +
-                               ", updateTime=" + updateTime +
+                               ", createTime=" + startEpochMicroSec +
+                               ", updateTime=" + lastEpochMicroSec +
                                ", headerId=" + headerId +
                                '}';
        }
@@ -74,12 +73,12 @@ public class AlarmsInformation implements Serializable {
                this.sourceId = sourceId;
        }
 
-       public AlarmsInformation(String name, String value, String sourceId, Date createTime, Date updateTime,String headerId) {
+       public AlarmsInformation(String name, String value, String sourceId, String startEpochMicroSec, String lastEpochMicroSec,String headerId) {
                this.name = name;
                this.value = value;
                this.sourceId = sourceId;
-               this.createTime = createTime;
-               this.updateTime = updateTime;
+               this.startEpochMicroSec = startEpochMicroSec;
+               this.lastEpochMicroSec = lastEpochMicroSec;
                this.headerId = headerId;
        }
 
@@ -107,20 +106,20 @@ public class AlarmsInformation implements Serializable {
                this.sourceId = sourceId;
        }
 
-       public Date getCreateTime() {
-               return createTime;
+       public String getStartEpochMicroSec() {
+               return startEpochMicroSec;
        }
 
-       public void setCreateTime(Date createTime) {
-               this.createTime = createTime;
+       public void setStartEpochMicroSec(String startEpochMicroSec) {
+               this.startEpochMicroSec = startEpochMicroSec;
        }
 
-       public Date getUpdateTime() {
-               return updateTime;
+       public String getLastEpochMicroSec() {
+               return lastEpochMicroSec;
        }
 
-       public void setUpdateTime(Date updateTime) {
-               this.updateTime = updateTime;
+       public void setLastEpochMicroSec(String lastEpochMicroSec) {
+               this.lastEpochMicroSec = lastEpochMicroSec;
        }
 
        public int getId() {
index 05bc399..36ad68b 100755 (executable)
@@ -84,12 +84,6 @@ public class PerformanceHeader implements Serializable {
        @Column(name = "measurementInterval")\r
        private String measurementInterval;\r
        \r
-       @Column(name = "createTime")\r
-       private Date createTime;\r
-       \r
-       @Column(name = "updateTime")\r
-       private Date updateTime;\r
-       \r
        public PerformanceHeader() {\r
        }\r
 \r
@@ -115,8 +109,6 @@ public class PerformanceHeader implements Serializable {
                this.sequence = sequence;\r
                this.measurementsForVfScalingVersion = measurementsForVfScalingVersion;\r
                this.measurementInterval = measurementInterval;\r
-               this.createTime = createTime;\r
-               this.updateTime = updateTime;\r
        }\r
 \r
        public String getVersion() {\r
@@ -255,22 +247,6 @@ public class PerformanceHeader implements Serializable {
                this.measurementInterval = measurementInterval;\r
        }\r
 \r
-       public Date getCreateTime() {\r
-               return createTime;\r
-       }\r
-\r
-       public void setCreateTime(Date createTime) {\r
-               this.createTime = createTime;\r
-       }\r
-\r
-       public Date getUpdateTime() {\r
-               return updateTime;\r
-       }\r
-\r
-       public void setUpdateTime(Date updateTime) {\r
-               this.updateTime = updateTime;\r
-       }\r
-\r
        public String getId() {\r
                return id;\r
        }\r
index 7de4cb9..72626e6 100755 (executable)
@@ -41,11 +41,11 @@ public class PerformanceInformation implements Serializable {
        @Column(name = "sourceId")\r
        private String sourceId;\r
        \r
-       @Column(name = "createTime")\r
-       private Date  createTime;\r
+       @Column(name = "startEpochMicrosec")\r
+       private String  startEpochMicrosec;\r
        \r
-       @Column(name = "updateTime")\r
-       private Date updateTime;\r
+       @Column(name = "lastEpochMicroSec")\r
+       private String lastEpochMicroSec;\r
        \r
        @Column(name="headerId")\r
        private String headerId;\r
@@ -57,12 +57,12 @@ public class PerformanceInformation implements Serializable {
                this.sourceId = sourceId;\r
        }\r
 \r
-       public PerformanceInformation(String name, String value, String sourceId, Date createTime, Date updateTime,String headerId) {\r
+       public PerformanceInformation(String name, String value, String sourceId, String startEpochMicrosec, String lastEpochMicroSec,String headerId) {\r
                this.name = name;\r
                this.value = value;\r
                this.sourceId = sourceId;\r
-               this.createTime = createTime;\r
-               this.updateTime = updateTime;\r
+               this.startEpochMicrosec = startEpochMicrosec;\r
+               this.lastEpochMicroSec = lastEpochMicroSec;\r
                this.headerId = headerId;\r
        }\r
 \r
@@ -90,20 +90,20 @@ public class PerformanceInformation implements Serializable {
                this.sourceId = sourceId;\r
        }\r
 \r
-       public Date getCreateTime() {\r
-               return createTime;\r
+       public String getStartEpochMicrosec() {\r
+               return startEpochMicrosec;\r
        }\r
 \r
-       public void setCreateTime(Date createTime) {\r
-               this.createTime = createTime;\r
+       public void setStartEpochMicrosec(String startEpochMicrosec) {\r
+               this.startEpochMicrosec = startEpochMicrosec;\r
        }\r
 \r
-       public Date getUpdateTime() {\r
-               return updateTime;\r
+       public String getLastEpochMicroSec() {\r
+               return lastEpochMicroSec;\r
        }\r
 \r
-       public void setUpdateTime(Date updateTime) {\r
-               this.updateTime = updateTime;\r
+       public void setLastEpochMicroSec(String lastEpochMicroSec) {\r
+               this.lastEpochMicroSec = lastEpochMicroSec;\r
        }\r
 \r
        public int getId() {\r
index c16fe82..0e1ea8c 100755 (executable)
@@ -59,7 +59,11 @@ public class AlarmController
 \r
     @Resource(name = "AlarmsInformationService")\r
     private AlarmsInformationService alarmsInformationService;\r
-\r
+    \r
+    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");\r
+    \r
+    private String formatDate = "yyyy-MM-dd";\r
+    \r
     private  String[] AlarmCSVHeaders = new String[]{"version",\r
             "eventName","domain","eventId","eventType","nfcNamingCode",\r
             "nfNamingCode","sourceId","sourceName","reportingEntityId",\r
@@ -99,8 +103,8 @@ public class AlarmController
             alarm.setSourceName(!"null".equals(sourceName)?sourceName:null);\r
             alarm.setStatus(!"null".equals(vfStatus)?vfStatus:null);\r
             try {\r
-                alarm.setCreateTime(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime):null);\r
-                alarm.setUpdateTime(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime):null);\r
+                alarm.setStartEpochMicrosec(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime).getTime()+"":null);\r
+                alarm.setLastEpochMicroSec(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime).getTime()+"":null);\r
             } catch (ParseException e) {\r
                 logger.error("Parse date error :"+e.getMessage());\r
             }\r
@@ -151,27 +155,90 @@ public class AlarmController
     }\r
 \r
     @RequestMapping(value = {"/alarm/sourceId"},method = RequestMethod.GET)\r
-    public String getSourceId(){\r
+    public String getSourceId() throws JsonProcessingException{\r
         List<String> sourceIds = new ArrayList<>();\r
-        alarmsHeaderService.queryAlarmsHeader(null,1,Integer.MAX_VALUE).getList().forEach( al ->{\r
-            sourceIds.add(al.getSourceId());\r
-        } );\r
-        try {\r
-            return omAlarm.writeValueAsString(sourceIds);\r
-        } catch (JsonProcessingException e) {\r
-            e.printStackTrace();\r
-            return "";\r
+       Page page  = alarmsHeaderService.queryAlarmsHeader(new AlarmsHeader(), 1, Integer.MAX_VALUE);\r
+        AlarmsHeader alarmsHeader;\r
+        if(page==null){\r
+            page = new Page();\r
+            List list = new ArrayList();\r
+            alarmsHeader = new AlarmsHeader();\r
+            list.add(alarmsHeader);\r
+            page.setList(list);\r
+\r
         }\r
-    }\r
+        for(int a=0;a<page.getList().size();a++){\r
 \r
-    @RequestMapping(value = {"/alarm/diagram"},method = RequestMethod.POST)\r
-    public String genDiagram(@RequestParam String sourceId,@RequestParam String startTime,@RequestParam String endTime){\r
-        try {\r
-            return omAlarm.writeValueAsString(alarmsInformationService.queryDateBetween(sourceId,startTime,endTime));\r
-        } catch (JsonProcessingException e) {\r
+            alarmsHeader  = (AlarmsHeader)page.getList().get(a);\r
+            String sourceid = alarmsHeader.getSourceId();\r
+            if (!sourceIds.contains(sourceid)) {\r
+                sourceIds.add(sourceid);\r
+            }\r
+        }\r
+        return omAlarm.writeValueAsString(sourceIds);\r
+    }\r
+    @RequestMapping(value = {"/alarm/diagram"},method = RequestMethod.POST,produces = "application/json")\r
+    public String diagram(@RequestParam String sourceId, @RequestParam String startTime, @RequestParam String endTime, @RequestParam String format) {\r
+        long timeInterval = 0;\r
+       try {\r
+               if("month".equals(format)){\r
+                       formatDate="yyyy-MM";\r
+                       int maxDay= DateUtils.MonthOfDay(startTime, formatDate);\r
+                       timeInterval =86400000L*maxDay;\r
+               }else if("hour".equals(format)){\r
+                       formatDate="yyyy-MM-dd HH";\r
+                       timeInterval = 3600000;\r
+               }else{\r
+                       formatDate="yyyy-MM-dd";\r
+                       timeInterval =86400000;\r
+               }\r
+               sdf = new SimpleDateFormat(formatDate);\r
+            long startTimel = sdf.parse(startTime).getTime();\r
+            long endTimel = sdf.parse(endTime).getTime();\r
+            return getDiagram(sourceId, startTimel, endTimel+timeInterval, timeInterval, 1, 1,format);\r
+        } catch (Exception e) {\r
+            logger.error(e.getMessage());\r
             e.printStackTrace();\r
-            return "";\r
         }\r
+        return null;\r
+    }\r
+    \r
+    private  String getDiagram(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal, long keyVal, long keyValIteraVal,String format) throws JsonProcessingException{\r
+       Map<String,List> result = new HashMap<String,List>();\r
+       \r
+       Map<String,List> allMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, keyVal, keyValIteraVal,format,"");\r
+       Map<String,List> criticalMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"CRITICAL");\r
+       Map<String,List> majorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MAJOR");\r
+       Map<String,List> minorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MINOR");\r
+       Map<String,List> warningMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"WARNING");\r
+       Map<String,List> normalMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"NORMAL");\r
+       result.put("dateList", allMaps.get("dateTime"));\r
+       result.put("allList", allMaps.get("dataList"));\r
+       result.put("criticalList",criticalMaps.get("dataList"));\r
+       result.put("majorList",majorMaps.get("dataList"));\r
+       result.put("minorList",minorMaps.get("dataList"));\r
+       result.put("warningList",warningMaps.get("dataList"));\r
+       result.put("normalList",normalMaps.get("dataList"));\r
+       return omAlarm.writeValueAsString(result);\r
+    }\r
+    private Map<String,List> dateProcess(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal, long keyVal, long keyValIteraVal,String format,String level) {\r
+       Map<String,List> result = new HashMap<String,List>();\r
+        List<String> dateList = new ArrayList<String>();\r
+        List<Integer> numList = new ArrayList<Integer>();\r
+        long tmpEndTimeL = startTimeL + timeIteraPlusVal;\r
+        while (endTimeL >= tmpEndTimeL) {\r
+            int num = alarmsInformationService.queryDateBetween(sourceId,startTimeL+"",tmpEndTimeL+"",level);\r
+            dateList.add(DateUtils.getResultDate(startTimeL, format));\r
+            int maxDay2 = DateUtils.MonthOfDay(sdf.format(new Date(tmpEndTimeL)), formatDate);\r
+            int maxDay = DateUtils.MonthOfDay(sdf.format(new Date(startTimeL)), formatDate);\r
+            numList.add(num);\r
+            startTimeL += 86400000L*maxDay;\r
+            tmpEndTimeL += 86400000L*maxDay2;\r
+            keyVal += keyValIteraVal;\r
+        }\r
+        result.put("dateTime", dateList);\r
+        result.put("dataList", numList);\r
+        return result;\r
     }\r
     \r
     @RequestMapping(value = "/alarm/statusCount", method = RequestMethod.GET, produces = "application/json")\r
index fdb71b6..bc60212 100755 (executable)
@@ -21,8 +21,10 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -72,7 +74,11 @@ public class PerformanceController {
             "createTime","updateTime","value","name"};
 
     private ObjectMapper omPerformance = new ObjectMapper();
-
+    
+    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+    
+    private String formatDate = "yyyy-MM-dd";
+    
     @RequestMapping(value = {"/performance/{currentPage}/{pageSize}","/performance/{currentPage}/{pageSize}/{sourceId}/{sourceName}/{priority}/{startTime}/{endTime}"},method = RequestMethod.GET, produces = "application/json")
     public String getPerformanceData(HttpServletResponse response,@PathVariable int currentPage,
                                      @PathVariable int pageSize,@PathVariable(required = false) String sourceId,
@@ -86,8 +92,8 @@ public class PerformanceController {
             performanceHeader.setSourceId(!"null".equals(sourceId)?sourceId:null);
             performanceHeader.setSourceName(!"null".equals(sourceName)?sourceName:null);
             try {
-                performanceHeader.setCreateTime(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime):null);
-                performanceHeader.setUpdateTime(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime):null);
+                performanceHeader.setStartEpochMicrosec(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime).getTime()+"":null);
+                performanceHeader.setLastEpochMicroSec(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime).getTime()+"":null);
             } catch (ParseException e) {
                  if (null != response)
                     response.setStatus(400);
@@ -206,31 +212,55 @@ public class PerformanceController {
     }
 
     @RequestMapping(value = {"/performance/diagram"}, method = RequestMethod.POST, produces = "application/json")
-    public String generateDiagram(@RequestParam String sourceId,@RequestParam String startTime,@RequestParam String endTime,@RequestParam String nameParent,@RequestParam(required = false) String nameChild)  {
-        List<String> diagramSource = new ArrayList<>();
-        try {
-            logger.info(sourceId+":"+startTime+":"+endTime+":"+nameParent+":"+nameChild);
-            if (performanceHeaderService.queryPerformanceHeader(new PerformanceHeader(sourceId),1,10).getList() != null){
-                if (nameChild != null && !"".equals(nameChild)){
-                    sourceId = nameParent;
-                    nameParent = nameChild;
-                }
-                performanceInformationService.queryDateBetween(sourceId,nameParent,startTime,endTime)
-                        .forEach( per -> {
-                            diagramSource.add(per.getValue());
-                        });
-            }
+    public String generateDiagram(@RequestParam String sourceId,@RequestParam String startTime,@RequestParam String endTime,@RequestParam String nameParent,@RequestParam String format)  {
+        long timeInterval = 0;
+       try {
+               if("minute".equals(format)){
+                       formatDate="yyyy-MM-dd HH:mm";
+                       timeInterval =5*60000;
+               }else if("hour".equals(format)){
+                       formatDate="yyyy-MM-dd HH";
+                       timeInterval = 3600000;
+               }else{
+                       formatDate="yyyy-MM-dd";
+                       timeInterval =86400000;
+               }
+               sdf = new SimpleDateFormat(formatDate);
+            long startTimel = sdf.parse(startTime).getTime();
+            long endTimel = sdf.parse(endTime).getTime();
+            return getDiagram(sourceId, startTimel, endTimel+timeInterval, timeInterval,format,nameParent);
         } catch (Exception e) {
+            logger.error(e.getMessage());
             e.printStackTrace();
         }
-        try {
-            return omPerformance.writeValueAsString(diagramSource);
-        } catch (JsonProcessingException e) {
-            logger.error("JsonProcessingException:"+e.getMessage());
-            return "";
+        return null;
+    }
+    
+    private  String getDiagram(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal,String format,String nameParent) throws JsonProcessingException{
+       Map<String,List> result = new HashMap<String,List>();
+       
+       Map<String,List> allMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal,format,nameParent);
+       result.put("dateList", allMaps.get("dateTime"));
+       result.put("valueList", allMaps.get("dataList"));
+       return omPerformance.writeValueAsString(result);
+    }
+    private Map<String,List> dateProcess(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal,String format,String nameParent) {
+       Map<String,List> result = new HashMap<String,List>();
+        List<String> dateList = new ArrayList<String>();
+        List<String> numList = new ArrayList<String>();
+        long tmpEndTimeL = startTimeL + timeIteraPlusVal;
+        while (endTimeL >= tmpEndTimeL) {
+           String num = performanceInformationService.queryMaxValueByBetweenDate(sourceId, nameParent, startTimeL+"", tmpEndTimeL+"");
+            dateList.add(DateUtils.getResultDate(startTimeL, format));
+            numList.add(num);
+            startTimeL += timeIteraPlusVal;
+            tmpEndTimeL += timeIteraPlusVal;
         }
+        result.put("dateTime", dateList);
+        result.put("dataList", numList);
+        return result;
     }
-
+    
     @RequestMapping(value = {"/performance/resourceIds"},method = RequestMethod.GET)
     public String getSourceIds(){
         try {
@@ -244,13 +274,18 @@ public class PerformanceController {
     @RequestMapping(value = {"/performance/names"},method = RequestMethod.POST)
     public String getNames(@RequestParam Object sourceId){
         try {
-            List<String> names = new ArrayList<>();
-            performanceInformationService.queryDateBetween(sourceId.toString(),null,null,null).forEach( per ->{
-                if (!names.contains(per.getName()))
-                    names.add(per.getName());
-            } );
+            Set<String> names = new HashSet<>();
+            List<PerformanceInformation> list =performanceInformationService.queryDateBetween(sourceId.toString(), null, null, null);
+            PerformanceInformation per;
+            for(int a=0;a<list.size();a++) {
+                per = (PerformanceInformation)list.get(a);
+                if (UuiCommonUtil.checkNumber(per.getValue(),"^(-?\\d+)(\\.\\d+)?$"))
+                    if (Double.parseDouble(per.getValue()) > 0)
+                        names.add(per.getName());
+
+            }
             return omPerformance.writeValueAsString(names);
-        } catch (JsonProcessingException e) {
+        } catch (Exception e) {
             logger.error(e.getMessage());
             return "";
         }
index 33126bb..cc11650 100644 (file)
@@ -35,7 +35,7 @@ public interface AlarmsInformationService {
 
     List<AlarmsInformation> queryId(String[] id);
 
-    List<Map<String,String>> queryDateBetween(String sourceId, String startTime, String endTime);
+    int queryDateBetween(String sourceId, String startTime, String endTime,String level);
     
     /**
      * 
index 70fbf7f..83991a2 100644 (file)
@@ -41,4 +41,6 @@ public interface PerformanceInformationService {
     List<PerformanceInformation> queryDateBetween(String resourceId, String name, String startTime, String endTime);
     
     List<PerformanceInformation> getAllPerformanceInformationByHeaderId(String headerId);
+    
+    String queryMaxValueByBetweenDate(String sourceId, String nameParent, String startTimeL, String endTimeL);
 }
index ebbd8fc..2c63fdc 100755 (executable)
@@ -194,14 +194,14 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                                        String ver =alarmsHeader.getStatus();\r
                                        count.append(" and a.status = '"+ver+"'");\r
                                }\r
-                               if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
-                                       count.append(" and a.createTime between :startTime and :endTime");\r
+                               if(null!=alarmsHeader.getStartEpochMicrosec() || alarmsHeader.getLastEpochMicroSec()!= null) {\r
+                                       count.append(" and a.startEpochMicrosec between :startTime and :endTime");\r
                                }\r
                        }\r
                        Query query = session.createQuery(count.toString());\r
-                       if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
-                               query.setDate("startTime",alarmsHeader.getCreateTime());\r
-                               query.setDate("endTime",alarmsHeader.getUpdateTime());\r
+                       if(null!=alarmsHeader.getStartEpochMicrosec() || alarmsHeader.getLastEpochMicroSec()!= null) {\r
+                               query.setString("startTime",alarmsHeader.getStartEpochMicrosec());\r
+                               query.setString("endTime",alarmsHeader.getLastEpochMicroSec());\r
                        }\r
                        long q=(long)query.uniqueResult();\r
                        session.flush();\r
@@ -321,15 +321,15 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                                        String ver =alarmsHeader.getStatus();\r
                                        hql.append(" and a.status = '"+ver+"'");\r
                                }\r
-                               if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
-                                       hql.append(" and a.createTime between :startTime and :endTime");\r
+                               if(null!=alarmsHeader.getStartEpochMicrosec() || alarmsHeader.getLastEpochMicroSec()!= null) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime");\r
                                }\r
                        }\r
                        logger.info("AlarmsHeaderServiceImpl queryAlarmsHeader: alarmsHeader={}", alarmsHeader);\r
                        Query query = session.createQuery(hql.toString());\r
-                       if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
-                               query.setDate("startTime",alarmsHeader.getCreateTime());\r
-                               query.setDate("endTime",alarmsHeader.getUpdateTime());\r
+                       if(null!=alarmsHeader.getStartEpochMicrosec() || alarmsHeader.getLastEpochMicroSec()!= null) {\r
+                               query.setString("startTime",alarmsHeader.getStartEpochMicrosec());\r
+                               query.setString("endTime",alarmsHeader.getLastEpochMicroSec());\r
                        }\r
                        query.setFirstResult(offset);\r
                        query.setMaxResults(pageSize);\r
@@ -372,7 +372,7 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                        session.beginTransaction();\r
 \r
                        //Query q=session.createQuery("update AlarmsHeader set status='"+status+"', updateTime='"+date+"' , startEpochMicrosecCleared='"+startEpochMicrosecCleared+"'  ,lastEpochMicroSecCleared='"+lastEpochMicroSecCleared+"'    where eventName='"+eventName+"' and reportingEntityName='"+reportingEntityName+"' and specificProblem ='"+specificProblem+"'");\r
-            Query q=session.createQuery("update AlarmsHeader set status=:status, updateTime=:date, startEpochMicrosecCleared=:startEpochMicrosecCleared  ,lastEpochMicroSecCleared=:lastEpochMicroSecCleared    where eventName=:eventName and reportingEntityName=:reportingEntityName and specificProblem =:specificProblem");\r
+            Query q=session.createQuery("update AlarmsHeader set status=:status, startEpochMicrosecCleared=:startEpochMicrosecCleared  ,lastEpochMicroSecCleared=:lastEpochMicroSecCleared    where eventName=:eventName and reportingEntityName=:reportingEntityName and specificProblem =:specificProblem");\r
 \r
             q.setString("status",status);\r
             q.setDate("date",date);\r
index a33f9c0..b1d8d07 100755 (executable)
@@ -28,6 +28,7 @@ import org.hibernate.Transaction;
 import org.onap.usecaseui.server.bean.AlarmsInformation;\r
 import org.onap.usecaseui.server.service.AlarmsInformationService;\r
 import org.onap.usecaseui.server.util.Page;\r
+import org.onap.usecaseui.server.util.UuiCommonUtil;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
 import org.springframework.beans.factory.annotation.Autowired;\r
@@ -105,12 +106,12 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                                        String ver=alarmsInformation.getSourceId();\r
                                        hql.append(" and a.sourceId = '"+ver+"'");\r
                                }\r
-                               if(null!=alarmsInformation.getCreateTime()) {\r
-                                       Date ver =alarmsInformation.getCreateTime();\r
+                               if(null!=alarmsInformation.getStartEpochMicroSec()) {\r
+                                       String  ver =alarmsInformation.getStartEpochMicroSec();\r
                                        hql.append(" and a.createTime > '%"+ver+"%'");\r
                                }\r
-                               if(null!=alarmsInformation.getUpdateTime()) {\r
-                                       Date ver =alarmsInformation.getUpdateTime();\r
+                               if(null!=alarmsInformation.getLastEpochMicroSec()) {\r
+                                       String ver =alarmsInformation.getLastEpochMicroSec();\r
                                        hql.append(" and a.updateTime like '%"+ver+"%'");\r
                                }\r
                        } \r
@@ -148,17 +149,16 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                                        String ver=alarmsInformation.getSourceId();\r
                                        hql.append(" and a.sourceId = '"+ver+"'");\r
                                }\r
-                               if(null!=alarmsInformation.getCreateTime()) {\r
-                                       Date ver =alarmsInformation.getCreateTime();\r
-                                       hql.append(" and a.createTime > '%"+ver+"%'");\r
-                               }\r
-                               if(null!=alarmsInformation.getUpdateTime()) {\r
-                                       Date ver =alarmsInformation.getUpdateTime();\r
-                                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                               if(null!=alarmsInformation.getStartEpochMicroSec() || alarmsInformation.getLastEpochMicroSec()!= null) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime");\r
                                }\r
                        }\r
                        logger.info("AlarmsInformationServiceImpl queryAlarmsInformation: alarmsInformation={}", alarmsInformation);\r
                        Query query = session.createQuery(hql.toString());\r
+                       if(null!=alarmsInformation.getStartEpochMicroSec() || alarmsInformation.getLastEpochMicroSec()!= null) {\r
+                               query.setString("startTime",alarmsInformation.getStartEpochMicroSec());\r
+                               query.setString("endTime",alarmsInformation.getLastEpochMicroSec());\r
+                       }\r
                        query.setFirstResult(offset);\r
                        query.setMaxResults(pageSize);\r
                        List<AlarmsInformation> list= query.list();\r
@@ -195,37 +195,36 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
 \r
 \r
        @Override\r
-       public List<Map<String,String>> queryDateBetween(String sourceId, String startTime, String endTime) {\r
+       public int queryDateBetween(String sourceId, String startTime, String endTime,String level) {\r
+               if("1526554800000".equals(startTime)){\r
+                       System.out.print(startTime);\r
+               }\r
                try(Session session = getSession()) {\r
-                       List<Map<String,String>> mapList = new ArrayList<>();\r
-                       String hql = "select a.createTime,count(*) from AlarmsInformation a where 1=1 ";\r
+                       String hql = "select count(*) from AlarmsHeader a where 1=1 ";\r
                        if (sourceId != null && !"".equals(sourceId)){\r
                                hql += " and a.sourceId = :sourceId";\r
                        }\r
+                       if (UuiCommonUtil.isNotNullOrEmpty(level)){\r
+                               hql += " and a.eventServrity = :eventServrity";\r
+                       }\r
                        if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
-                               hql += " and a.createTime between :startTime and :endTime ";\r
+                               hql += " and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ";\r
                        }\r
-                       hql += " group by a.createTime";\r
                        Query query = session.createQuery(hql);\r
                        if (sourceId != null && !"".equals(sourceId)){\r
                                query.setString("sourceId",sourceId);\r
                        }\r
+                       if (UuiCommonUtil.isNotNullOrEmpty(level)){\r
+                               query.setString("eventServrity",level);\r
+                       }\r
                        if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
                                query.setString("startTime", startTime).setString("endTime", endTime);\r
                        }\r
-                       Iterator it= query.list().iterator();\r
-                       while(it.hasNext()){\r
-                               Object[] res=(Object[]) it.next();\r
-                               Map<String,String> map = new HashMap<>();\r
-                               map.put("Time",res[0].toString());\r
-                               map.put("Count",res[1].toString());\r
-                               mapList.add(map);\r
-                       }\r
-                       logger.info("AlarmsInformationServiceImpl queryDateBetween: list={}", mapList);\r
-                       return mapList;\r
+                       long num=(long) query.uniqueResult();\r
+                       return (int)num;\r
                } catch (Exception e) {\r
                        logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDateBetween. Details:" + e.getMessage());\r
-                       return null;\r
+                       return 0;\r
                }\r
        }\r
 \r
index 191eab2..4a5815a 100755 (executable)
@@ -163,13 +163,13 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                                        String ver =performanceHeder.getEventType();\r
                                        hql.append(" and a.eventType like '%"+ver+"%'");\r
                                }\r
-                               if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
-                                       hql.append(" and a.createTime between :startTime and :endTime ");\r
+                               if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime ");\r
                                }\r
                        }\r
                        Query query = session.createQuery(hql.toString());\r
-                       if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
-                               query.setDate("startTime",performanceHeder.getCreateTime()).setDate("endTime",performanceHeder.getUpdateTime());\r
+                       if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
+                               query.setString("startTime",performanceHeder.getStartEpochMicrosec()).setString("endTime",performanceHeder.getLastEpochMicroSec());\r
                        }\r
                        long q=(long)query.uniqueResult();\r
                        session.flush();\r
@@ -261,14 +261,14 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                                        String ver =performanceHeder.getEventType();\r
                                        hql.append(" and a.eventType like '%"+ver+"%'");\r
                                }\r
-                               if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
-                                       hql.append(" and a.createTime between :startTime and :endTime ");\r
+                               if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime ");\r
                                }\r
                        }\r
                        logger.info("PerformanceHeaderServiceImpl queryPerformanceHeader: performanceHeder={}", performanceHeder);\r
                        Query query = session.createQuery(hql.toString());\r
-                       if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
-                               query.setDate("startTime",performanceHeder.getCreateTime()).setDate("endTime",performanceHeder.getUpdateTime());\r
+                       if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
+                               query.setString("startTime",performanceHeder.getStartEpochMicrosec()).setString("endTime",performanceHeder.getLastEpochMicroSec());\r
                        }\r
                        query.setFirstResult(offset);\r
                        query.setMaxResults(pageSize);\r
@@ -306,7 +306,7 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        @Override\r
        public List<String> queryAllSourceId() {\r
                try(Session session = getSession()) {\r
-                       Query query = session.createQuery("select a.sourceId from PerformanceHeader a");\r
+                       Query query = session.createQuery("select distinct a.sourceId from PerformanceHeader a");\r
                        return query.list();\r
                } catch (Exception e) {\r
                        logger.error("exception occurred while performing PerformanceHeaderServiceImpl queryAllSourceId. Details:" + e.getMessage());\r
index c11f160..858bf8b 100755 (executable)
@@ -18,7 +18,10 @@ package org.onap.usecaseui.server.service.impl;
 \r
 import java.util.ArrayList;\r
 import java.util.Date;\r
+import java.util.HashMap;\r
+import java.util.Iterator;\r
 import java.util.List;\r
+import java.util.Map;\r
 \r
 import javax.transaction.Transactional;\r
 \r
@@ -29,6 +32,7 @@ import org.hibernate.Transaction;
 import org.onap.usecaseui.server.bean.PerformanceInformation;\r
 import org.onap.usecaseui.server.service.PerformanceInformationService;\r
 import org.onap.usecaseui.server.util.Page;\r
+import org.onap.usecaseui.server.util.UuiCommonUtil;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
 import org.springframework.beans.factory.annotation.Autowired;\r
@@ -105,16 +109,16 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                                        String ver=performanceInformation.getSourceId();\r
                                        hql.append(" and a.sourceId = '"+ver+"'");\r
                                }\r
-                               if(null!=performanceInformation.getCreateTime()) {\r
-                                       Date ver =performanceInformation.getCreateTime();\r
-                                       hql.append(" and a.createTime > '%"+ver+"%'");\r
-                               }\r
-                               if(null!=performanceInformation.getUpdateTime()) {\r
-                                       Date ver =performanceInformation.getUpdateTime();\r
-                                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                               if(null!=performanceInformation.getStartEpochMicrosec() || performanceInformation.getLastEpochMicroSec()!= null) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime");\r
                                }\r
                        }\r
-                       long q=(long)session.createQuery(hql.toString()).uniqueResult();\r
+                       Query query = session.createQuery(hql.toString());\r
+                       if(null!=performanceInformation.getStartEpochMicrosec() || performanceInformation.getLastEpochMicroSec()!= null) {\r
+                               query.setString("startTime",performanceInformation.getStartEpochMicrosec());\r
+                               query.setString("endTime",performanceInformation.getLastEpochMicroSec());\r
+                       }\r
+                       long q=(long) query.uniqueResult();\r
                        session.flush();\r
                        return (int)q;\r
                } catch (Exception e) {\r
@@ -148,17 +152,16 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                                        String ver=performanceInformation.getSourceId();\r
                                        hql.append(" and a.sourceId = '"+ver+"'");\r
                                }\r
-                               if(null!=performanceInformation.getCreateTime()) {\r
-                                       Date ver =performanceInformation.getCreateTime();\r
-                                       hql.append(" and a.createTime > '%"+ver+"%'");\r
-                               }\r
-                               if(null!=performanceInformation.getUpdateTime()) {\r
-                                       Date ver =performanceInformation.getUpdateTime();\r
-                                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                               if(null!=performanceInformation.getStartEpochMicrosec() || performanceInformation.getLastEpochMicroSec()!= null) {\r
+                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime");\r
                                }\r
                        }\r
                        logger.info("PerformanceInformationServiceImpl queryPerformanceInformation: performanceInformation={}", performanceInformation);\r
                        Query query = session.createQuery(hql.toString());\r
+                       if(null!=performanceInformation.getStartEpochMicrosec() || performanceInformation.getLastEpochMicroSec()!= null) {\r
+                               query.setString("startTime",performanceInformation.getStartEpochMicrosec());\r
+                               query.setString("endTime",performanceInformation.getLastEpochMicroSec());\r
+                       }\r
                        query.setFirstResult(offset);\r
                        query.setMaxResults(pageSize);\r
                        List<PerformanceInformation> list= query.list();\r
@@ -269,4 +272,36 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                        return null;\r
                }\r
        }\r
+       \r
+    @Override\r
+    public String queryMaxValueByBetweenDate(String sourceId, String name, String startTime, String endTime) {\r
+        try(Session session = getSession()) {\r
+            String hql = "select max(a.value) from PerformanceInformation a where 1=1 ";\r
+            if (sourceId != null && !"".equals(sourceId)){\r
+                hql += " and a.sourceId = :resourceId";\r
+            }\r
+            if (name != null && !"".equals(name)){\r
+                hql += " and a.name = :name ";\r
+            }\r
+            if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                hql += " and a.startEpochMicrosec between :startTime and :endTime ";\r
+            }\r
+            Query query = session.createQuery(hql);\r
+            if (sourceId != null && !"".equals(sourceId)){\r
+                query.setString("resourceId",sourceId);\r
+            }\r
+            if (name != null && !"".equals(name)){\r
+                query.setString("name",name);\r
+            }\r
+            if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                query.setString("startTime", startTime).setString("endTime", endTime);\r
+            }\r
+            String num=(String) query.uniqueResult();\r
+            return UuiCommonUtil.isNotNullOrEmpty(num)?num:0+"";\r
+        } catch (Exception e) {\r
+            e.printStackTrace();\r
+            logger.error("exception occurred while performing PerformanceInformationServiceImpl queryMaxValueByBetweenDate. Details:" + e.getMessage());\r
+            return 0+"";\r
+        }\r
+    }\r
 }\r
index 0d294d1..fa582ee 100755 (executable)
@@ -25,6 +25,7 @@ import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.TimeZone;
 
 public class DateUtils {
 
@@ -179,5 +180,143 @@ public class DateUtils {
     public static Date now() throws ParseException {
         return new SimpleDateFormat(Constant.DATE_FORMAT).parse(dateToString(new Date()));
     }
+    
+    public static String getYearMonthDayHourMinuteSecond(long timeMillis) {
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
+        calendar.setTimeInMillis(timeMillis);
+        int year=calendar.get(Calendar.YEAR);
 
+        int month=calendar.get(Calendar.MONTH) + 1;
+        String mToMonth=null;
+        if (String.valueOf(month).length()==1) {
+            mToMonth="0"+month;
+        } else {
+            mToMonth=String.valueOf(month);
+        }
+
+        int day=calendar.get(Calendar.DAY_OF_MONTH);
+        String dToDay=null;
+        if (String.valueOf(day).length()==1) {
+            dToDay="0"+day;
+        } else {
+            dToDay=String.valueOf(day);
+        }
+
+        int hour=calendar.get(Calendar.HOUR_OF_DAY);
+        String hToHour=null;
+        if (String.valueOf(hour).length()==1) {
+            hToHour="0"+hour;
+        } else {
+            hToHour=String.valueOf(hour);
+        }
+
+        int minute=calendar.get(Calendar.MINUTE);
+        String mToMinute=null;
+        if (String.valueOf(minute).length()==1) {
+            mToMinute="0"+minute;
+        } else {
+            mToMinute=String.valueOf(minute);
+        }
+
+        int second=calendar.get(Calendar.SECOND);
+        String sToSecond=null;
+        if (String.valueOf(second).length()==1) {
+            sToSecond="0"+second;
+        } else {
+            sToSecond=String.valueOf(second);
+        }
+        return  year+ "-" +mToMonth+ "-" +dToDay+ " "+hToHour+ ":" +mToMinute+ ":" +sToSecond;
+    }
+    
+    
+    /**
+     * 
+      * getResultDate
+      * 
+      * @Auther YYY
+      * @Date   2018/5/19/ 11:56:07
+      * @Title: getResultDate
+      * @Description: 
+      * @param timeMillis
+      * @param format
+      * @return
+     */
+    public static String getResultDate(long timeMillis,String format){
+        Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
+        calendar.setTimeInMillis(timeMillis);
+        int year=calendar.get(Calendar.YEAR);
+
+        int month=calendar.get(Calendar.MONTH) + 1;
+        String mToMonth=null;
+        if (String.valueOf(month).length()==1) {
+            mToMonth="0"+month;
+        } else {
+            mToMonth=String.valueOf(month);
+        }
+
+        int day=calendar.get(Calendar.DAY_OF_MONTH);
+        String dToDay=null;
+        if (String.valueOf(day).length()==1) {
+            dToDay="0"+day;
+        } else {
+            dToDay=String.valueOf(day);
+        }
+
+        int hour=calendar.get(Calendar.HOUR_OF_DAY);
+        String hToHour=null;
+        if (String.valueOf(hour).length()==1) {
+            hToHour="0"+hour;
+        } else {
+            hToHour=String.valueOf(hour);
+        }
+
+        int minute=calendar.get(Calendar.MINUTE);
+        String mToMinute=null;
+        if (String.valueOf(minute).length()==1) {
+            mToMinute="0"+minute;
+        } else {
+            mToMinute=String.valueOf(minute);
+        }
+
+        int second=calendar.get(Calendar.SECOND);
+        String sToSecond=null;
+        if (String.valueOf(second).length()==1) {
+            sToSecond="0"+second;
+        } else {
+            sToSecond=String.valueOf(second);
+        }
+        if("month".equals(format)){
+                return  year+ "-" +mToMonth;
+        }else if("day".equals(format)){
+                return  year+ "-" +mToMonth+ "-" +dToDay;
+        }else if("minute".equals(format)){
+                return  year+ "-" +mToMonth+ "-" +dToDay+ " "+hToHour+":"+mToMinute+":00";
+        }else{
+                return  year+ "-" +mToMonth+ "-" +dToDay+ " "+hToHour+":00:00";
+        }
+    }
+   
+    /**
+     * 
+      * MonthOfDay
+      * 
+      * @Auther YYY
+      * @Date   2018/5/22 2:36:29
+      * @Title: MonthOfDay
+      * @Description: 
+      * @param date
+      * @param format
+      * @return
+      * @throws ParseException
+     */
+    public static int MonthOfDay(String date,String format){
+       Calendar cal = Calendar.getInstance();
+       SimpleDateFormat sdf = new SimpleDateFormat(format);
+       try {
+                       cal.setTime(sdf.parse(date));
+               } catch (ParseException e) {
+                       e.printStackTrace();
+               }
+       return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
+    }
 }
index 0870053..040417e 100644 (file)
@@ -77,8 +77,8 @@ public class DmaapSubscriber implements Runnable {
        public void subscribe(String topic) {
         try {
             List<String> respList = getDMaaPData(topic);
-            if (respList.size() <= 0 || respList == null) {
-               logger.info("response content is :"+respList);
+            logger.info("response content is :"+respList);
+            if (!UuiCommonUtil.isNotNullOrEmpty(respList)) {
                 return;
             }
             ObjectMapper objMapper = new ObjectMapper();
@@ -118,6 +118,7 @@ public class DmaapSubscriber implements Runnable {
         try {
             p.load(inputStream);
             this.url = p.getProperty("dmaap.url") + System.getenv("MR_ADDR");
+            //this.url = p.getProperty("dmaap.url");
             this.alarmTopic = p.getProperty("dmaap.alarmTopic");
             this.performanceTopic = p.getProperty("dmaap.performanceTopic");
             this.consumerGroup = p.getProperty("dmaap.consumerGroup");
@@ -172,9 +173,9 @@ public class DmaapSubscriber implements Runnable {
                     if (k2.equals("priority"))
                         alarm_header.setPriority(v2.toString());
                     if (k2.equals("startEpochMicrosec"))
-                        alarm_header.setStartEpochMicrosec(v2.toString());
+                        alarm_header.setStartEpochMicrosec(v2.toString().substring(0, 13));
                     if (k2.equals("lastEpochMicrosec"))
-                        alarm_header.setLastEpochMicroSec(v2.toString());
+                        alarm_header.setLastEpochMicroSec(v2.toString().substring(0, 13));
                     if (k2.equals("sequence"))
                         alarm_header.setSequence(v2.toString());
                 });
@@ -200,7 +201,7 @@ public class DmaapSubscriber implements Runnable {
                         try {
                             List<Map<String, Object>> m = (List<Map<String, Object>>) v3;
                             m.forEach(i -> {
-                                alarm_informations.add(new AlarmsInformation(i.get("name").toString(), i.get("value").toString(), alarm_header.getSourceId(), new Date(), null,alarm_header.getId()));
+                                alarm_informations.add(new AlarmsInformation(i.get("name").toString(), i.get("value").toString(), alarm_header.getSourceId(),alarm_header.getStartEpochMicrosec(),alarm_header.getLastEpochMicroSec(),alarm_header.getId()));
                             });
                         } catch (Exception e) {
                             e.printStackTrace();
@@ -211,10 +212,6 @@ public class DmaapSubscriber implements Runnable {
             }
         });
         if (alarm_header.getEventName() != null){
-        alarm_informations.forEach(ai -> {
-            ai.setCreateTime(alarm_header.getCreateTime());
-            ai.setUpdateTime(new Date());
-        });
         Long l = System.currentTimeMillis();
 
         Timestamp date_get = new Timestamp(l);
@@ -225,7 +222,6 @@ public class DmaapSubscriber implements Runnable {
                 alarmsInformationService.saveAlarmsInformation(information));
 
         } else {
-            alarm_header.setCreateTime(new Date());
             alarm_header.setStatus("active");
             alarmsHeaderService.saveAlarmsHeader(alarm_header);
             if(alarm_informations.size() > 0) {
@@ -268,9 +264,9 @@ public class DmaapSubscriber implements Runnable {
                             if (k2.equals("priority"))
                                 performance_header.setPriority(v2.toString());
                             if (k2.equals("startEpochMicrosec"))
-                                performance_header.setStartEpochMicrosec(v2.toString());
+                                performance_header.setStartEpochMicrosec(v2.toString().substring(0, 13));
                             if (k2.equals("lastEpochMicrosec"))
-                                performance_header.setLastEpochMicroSec(v2.toString());
+                                performance_header.setLastEpochMicroSec(v2.toString().substring(0, 13));
                             if (k2.equals("sequence"))
                                 performance_header.setSequence(v2.toString());
                         });
@@ -288,23 +284,7 @@ public class DmaapSubscriber implements Runnable {
                                             if (k.equals("arrayOfFields")){
                                                 List<Map<String,String>> arrayOfFields = (List<Map<String, String>>) v;
                                                 arrayOfFields.forEach( fields -> {
-                                                    if (fields.get("name").equals("StartTime")){
-
-                                                        try {
-                                                            String type = performance_header.getEventType();
-                                                            performance_informations.add(new PerformanceInformation(fields.get("name"), fields.get("value"), performance_header.getSourceId(), null, DateUtils.now(),performance_header.getId()));
-                                                            performance_header.setCreateTime(DateUtils.stringToDate(fields.get("value").replaceAll(Constant.RegEX_DATE_FORMAT, " ")));
-                                                            performance_header.setUpdateTime(DateUtils.now());
-                                                        } catch (ParseException e) {
-                                                            e.printStackTrace();
-                                                        }
-                                                    }else{
-                                                        try {
-                                                            performance_informations.add(new PerformanceInformation(fields.get("name"), fields.get("value"), performance_header.getSourceId(), null, DateUtils.now(), performance_header.getId()));
-                                                        } catch (ParseException e) {
-                                                            e.printStackTrace();
-                                                        }
-                                                    }
+                                                                                                               performance_informations.add(new PerformanceInformation(fields.get("name"), fields.get("value"), performance_header.getSourceId(), performance_header.getStartEpochMicrosec(),performance_header.getLastEpochMicroSec(),performance_header.getId()));
                                                 } );
                                             }
                                         });
@@ -317,7 +297,6 @@ public class DmaapSubscriber implements Runnable {
                         });
                         performanceHeaderService.savePerformanceHeader(performance_header);
                         performance_informations.forEach(ai -> {
-                            ai.setCreateTime(performance_header.getCreateTime());
                             performanceInformationService.savePerformanceInformation(ai);
                         });
                     }
index f9a1e81..ae9233b 100644 (file)
@@ -113,4 +113,14 @@ public class UuiCommonUtil {
                }
                return wholeStr;
        }
+       
+       public static boolean checkNumber(String num,String format){
+               boolean result = false;
+               if(isNotNullOrEmpty(num)){
+                       if(num.matches(format)){
+                               result = true;
+                       }
+               }
+               return result;
+       }
 }
index 4f7571b..2b8afa3 100644 (file)
@@ -81,8 +81,6 @@ public class AlarmsHeaderTest {
                ah.getVfStatus();
                ah.getAlarmInterfaceA();
                ah.getStatus();
-               ah.getCreateTime();
-               ah.getUpdateTime();
        }
 
        @Test
@@ -112,7 +110,7 @@ public class AlarmsHeaderTest {
                ah.setVfStatus("");
                ah.setAlarmInterfaceA("");
                ah.setStatus("");
-               ah.setCreateTime(DateUtils.now());
-               ah.setUpdateTime(DateUtils.now());
+               ah.setStartEpochMicrosec(DateUtils.now().getTime()+"");
+               ah.setLastEpochMicroSec(DateUtils.now().getTime()+"");
        }
 }
index 469b477..6f7274c 100644 (file)
@@ -52,12 +52,12 @@ public class AlarmsInformationTest implements Serializable {
 
        @Test
        public void testGetAlarmsInformation() throws Exception {
-               AlarmsInformation ai = new AlarmsInformation("name", "value", "eventId", DateUtils.now(), DateUtils.now(),"headerId");
+               AlarmsInformation ai = new AlarmsInformation("name", "value", "eventId","","","headerId");
                ai.getName();
                ai.getValue();
                ai.getSourceId();
-               ai.getCreateTime();
-               ai.getUpdateTime();
+               ai.getStartEpochMicroSec();
+               ai.getLastEpochMicroSec();
                ai.getId();
                ai.toString();
        }
@@ -68,8 +68,8 @@ public class AlarmsInformationTest implements Serializable {
                ai.setName("");
                ai.setValue("");
                ai.setSourceId("");
-               ai.setCreateTime(DateUtils.now());
-               ai.setUpdateTime(DateUtils.now());
+               ai.setStartEpochMicroSec("");;
+               ai.setLastEpochMicroSec("");;
                ai.setId(1);
        }
 }
index e78c01f..7710aac 100644 (file)
@@ -73,8 +73,6 @@ public class PerformanceHeaderTest implements Serializable {
                ph.getSequence();
                ph.getMeasurementsForVfScalingVersion();
                ph.getMeasurementInterval();
-               ph.getCreateTime();
-               ph.getUpdateTime();
        }
 
        @Test
@@ -97,7 +95,5 @@ public class PerformanceHeaderTest implements Serializable {
                ph.setSequence("");
                ph.setMeasurementsForVfScalingVersion("");
                ph.setMeasurementInterval("");
-               ph.setCreateTime(DateUtils.now());
-               ph.setUpdateTime(DateUtils.now());
        }
 }
index 6431585..245272f 100644 (file)
@@ -52,12 +52,12 @@ public class PerformanceInformationTest implements Serializable {
 
        @Test
        public void testGetPerformanceInformation() throws Exception {
-               PerformanceInformation pi = new PerformanceInformation("name", "value", "eventId", DateUtils.now(), DateUtils.now(),"headerId");
+               PerformanceInformation pi = new PerformanceInformation("name", "value", "eventId","","","headerId");
                pi.getName();
                pi.getValue();
                pi.getSourceId();
-               pi.getCreateTime();
-               pi.getUpdateTime();
+               pi.getStartEpochMicrosec();
+               pi.getLastEpochMicroSec();
                pi.getId();
        }
 
@@ -67,8 +67,8 @@ public class PerformanceInformationTest implements Serializable {
                pi.setName("");
                pi.setValue("");
                pi.setSourceId("");
-               pi.setCreateTime(DateUtils.now());
-               pi.setUpdateTime(DateUtils.now());
+               pi.setStartEpochMicrosec("");;
+               pi.setLastEpochMicroSec("");;
                pi.setId(1);
        }
 }
index 03959f2..ecda535 100755 (executable)
@@ -101,7 +101,7 @@ public class AlarmControllerTest {
        @Test
        public void testGenDiagram() throws Exception {
                try {
-                       controller.genDiagram("sourceId", "startTime", "endTime");
+                       controller.diagram("sourceId", "startTime", "endTime","format");
                } catch (Exception e) {
                        e.printStackTrace();
                }
index 615123f..7302ee9 100644 (file)
@@ -187,8 +187,6 @@ public class AlarmsHeaderServiceImplTest {
                        ah.setSpecificProblem("especially");
                        ah.setAlarmInterfaceA("cs");
                        ah.setStatus("1");
-                       ah.setCreateTime(DateUtils.now());
-                       ah.setUpdateTime(DateUtils.now());
                        ah.setVfStatus("1");
                        ah.setEventSourceType("q");
                        alarmsHeaderServiceImpl.getAllCount(ah, 1, 1);
@@ -223,8 +221,6 @@ public class AlarmsHeaderServiceImplTest {
                        ah.setSpecificProblem("especially");
                        ah.setAlarmInterfaceA("cs");
                        ah.setStatus("1");
-                       ah.setCreateTime(DateUtils.now());
-                       ah.setUpdateTime(DateUtils.now());
                        ah.setVfStatus("1");
                        ah.setEventSourceType("q");
                        alarmsHeaderServiceImpl.queryAlarmsHeader(ah, 1, 1);
index 0743a86..9233f0d 100644 (file)
@@ -168,8 +168,8 @@ public class AlarmsInformationServiceImplTest {
                        ai.setName("");
                        ai.setValue("");
                        ai.setSourceId("");
-                       ai.setCreateTime(DateUtils.now());
-                       ai.setUpdateTime(DateUtils.now());
+                       ai.setStartEpochMicroSec("");;
+                       ai.setLastEpochMicroSec("");;
                        alarmsInformationServiceImpl.getAllCount(ai, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
@@ -183,8 +183,8 @@ public class AlarmsInformationServiceImplTest {
                        ai.setName("");
                        ai.setValue("");
                        ai.setSourceId("");
-                       ai.setCreateTime(DateUtils.now());
-                       ai.setUpdateTime(DateUtils.now());
+                       ai.setStartEpochMicroSec("");;
+                       ai.setLastEpochMicroSec("");;
                        alarmsInformationServiceImpl.queryAlarmsInformation(ai, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
@@ -204,7 +204,7 @@ public class AlarmsInformationServiceImplTest {
        @Test
        public void testQueryDateBetween() throws Exception {
                try {
-                       alarmsInformationServiceImpl.queryDateBetween("sourceId", "startTime", "endTime");
+                       alarmsInformationServiceImpl.queryDateBetween("sourceId", "startTime", "endTime", "level");
                } catch (Exception e) {
                        e.printStackTrace();
                }
index 314e2cb..78dbf94 100644 (file)
@@ -182,8 +182,8 @@ public class PerformanceHeaderServiceImplTest {
                        ph.setMeasurementsForVfScalingVersion("");
                        ph.setMeasurementInterval("");
                        ph.setEventType("");
-                       ph.setCreateTime(DateUtils.now());
-                       ph.setUpdateTime(DateUtils.now());
+                       ph.setStartEpochMicrosec("");;
+                       ph.setLastEpochMicroSec("");;
                        performanceHeaderServiceImpl.getAllCount(ph, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
@@ -211,8 +211,8 @@ public class PerformanceHeaderServiceImplTest {
                        ph.setMeasurementsForVfScalingVersion("");
                        ph.setMeasurementInterval("");
                        ph.setEventType("");
-                       ph.setCreateTime(DateUtils.now());
-                       ph.setUpdateTime(DateUtils.now());
+                       ph.setStartEpochMicrosec("");;
+                       ph.setLastEpochMicroSec("");;
                        performanceHeaderServiceImpl.queryPerformanceHeader(ph, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
index ebbc38e..24e9e0d 100644 (file)
@@ -168,8 +168,8 @@ public class PerformanceInformationServiceImplTest {
                        pi.setName("");
                        pi.setValue("");
                        pi.setSourceId("");
-                       pi.setCreateTime(DateUtils.now());
-                       pi.setUpdateTime(DateUtils.now());
+                       pi.setStartEpochMicrosec("");;
+                       pi.setLastEpochMicroSec("");;
                        performanceInformationServiceImpl.getAllCount(pi, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
@@ -183,8 +183,8 @@ public class PerformanceInformationServiceImplTest {
                        pi.setName("");
                        pi.setValue("");
                        pi.setSourceId("");
-                       pi.setCreateTime(DateUtils.now());
-                       pi.setUpdateTime(DateUtils.now());
+                       pi.setStartEpochMicrosec("");;
+                       pi.setLastEpochMicroSec("");;
                        performanceInformationServiceImpl.queryPerformanceInformation(pi, 1, 1);
                } catch (Exception e) {
                        e.printStackTrace();
index d90e777..08d659c 100644 (file)
@@ -22,10 +22,14 @@ echo @RUNHOME@ $RUNHOME
 echo "Starting mysql"
 service mysql start
 sleep 10
+echo "run.sh 1"
 
 SCRIPT="/home/uui/resources/bin/initDB.sh"
+echo "run.sh 2"
 chmod 755 $SCRIPT
+echo "run.sh 3"
 $SCRIPT  root root 3306 127.0.0.1
+echo "run.sh 4"
 
 echo @JAVA_HOME@ $JAVA_HOME
 JAVA="$JAVA_HOME/bin/java"
index 6683960..b950492 100644 (file)
 # limitations under the License.
 #
 
+echo "initDB.sh 1"
 DIRNAME=`dirname $0`
+echo "initDB.sh 2"
 HOME=`cd $DIRNAME/; pwd`
+echo "initDB.sh 3"
 user=$1
 password=$2
 port=$3
 host=$4
+echo "initDB.sh 4"
 echo "start create usecase-ui db"
 sql_path=$HOME/../
+echo "initDB.sh 5"
 mysql -u$user -p$password -P$port -h$host <$sql_path/dbscripts/mysql/usecase-ui-createdb.sql
+echo "initDB.sh 6"
 sql_result=$?
 if [ $sql_result != 0 ] ; then
     echo "failed to create usecase-ui database"
index 1acf583..2730887 100644 (file)
 use uui;
 
 SET FOREIGN_KEY_CHECKS=0;
+
 -- ----------------------------
--- Table structure for alarms_additionalinformation
+-- Table structure for `alarms_additionalinformation`
 -- ----------------------------
 DROP TABLE IF EXISTS `alarms_additionalinformation`;
 CREATE TABLE `alarms_additionalinformation` (
-  `name` varchar(500),
-  `value` varchar(500),
-  `eventId` varchar(500),
-  `createTime` datetime,
-  `updateTime` datetime,
-  `id` int(10) NOT NULL auto_increment,
+  `id` int(10) NOT NULL AUTO_INCREMENT,
+  `headerId` varchar(100) NOT NULL,
+  `name` varchar(500) DEFAULT NULL,
+  `value` varchar(500) DEFAULT NULL,
+  `sourceId` varchar(500) DEFAULT NULL,
+  `startEpochMicrosec` varchar(500) DEFAULT NULL,
+  `lastEpochMicroSec` varchar(500) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ALTER TABLE `alarms_additionalinformation` ADD INDEX `alarms_additionalinformation_index` (`headerId`, `sourceId`);
+
 
 -- ----------------------------
--- Table structure for alarms_commoneventheader
+-- Table structure for `alarms_commoneventheader`
 -- ----------------------------
 DROP TABLE IF EXISTS `alarms_commoneventheader`;
 CREATE TABLE `alarms_commoneventheader` (
-  `version` varchar(500),
-  `eventName` varchar(500),
-  `domain` varchar(500),
-  `eventId` varchar(500),
-  `eventType` varchar(500),
+  `id` varchar(100) NOT NULL,
+  `version` varchar(500) DEFAULT NULL,
+  `eventName` varchar(500) DEFAULT NULL,
+  `domain` varchar(500) DEFAULT NULL,
+  `eventId` varchar(500) DEFAULT NULL,
+  `eventType` varchar(500) DEFAULT NULL,
   `nfcNamingCode` varchar(500) DEFAULT NULL,
   `nfNamingCode` varchar(500) DEFAULT NULL,
-  `sourceId` varchar(500),
-  `sourceName` varchar(500),
-  `reportingEntityId` varchar(500),
-  `reportingEntityName` varchar(500),
-  `priority` varchar(50),
-  `startEpochMicrosec` varchar(500),
-  `lastEpochMicroSec` varchar(500),
-  `sequence` varchar(500),
-  `faultFieldsVersion` varchar(500),
-  `eventServrity` varchar(500),
-  `eventSourceType` varchar(500),
-  `eventCategory` varchar(500),
-  `alarmCondition` varchar(500),
-  `specificProblem` varchar(500),
-  `vfStatus` varchar(500),
-  `alarmInterfaceA` varchar(500),
-  `status` varchar(50),
-  `createTime` datetime,
-  `updateTime` datetime,
-  `id` int(10) NOT NULL auto_increment,
+  `sourceId` varchar(500) DEFAULT NULL,
+  `sourceName` varchar(500) DEFAULT NULL,
+  `reportingEntityId` varchar(500) DEFAULT NULL,
+  `reportingEntityName` varchar(500) DEFAULT NULL,
+  `priority` varchar(50) DEFAULT NULL,
+  `startEpochMicrosec` varchar(500) DEFAULT NULL,
+  `lastEpochMicroSec` varchar(500) DEFAULT NULL,
+  `startEpochMicrosecCleared` varchar(255) DEFAULT NULL,
+  `lastEpochMicroSecCleared` varchar(255) DEFAULT NULL,
+  `sequence` varchar(500) DEFAULT NULL,
+  `faultFieldsVersion` varchar(500) DEFAULT NULL,
+  `eventServrity` varchar(500) DEFAULT NULL,
+  `eventSourceType` varchar(500) DEFAULT NULL,
+  `eventCategory` varchar(500) DEFAULT NULL,
+  `alarmCondition` varchar(500) DEFAULT NULL,
+  `specificProblem` varchar(500) DEFAULT NULL,
+  `vfStatus` varchar(500) DEFAULT NULL,
+  `alarmInterfaceA` varchar(500) DEFAULT NULL,
+  `status` varchar(50) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ALTER TABLE `alarms_commoneventheader` ADD INDEX `alarms_commoneventheader_index` (`sourceId`);
+
 
 -- ----------------------------
--- Table structure for performance_additionalinformation
+-- Table structure for `performance_additionalinformation`
 -- ----------------------------
 DROP TABLE IF EXISTS `performance_additionalinformation`;
 CREATE TABLE `performance_additionalinformation` (
-  `name` varchar(500),
-  `value` varchar(500),
-  `eventId` varchar(500),
-  `createTime` datetime,
-  `updateTime` datetime,
-  `id` int(10) NOT NULL auto_increment,
+  `id` int(10) NOT NULL AUTO_INCREMENT,
+  `headerId` varchar(100) NOT NULL,
+  `name` varchar(500) DEFAULT NULL,
+  `value` varchar(500) DEFAULT NULL,
+  `sourceId` varchar(500) DEFAULT NULL,
+  `startEpochMicrosec` varchar(500) DEFAULT NULL,
+  `lastEpochMicroSec` varchar(500) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ALTER TABLE `performance_additionalinformation` ADD INDEX `performance_additionalinformation_index` (`headerId`, `sourceId`);
+
 
 -- ----------------------------
--- Table structure for performance_commoneventheader
+-- Table structure for `performance_commoneventheader`
 -- ----------------------------
 DROP TABLE IF EXISTS `performance_commoneventheader`;
 CREATE TABLE `performance_commoneventheader` (
-  `version` varchar(500),
-  `eventName` varchar(500),
-  `domain` varchar(500),
-  `eventId` varchar(500),
-  `eventType` varchar(500),
+  `id` varchar(100) NOT NULL,
+  `version` varchar(500) DEFAULT NULL,
+  `eventName` varchar(500) DEFAULT NULL,
+  `domain` varchar(500) DEFAULT NULL,
+  `eventId` varchar(500) DEFAULT NULL,
+  `eventType` varchar(500) DEFAULT NULL,
   `nfcNamingCode` varchar(500) DEFAULT NULL,
   `nfNamingCode` varchar(500) DEFAULT NULL,
-  `sourceId` varchar(500),
-  `sourceName` varchar(500),
-  `reportingEntityId` varchar(500),
-  `reportingEntityName` varchar(500),
-  `priority` varchar(50),
-  `startEpochMicrosec` varchar(500),
-  `lastEpochMicroSec` varchar(500),
-  `sequence` varchar(500),
-  `measurementsForVfScalingVersion` varchar(500),
-  `measurementInterval` varchar(500),
-  `createTime` datetime,
-  `updateTime` datetime,
-  `id` int(10) NOT NULL auto_increment,
+  `sourceId` varchar(500) DEFAULT NULL,
+  `sourceName` varchar(500) DEFAULT NULL,
+  `reportingEntityId` varchar(500) DEFAULT NULL,
+  `reportingEntityName` varchar(500) DEFAULT NULL,
+  `priority` varchar(50) DEFAULT NULL,
+  `startEpochMicrosec` varchar(500) DEFAULT NULL,
+  `lastEpochMicroSec` varchar(500) DEFAULT NULL,
+  `sequence` varchar(500) DEFAULT NULL,
+  `measurementsForVfScalingVersion` varchar(500) DEFAULT NULL,
+  `measurementInterval` varchar(500) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+ALTER TABLE `performance_commoneventheader` ADD INDEX `performance_commoneventheader_index` (`sourceId`);
+