Fix monitor bug 05/21405/1
authorshentao <shentao@chinamobile.com>
Tue, 31 Oct 2017 02:27:24 +0000 (10:27 +0800)
committershentao <shentao@chinamobile.com>
Tue, 31 Oct 2017 02:27:35 +0000 (10:27 +0800)
Change-Id: Ife25671ad541732d2328fa46804bd006076e022b
Issue-Id: USECASEUI-50
Signed-off-by: shentao <shentao@chinamobile.com>
22 files changed:
server/src/main/java/org/onap/usecaseui/server/UsecaseuiServerApplication.java
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/PerformanceInformation.java
server/src/main/java/org/onap/usecaseui/server/constant/Constant.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/AlarmsHeaderService.java
server/src/main/java/org/onap/usecaseui/server/service/AlarmsInformationService.java
server/src/main/java/org/onap/usecaseui/server/service/PerformanceHeaderService.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/test/java/org/onap/usecaseui/server/controller/AlarmControllerTest.java
server/src/test/java/org/onap/usecaseui/server/controller/PerformanceControllerTest.java
server/src/test/java/org/onap/usecaseui/server/service/AlarmsHeaderServiceTest.java
server/src/test/java/org/onap/usecaseui/server/service/PerformanceHeaderServiceTest.java
server/src/test/java/org/onap/usecaseui/server/service/PerformanceInformationServiceTest.java
server/src/test/java/org/onap/usecaseui/server/util/DateUtilsTest.java

index a45a7ec..c12bb24 100644 (file)
  */
 package org.onap.usecaseui.server;
 
-import org.onap.msb.sdk.discovery.common.RouteException;
-import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;
-import org.onap.msb.sdk.discovery.entity.Node;
-import org.onap.msb.sdk.httpclient.msb.MSBServiceClient;
-import org.onap.usecaseui.server.util.RestfulServices;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.web.client.RestTemplate;
 
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.HashSet;
-import java.util.Set;
-
 @SpringBootApplication
 @ComponentScan(basePackages = "org.onap.usecaseui.server")
 public class UsecaseuiServerApplication {
@@ -42,32 +32,6 @@ public class UsecaseuiServerApplication {
     
        public static void main(String[] args) {
                SpringApplication.run(UsecaseuiServerApplication.class, args);
-//        String msbUrl = RestfulServices.getMsbAddress();
-//        if (msbUrl.contains(":")) {
-//            String[] ipAndPort = msbUrl.split(":");
-//            MSBServiceClient msbClient = new MSBServiceClient(ipAndPort[0], Integer.parseInt(ipAndPort[1]));
-//
-//            MicroServiceInfo msinfo = new MicroServiceInfo();
-//            msinfo.setServiceName("usecase-ui-server");
-//            msinfo.setVersion("v1");
-//            msinfo.setUrl("/api/usecaseui/server/v1");
-//            msinfo.setProtocol("REST");
-//            msinfo.setVisualRange("0|1");
-//
-//            try {
-//                Set<Node> nodes = new HashSet<>();
-//                Node node1 = new Node();
-//                node1.setIp(InetAddress.getLocalHost().getHostAddress());
-//                node1.setPort("8082");
-//                nodes.add(node1);
-//                msinfo.setNodes(nodes);
-//                msbClient.registerMicroServiceInfo(msinfo, false);
-//            } catch (UnknownHostException e) {
-//                e.printStackTrace();
-//            } catch (RouteException e) {
-//                e.printStackTrace();
-//            }
-//        }
        }
        
 }
index ddb5ded..d974568 100644 (file)
@@ -23,11 +23,7 @@ import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.Table;
 
-/**
- * 
- * @author xuekui
- *
- */
+
 @Entity
 @Table(name="alarms_commoneventheader")
 public class AlarmsHeader implements Serializable{
index 5c447d6..ef3ae55 100644 (file)
@@ -33,13 +33,15 @@ import javax.persistence.Table;
 public class AlarmsInformation implements Serializable {
        
        @Id
+       @Column(name = "id")
+       private int id;
+       
        @Column(name = "name")
        private String name;
        
        @Column(name = "value")
        private String value;
        
-       @Id
        @Column(name = "eventId")
        private String eventId;
        
@@ -103,6 +105,14 @@ public class AlarmsInformation implements Serializable {
        public void setUpdateTime(Date updateTime) {
                this.updateTime = updateTime;
        }
+
+       public int getId() {
+               return id;
+       }
+
+       public void setId(int id) {
+               this.id = id;
+       }
        
        
 }
index d2c71ad..c0da3ab 100755 (executable)
@@ -29,13 +29,15 @@ import javax.persistence.Table;
 public class PerformanceInformation implements Serializable {\r
        \r
        @Id\r
+       @Column(name = "id")\r
+       private int id;\r
+       \r
        @Column(name = "name")\r
        private String name;\r
        \r
        @Column(name = "value")\r
        private String value;\r
        \r
-       @Id\r
        @Column(name = "eventId")\r
        private String eventId;\r
        \r
@@ -99,6 +101,14 @@ public class PerformanceInformation implements Serializable {
        public void setUpdateTime(Date updateTime) {\r
                this.updateTime = updateTime;\r
        }\r
+\r
+       public int getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(int id) {\r
+               this.id = id;\r
+       }\r
        \r
        \r
 }\r
index ab95eb2..9a818e4 100755 (executable)
@@ -19,6 +19,7 @@ package org.onap.usecaseui.server.constant;
 public final class Constant\r
 {\r
 \r
-    public static final String  DATE_FROMAT= "yyyy-MM-dd HH:mm:ss";\r
-    \r
+    public static final String DATE_FORMAT= "yyyy-MM-dd HH:mm:ss";\r
+\r
+\r
 }\r
index e01bf04..170d67d 100755 (executable)
 package org.onap.usecaseui.server.controller;\r
 \r
 import javax.annotation.Resource;\r
-import javax.servlet.http.HttpServletRequest;\r
 import javax.servlet.http.HttpServletResponse;\r
 \r
 import com.fasterxml.jackson.core.JsonProcessingException;\r
 import com.fasterxml.jackson.databind.ObjectMapper;\r
-import org.hibernate.annotations.Parameter;\r
 import org.onap.usecaseui.server.bean.AlarmsHeader;\r
 import org.onap.usecaseui.server.bean.AlarmsInformation;\r
-import org.onap.usecaseui.server.bean.PerformanceHeader;\r
-import org.onap.usecaseui.server.bean.PerformanceInformation;\r
 import org.onap.usecaseui.server.bo.AlarmBo;\r
 import org.onap.usecaseui.server.constant.Constant;\r
 import org.onap.usecaseui.server.service.AlarmsHeaderService;\r
 import org.onap.usecaseui.server.service.AlarmsInformationService;\r
 import org.onap.usecaseui.server.util.CSVUtils;\r
 import org.onap.usecaseui.server.util.DateUtils;\r
-import org.onap.usecaseui.server.wrapper.AlarmWrapper;\r
+import org.onap.usecaseui.server.util.Page;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
-import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.context.annotation.EnableAspectJAutoProxy;\r
-import org.springframework.stereotype.Controller;\r
 import org.springframework.web.bind.annotation.*;\r
 import org.springframework.web.servlet.ModelAndView;\r
 \r
@@ -65,12 +59,37 @@ public class AlarmController
     @Resource(name = "AlarmsInformationService")\r
     private AlarmsInformationService alarmsInformationService;\r
 \r
+    private  String[] AlarmCSVHeaders = new String[]{"version",\r
+            "eventName","domain","eventId","eventType","nfcNamingCode",\r
+            "nfNamingCode","sourceId","sourceName","reportingEntityId",\r
+            "reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",\r
+            "sequence","faultFieldsVersion","eventServrity","eventSourceType",\r
+            "eventCategory","alarmCondition","specificProblem","vfStatus",\r
+            "alarmInterfaceA","status",\r
+            "createTime","updateTime","name","value"};\r
+\r
+    private ObjectMapper omAlarm = new ObjectMapper();\r
+\r
+    private List<String> last_eventId = new ArrayList<>();\r
+\r
+    private List<String> last_status = new ArrayList<>();\r
+\r
+    private List<String> last_vfStatus = new ArrayList<>();\r
 \r
     @RequestMapping(value = {"/usecase-ui"}, method = RequestMethod.GET)\r
     public ModelAndView index(){\r
         return new ModelAndView("index");\r
     }\r
 \r
+    @RequestMapping(value = {"/alarm/{eventId}/{eventName}/{name}/{value}/{createTime}/{status}/{vfStatus}"})\r
+    public String getAlarmDateTotal(@PathVariable String eventId,@PathVariable String eventName,\r
+                                    @PathVariable String name,@PathVariable String value,\r
+                                    @PathVariable String createTime,@PathVariable String status,\r
+                                    @PathVariable String vfStatus) throws ParseException {\r
+\r
+        return "";\r
+    }\r
+\r
     @RequestMapping(value = {"/alarm/{currentPage}/{pageSize}",\r
             "/alarm/{currentPage}/{pageSize}/{eventId}/{eventName}/{name}/{value}/{createTime}/{status}/{vfStatus}"},\r
             method = RequestMethod.GET , produces = "application/json")\r
@@ -78,9 +97,10 @@ public class AlarmController
                                @PathVariable(required = false) String name,@PathVariable(required = false) String value,\r
                                @PathVariable(required = false) String createTime,@PathVariable(required = false) String status,\r
                                @PathVariable(required = false) String vfStatus,\r
-                               @PathVariable int currentPage, @PathVariable int pageSize) {\r
+                               @PathVariable int currentPage, @PathVariable int pageSize) throws JsonProcessingException {\r
         List<AlarmsHeader> alarmsHeaders = null;\r
-        List<AlarmBo> maps = new ArrayList<>();\r
+        List<AlarmBo> list = new ArrayList<>();\r
+        Page pa = null;\r
         if (null != eventId || null != eventName || null != name || null != value || null != createTime\r
                 || null != status || null != vfStatus  ){\r
             AlarmsHeader alarm = new AlarmsHeader();\r
@@ -93,7 +113,8 @@ public class AlarmController
             } catch (ParseException e) {\r
                 logger.error("Parse date error :"+e.getMessage());\r
             }\r
-            alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(alarm,currentPage,pageSize).getList();\r
+            pa = alarmsHeaderService.queryAlarmsHeader(alarm,currentPage,pageSize);\r
+            alarmsHeaders = pa.getList();\r
             if (null != alarmsHeaders && alarmsHeaders.size() > 0) {\r
                 alarmsHeaders.forEach(a ->{\r
                     AlarmBo abo = new AlarmBo();\r
@@ -103,48 +124,43 @@ public class AlarmController
                     information.setValue(!"null".equals(value)?value:null);\r
                     information.setEventId(a.getEventId());\r
                     abo.setAlarmsInformation(alarmsInformationService.queryAlarmsInformation(information,1,100).getList());\r
-                    maps.add(abo);\r
+                    list.add(abo);\r
                 });\r
             }\r
         }else {\r
-            alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(null, currentPage, pageSize).getList();\r
+            pa = alarmsHeaderService.queryAlarmsHeader(null, currentPage, pageSize);\r
+            alarmsHeaders = pa.getList();\r
             if (null != alarmsHeaders && alarmsHeaders.size() > 0) {\r
                 alarmsHeaders.forEach(a -> {\r
                     AlarmBo abo = new AlarmBo();\r
                     abo.setAlarmsHeader(a);\r
                     abo.setAlarmsInformation(alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(a.getEventId()),currentPage,pageSize).getList());\r
-                    maps.add(abo);\r
+                    list.add(abo);\r
                 });\r
             }\r
         }\r
         try {\r
-            ObjectMapper ojm = new ObjectMapper();\r
-            ojm.setDateFormat(new SimpleDateFormat(Constant.DATE_FROMAT));\r
-            return ojm.writeValueAsString(maps);\r
+            Map<String,Object> map = new HashMap<>();\r
+            map.put("alarms",list);\r
+            map.put("totalRecords",pa.getTotalRecords());\r
+            omAlarm.setDateFormat(new SimpleDateFormat(Constant.DATE_FORMAT));\r
+            return omAlarm.writeValueAsString(map);\r
         } catch (JsonProcessingException e) {\r
             logger.debug("JsonProcessingException :"+e.getMessage());\r
-            return "";\r
+            return omAlarm.writeValueAsString("failed");\r
         }\r
     }\r
 \r
     @RequestMapping(value = { "/alarm/genCsv/{eventId}" } , method = RequestMethod.GET , produces = "application/json")\r
-    public String generateCsvFile(HttpServletResponse response, @PathVariable String[] eventId){\r
+    public String generateCsvFile(HttpServletResponse response, @PathVariable String[] eventId) throws JsonProcessingException {\r
         String csvFile = "csvFiles/vnf_alarm_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";\r
-        String[] headers = new String[]{"version",\r
-                "eventName","domain","eventId","eventType","nfcNamingCode",\r
-                "nfNamingCode","sourceId","sourceName","reportingEntityId",\r
-                "reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",\r
-                "sequence","faultFieldsVersion","eventServrity","eventSourceType",\r
-                "eventCategory","alarmCondition","specificProblem","vfStatus",\r
-                "alarmInterfaceA","status",\r
-                "createTime","updateTime","name","value"};\r
         List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryId(eventId);\r
         List<String[]> csvData = new ArrayList<>();\r
         try{\r
             alarmsHeaders.forEach(ala ->{\r
                 List<AlarmsInformation> information = alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(ala.getEventId()),1,100).getList();\r
-                String names = new String();\r
-                String values = new String();\r
+                String names = "";\r
+                String values = "";\r
                 if (0 < information.size() && null != information){\r
                     for (AlarmsInformation a : information){\r
                         names += a.getName()+",";\r
@@ -163,7 +179,7 @@ public class AlarmController
                         DateUtils.dateToString(ala.getUpdateTime()),names,values\r
                 });\r
             });\r
-            CSVUtils.writeCsv(headers,csvData,csvFile);\r
+            CSVUtils.writeCsv(AlarmCSVHeaders,csvData,csvFile);\r
         }catch (Exception e){\r
             logger.error(e.getMessage());\r
         }\r
@@ -178,20 +194,26 @@ public class AlarmController
                 while ((length = is.read(b)) > 0) {\r
                     os.write(b, 0, length);\r
                 }\r
-                return "{'result':'success'}";\r
+                return omAlarm.writeValueAsString("success");\r
             }catch (IOException e){\r
                 logger.error("download csv File error :"+e.getMessage());\r
-                return "{'result':'failed'}";\r
+                return omAlarm.writeValueAsString("failed");\r
             }\r
         }else\r
-            return "csvFile generate success,response is null,don't download to local";\r
+            return omAlarm.writeValueAsString("csvFile generate success,response is null,don't download to local");\r
     }\r
 \r
 \r
     @RequestMapping(value = { "/alarm/{eventId}/{status}/{type}" } , method = RequestMethod.PUT )\r
-    public String updateStatus(HttpServletResponse response,@PathVariable String[] eventId,@PathVariable String[] status,@PathVariable String type){\r
+    public String updateStatus(HttpServletResponse response,@PathVariable String[] eventId,@PathVariable String[] status,@PathVariable String type) throws JsonProcessingException {\r
         List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryId(eventId);\r
+        last_eventId.clear();\r
+        last_vfStatus.clear();\r
+        last_status.clear();\r
         for (AlarmsHeader ala: alarmsHeaders) {\r
+            last_eventId.add(ala.getEventId());\r
+            last_status.add(ala.getStatus());\r
+            last_vfStatus.add(ala.getVfStatus());\r
             if ("vf".equals(type))\r
                 ala.setVfStatus(status[0]);\r
             else if ("many".equals(type)){\r
@@ -203,13 +225,34 @@ public class AlarmController
             if ("0".equals(alarmsHeaderService.updateAlarmsHeader(ala))) {\r
                 if (null != response)\r
                     response.setStatus(400);\r
-                return "{'result':'update failed'}";\r
+                return omAlarm.writeValueAsString("failed");\r
             }\r
         }\r
-        return "{'result':'update success'}";\r
+        return omAlarm.writeValueAsString("success");\r
     }\r
 \r
-\r
+    @RequestMapping(value = {"/alarm/revoke"} , method = RequestMethod.GET)\r
+    public String revoke() throws JsonProcessingException {\r
+        String result ;\r
+        if (last_eventId.size() > 0 && last_vfStatus.size() > 0 && last_status.size() > 0){\r
+            String[] eids = new String[last_eventId.size()];\r
+            last_eventId.toArray(eids);\r
+            List<AlarmsHeader> alarmsHeaders  = alarmsHeaderService.queryId(eids);\r
+            for (int i = 0;i<alarmsHeaders.size();i++){\r
+                AlarmsHeader ala =  alarmsHeaders.get(i);\r
+                ala.setStatus(last_status.get(i));\r
+                ala.setVfStatus(last_vfStatus.get(i));\r
+                alarmsHeaderService.updateAlarmsHeader(ala);\r
+            }\r
+            last_eventId.clear();\r
+            last_status.clear();\r
+            last_vfStatus.clear();\r
+            result = "revoke success";\r
+        } else {\r
+            result = "nothing can revoke";\r
+        }\r
+        return omAlarm.writeValueAsString(result);\r
+    }\r
 \r
 \r
 }\r
index 422074a..2634d25 100755 (executable)
@@ -18,7 +18,6 @@ package org.onap.usecaseui.server.controller;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.onap.usecaseui.server.bean.AlarmsHeader;
 import org.onap.usecaseui.server.bean.PerformanceHeader;
 import org.onap.usecaseui.server.bean.PerformanceInformation;
 import org.onap.usecaseui.server.bo.PerformanceBo;
@@ -30,17 +29,12 @@ import org.onap.usecaseui.server.util.DateUtils;
 import org.onap.usecaseui.server.util.Page;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.xml.crypto.Data;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -63,12 +57,22 @@ public class PerformanceController {
 
     private Logger logger = LoggerFactory.getLogger(PerformanceController.class);
 
+    private final String[] PerformanceCSVHeaders = {"version",
+            "eventName","domain","eventId","eventType","nfcNamingCode",
+            "nfNamingCode","sourceId","sourceName","reportingEntityId",
+            "reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",
+            "sequence","measurementsForVfScalingVersion","measurementInterval",
+            "createTime","updateTime","value","name"};
+
+    private ObjectMapper omPerformance = new ObjectMapper();
+
     @RequestMapping(value = {"/performance/{currentPage}/{pageSize}","/performance/{currentPage}/{pageSize}/{eventId}/{eventName}/{name}/{value}/{createTime}"},method = RequestMethod.GET, produces = "application/json")
     public String getPerformanceData(HttpServletResponse response,@PathVariable int currentPage,
                                      @PathVariable int pageSize,@PathVariable(required = false) String eventId,
                                      @PathVariable(required = false) String eventName,@PathVariable(required = false) String name,
-                                     @PathVariable(required = false) String value,@PathVariable(required = false) String createTime)  {
+                                     @PathVariable(required = false) String value,@PathVariable(required = false) String createTime) throws JsonProcessingException {
         List<Object> list = new ArrayList<>();
+        Page pa = null;
         if (null != eventId || null != eventName || null != name || null != value || null != createTime){
             PerformanceHeader performanceHeader = new PerformanceHeader();
             performanceHeader.setEventId(!"null".equals(eventId)?eventId:null);
@@ -81,7 +85,8 @@ public class PerformanceController {
                 logger.error("ParseException["+createTime+"]:"+e.getMessage());
                 return "{'result':'error'}";
             }
-            List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryPerformanceHeader(performanceHeader,currentPage,pageSize).getList();
+            pa = performanceHeaderService.queryPerformanceHeader(performanceHeader,currentPage,pageSize);
+            List<PerformanceHeader> performanceHeaders = pa.getList();
             performanceHeaders.forEach( per ->{
                 PerformanceBo pbo = new PerformanceBo();
                 PerformanceInformation pe = new PerformanceInformation();
@@ -94,7 +99,7 @@ public class PerformanceController {
                 list.add(pbo);
             });
         }else{
-            Page pa = performanceHeaderService.queryPerformanceHeader(null,currentPage,pageSize);
+            pa = performanceHeaderService.queryPerformanceHeader(null,currentPage,pageSize);
             List<PerformanceHeader> p = pa!=null?pa.getList():null;
             if (null != p && p.size() > 0)
                 p.forEach( per ->{
@@ -105,32 +110,28 @@ public class PerformanceController {
                 });
         }
         try {
-            ObjectMapper ojm = new ObjectMapper();
-            ojm.setDateFormat(new SimpleDateFormat(Constant.DATE_FROMAT));
-            return ojm.writeValueAsString(list);
+            Map<String,Object> map = new HashMap<>();
+            map.put("performances",list);
+            map.put("totalRecords",pa.getTotalRecords());
+            omPerformance.setDateFormat(new SimpleDateFormat(Constant.DATE_FORMAT));
+            return omPerformance.writeValueAsString(map);
         } catch (JsonProcessingException e) {
             logger.error("JsonProcessingException"+e.getMessage());
-            return "{'result':'error'}";
+            return omPerformance.writeValueAsString("failed");
         }
     }
 
     @RequestMapping(value = {"/performance/genCsv/{eventId}"}, method = RequestMethod.GET, produces = "application/json")
     public String generateCsvFile(HttpServletResponse response, @PathVariable String[] eventId) throws JsonProcessingException {
         String csvFile = "csvFiles/vnf_performance_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
-        String[] headers = new String[]{"version",
-                "eventName","domain","eventId","eventType","nfcNamingCode",
-                "nfNamingCode","sourceId","sourceName","reportingEntityId",
-                "reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",
-                "sequence","measurementsForVfScalingVersion","measurementInterval",
-                "createTime","updateTime","value","name"};
         List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryId(eventId);
-        if (null == performanceHeaders || performanceHeaders.size() < 0)
+        if (null == performanceHeaders || performanceHeaders.size() <= 0)
             return new ObjectMapper().writeValueAsString("selected eventId don't exist");
         List<String[]> csvData = new ArrayList<>();
         performanceHeaders.forEach(s ->{
             List<PerformanceInformation> information = performanceInformationService.queryPerformanceInformation(new PerformanceInformation(s.getEventId()),1,100).getList();
-            String names = new String();
-            String values = new String();
+            String names = "";
+            String values = "";
             if (0 < information.size() && null != information){
                 for (PerformanceInformation a : information){
                     names += a.getName()+",";
@@ -147,7 +148,7 @@ public class PerformanceController {
                     names,values
             });
         });
-        CSVUtils.writeCsv(headers,csvData,csvFile);
+        CSVUtils.writeCsv(PerformanceCSVHeaders,csvData,csvFile);
         if (null != response){
             response.setCharacterEncoding("utf-8");
             response.setContentType("application/csv");
@@ -159,18 +160,18 @@ public class PerformanceController {
                 while ((length = is.read(b)) > 0) {
                     os.write(b, 0, length);
                 }
-                return "{'result':'success'}";
+                return omPerformance.writeValueAsString("success");
             }catch (IOException e){
                 logger.error("download csv File error :"+e.getMessage());
-                return "{'result':'failed'}";
+                return omPerformance.writeValueAsString("failed");
             }
         }else
-            return "csvFile generate success,response is null,don't download to local";
+            return omPerformance.writeValueAsString("csvFile generate success,but response is null,don't download to local");
 
     }
 
     @RequestMapping(value = {"/performance/genDiaCsv"}, method = RequestMethod.POST, produces = "application/json")
-    public String generateDiaCsvFile(HttpServletResponse response,@RequestBody Map<String,String> p) {
+    public String generateDiaCsvFile(HttpServletResponse response,@RequestBody Map<String,String> p) throws JsonProcessingException {
         String csvFileName = "csvFiles/"+p.get("name")+"_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
         try{
             String[] headers = new String[]{"eventId","name","value","createTime","updateTime"};
@@ -196,40 +197,83 @@ public class PerformanceController {
                 while ((length = is.read(b)) > 0) {
                     os.write(b, 0, length);
                 }
-                return "{'result':'success'}";
+                return omPerformance.writeValueAsString("success");
             }catch (IOException e){
                 logger.error("download csv File error :"+e.getMessage());
-                return "{'result':'failed'}";
+                return omPerformance.writeValueAsString("failed");
             }
         }else
-            return "csvFile generate success,response is null,don't download to local";
+            return omPerformance.writeValueAsString("csvFile generate success,but response is null,don't download to local");
     }
 
     @ResponseBody
     @RequestMapping(value = {"/performance/diagram/{unit}/{eventId}"}, method = RequestMethod.GET, produces = "application/json")
     public String generateDiagram(@PathVariable String unit,@PathVariable String eventId) throws ParseException, JsonProcessingException {
-        String revDate = "";
+        Map<String,List<Integer>> diagramSource = new HashMap<>();
+        String[] names = {"cpu","network","disk","memory"};
         switch (unit){
             case "hour":
-                revDate = DateUtils.initDate(new Date(),1,1,1,-1,0,0);
+                for(int i = 0 ; i < 4 ; i++){
+                    Date startDateHour = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,1,-1,-1,0,0));
+                    Date endDateHour = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,1,-1,-1,0,0));
+                    endDateHour = DateUtils.stringToDate(DateUtils.addDate(endDateHour,"minute",15));
+                    List<Integer> values = new ArrayList<>();
+                    for (int j = 0 ; j < 4 ; j++){
+                        values.add(performanceInformationService.queryDataBetweenSum(eventId,names[i],startDateHour,endDateHour));
+                        startDateHour = DateUtils.stringToDate(DateUtils.addDate(startDateHour,"minute",15));
+                        endDateHour = DateUtils.stringToDate(DateUtils.addDate(endDateHour,"minute",15));
+                    }
+                    diagramSource.put(names[i],values);
+                }
                 break;
             case "day":
-                revDate = DateUtils.initDate(new Date(),1,1,-1,0,0,0);
+                for(int i = 0 ; i < 4 ; i++){
+                    Date startDateDay = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,1,-1,0,0,0));
+                    Date endDateDay = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,1,-1,0,0,0));
+                    endDateDay = DateUtils.stringToDate(DateUtils.addDate(endDateDay,"hour",1));
+                    List<Integer> values = new ArrayList<>();
+                    for (int j = 0 ; j < 24 ; j++){
+                        values.add(performanceInformationService.queryDataBetweenSum(eventId,names[i],startDateDay,endDateDay));
+                        startDateDay = DateUtils.stringToDate(DateUtils.addDate(startDateDay,"hour",1));
+                        endDateDay = DateUtils.stringToDate(DateUtils.addDate(endDateDay,"hour",1));
+                    }
+                    diagramSource.put(names[i],values);
+                }
                 break;
             case "month":
-                revDate = DateUtils.initDate(new Date(),1,-1,0,0,0,0);
+               for(int i = 0 ; i < 4 ; i++){
+                   Date startDateMonth = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,-1,0,0,0,0));
+                   Date endDateMonth = DateUtils.stringToDate(DateUtils.initDate(new Date(),1,-1,0,0,0,0));
+                   endDateMonth = DateUtils.stringToDate(DateUtils.addDate(endDateMonth,"day",1));
+                   List<Integer> values = new ArrayList<>();
+                    for (int j = 0 ; j < 31 ; j++){
+                        values.add(performanceInformationService.queryDataBetweenSum(eventId,names[i],startDateMonth,endDateMonth));
+                        startDateMonth = DateUtils.stringToDate(DateUtils.addDate(startDateMonth,"day",1));
+                        endDateMonth = DateUtils.stringToDate(DateUtils.addDate(endDateMonth,"day",1));
+                    }
+                    diagramSource.put(names[i],values);
+                }
                 break;
             case "year":
-                revDate = DateUtils.initDate(new Date(),-1,0,0,0,0,0);
+                for(int i = 0 ; i < 4 ; i++){
+                    Date startDateYear = DateUtils.stringToDate(DateUtils.initDate(new Date(),-1,0,0,0,0,0));
+                    Date endDateYear = DateUtils.stringToDate(DateUtils.initDate(new Date(),-1,0,0,0,0,0));
+                    endDateYear = DateUtils.stringToDate(DateUtils.addDate(endDateYear,"month",1));
+                    List<Integer> values = new ArrayList<>();
+                    for (int j = 0 ; j < 12 ; j++){
+                        logger.info(names[i]);
+                        logger.info(DateUtils.dateToString(startDateYear));
+                        logger.info(DateUtils.dateToString(endDateYear));
+                        values.add(performanceInformationService.queryDataBetweenSum(eventId,names[i],startDateYear,endDateYear));
+                        startDateYear = DateUtils.stringToDate(DateUtils.addDate(startDateYear,"month",1));
+                        endDateYear = DateUtils.stringToDate(DateUtils.addDate(endDateYear,"month",1));
+                    }
+                    diagramSource.put(names[i],values);
+                }
                 break;
         }
-        PerformanceInformation performanceInformation = new PerformanceInformation();
-        performanceInformation.setEventId(eventId);
-        performanceInformation.setCreateTime(DateUtils.stringToDate(revDate));
-        List<PerformanceInformation> informations = performanceInformationService.queryPerformanceInformation(performanceInformation,1,100).getList();
-        ObjectMapper ojm = new ObjectMapper();
-        ojm.setDateFormat(new SimpleDateFormat(Constant.DATE_FROMAT));
-        return ojm.writeValueAsString(informations);
+        omPerformance.setDateFormat(new SimpleDateFormat(Constant.DATE_FORMAT));
+        return omPerformance.writeValueAsString(diagramSource);
     }
 
 }
index 1979115..6bb8e6f 100644 (file)
@@ -27,7 +27,7 @@ public interface AlarmsHeaderService {
     
     String updateAlarmsHeader(AlarmsHeader alarmsHeader);
     
-    int getAllCount();
+    int getAllCount(AlarmsHeader alarmsHeader, int currentPage, int pageSize);
     
     Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader, int currentPage, int pageSize);
     
index cc9aa6e..58b9b6d 100644 (file)
@@ -28,7 +28,7 @@ public interface AlarmsInformationService {
     
     String updateAlarmsInformation(AlarmsInformation alarmsInformation);
     
-    int getAllCount();
+    int getAllCount(AlarmsInformation alarmsInformation, int currentPage, int pageSize);
     
     Page<AlarmsInformation> queryAlarmsInformation(AlarmsInformation alarmsInformation, int currentPage, int pageSize);
 
index 5535aeb..683903d 100644 (file)
@@ -28,7 +28,7 @@ public interface PerformanceHeaderService {
     
     String updatePerformanceHeader(PerformanceHeader performanceHeder);
     
-    int getAllCount();
+    int getAllCount(PerformanceHeader performanceHeder, int currentPage, int pageSize);
     
     Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage, int pageSize);
     
index 128966e..d3060d8 100644 (file)
@@ -15,6 +15,7 @@
  */
 package org.onap.usecaseui.server.service;
 
+import java.util.Date;
 import java.util.List;
 
 import org.onap.usecaseui.server.bean.AlarmsInformation;
@@ -28,9 +29,13 @@ public interface PerformanceInformationService {
     
     String updatePerformanceInformation(PerformanceInformation performanceInformation);
     
-    int getAllCount();
+    int getAllCount(PerformanceInformation performanceInformation, int currentPage, int pageSize);
     
     Page<PerformanceInformation> queryPerformanceInformation(PerformanceInformation performanceInformation, int currentPage, int pageSize);
     
     List<PerformanceInformation> queryId(String[] id);
+
+    List<PerformanceInformation> queryDateBetween(String eventId, Date startDate, Date endDate);
+
+    int queryDataBetweenSum(String eventId, String name, Date startDate, Date endDate);
 }
index f4778b9..f918b22 100755 (executable)
@@ -89,10 +89,119 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
         }\r
        }\r
 \r
-       public int getAllCount() {\r
+       public int getAllCount(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {\r
                try{\r
+                       StringBuffer count=new StringBuffer("select count(*) from AlarmsHeader a where 1=1");\r
+                       if (null == alarmsHeader) {\r
+                //logger.error("AlarmsHeaderServiceImpl getAllCount alarmsHeader is null!");\r
+            }else {\r
+               if(null!=alarmsHeader.getVersion()) {\r
+                       String ver=alarmsHeader.getVersion();\r
+                       count.append(" and a.version like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventName()) {\r
+                       String ver=alarmsHeader.getEventName();\r
+                       count.append(" and a.eventName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmCondition()) {\r
+                       String ver=alarmsHeader.getAlarmCondition();\r
+                       count.append(" and a.alarmCondition like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getDomain()) {\r
+                       String ver=alarmsHeader.getDomain();\r
+                       count.append(" and a.domain like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventId()) {\r
+                       String ver=alarmsHeader.getEventId();\r
+                       count.append(" and a.eventId = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getNfcNamingCode()) {\r
+                       String ver=alarmsHeader.getNfcNamingCode();\r
+                       count.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getNfNamingCode()) {\r
+                       String ver=alarmsHeader.getNfNamingCode();\r
+                       count.append(" and a.nfNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSourceId()) {\r
+                       String ver =alarmsHeader.getSourceId();\r
+                       count.append(" and a.sourceId like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSourceName()) {\r
+                       String ver =alarmsHeader.getSourceName();\r
+                       count.append(" and a.sourceName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getReportingEntityId()) {\r
+                       String ver =alarmsHeader.getReportingEntityId();\r
+                       count.append(" and a.reportingEntityId like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getReportingEntityName()) {\r
+                       String ver =alarmsHeader.getReportingEntityName();\r
+                       count.append(" and a.reportingEntityName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getPriority()) {\r
+                       String ver =alarmsHeader.getPriority();\r
+                       count.append(" and a.priority like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getStartEpochMicrosec()) {\r
+                       String ver =alarmsHeader.getStartEpochMicrosec();\r
+                       count.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getLastEpochMicroSec()) {\r
+                       String ver =alarmsHeader.getLastEpochMicroSec();\r
+                       count.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSequence()) {\r
+                       String ver =alarmsHeader.getSequence();\r
+                       count.append(" and a.sequence like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getFaultFieldsVersion()) {\r
+                       String ver =alarmsHeader.getFaultFieldsVersion();\r
+                       count.append(" and a.faultFieldsVersion like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventServrity()) {\r
+                       String ver =alarmsHeader.getEventServrity();\r
+                       count.append(" and a.eventServrity like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventType()) {\r
+                       String ver =alarmsHeader.getEventType();\r
+                       count.append(" and a.eventSourceType like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventCategory()) {\r
+                       String ver =alarmsHeader.getEventCategory();\r
+                       count.append(" and a.eventCategory like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmCondition()) {\r
+                       String ver =alarmsHeader.getAlarmCondition();\r
+                       count.append(" and a.alarmCondition like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSpecificProblem()) {\r
+                       String ver =alarmsHeader.getSpecificProblem();\r
+                       count.append(" and a.specificProblem like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getVfStatus()) {\r
+                       String ver =alarmsHeader.getVfStatus();\r
+                       count.append(" and a.vfStatus = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmInterfaceA()) {\r
+                       String ver =alarmsHeader.getAlarmInterfaceA();\r
+                       count.append(" and a.alarmInterfaceA like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getStatus()) {\r
+                       String ver =alarmsHeader.getStatus();\r
+                       count.append(" and a.status = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getCreateTime()) {\r
+                       Date ver =alarmsHeader.getCreateTime();\r
+                       count.append(" and a.createTime > '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getUpdateTime()) {\r
+                       Date ver =alarmsHeader.getUpdateTime();\r
+                       count.append(" and a.updateTime like '%"+ver+"%'");\r
+                }\r
+            } \r
             Session session = sessionFactory.openSession();\r
-            long q=(long)session.createQuery("select count(*) from AlarmsHeader").uniqueResult();\r
+            long q=(long)session.createQuery(count.toString()).uniqueResult();\r
             session.flush();\r
             session.close();\r
             return (int)q;\r
@@ -106,91 +215,118 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
        @Override\r
        public Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {\r
                Page<AlarmsHeader> page = new Page<AlarmsHeader>();\r
-               int allRow =this.getAllCount();\r
+               int allRow =this.getAllCount(alarmsHeader,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
                \r
                try{\r
                        StringBuffer hql =new StringBuffer("from AlarmsHeader a where 1=1");\r
             if (null == alarmsHeader) {\r
-                logger.error("AlarmsHeaderServiceImpl queryAlarmsHeader alarmsHeader is null!");\r
-            }else if(null!=alarmsHeader.getVersion()) {\r
-               String ver=alarmsHeader.getVersion();\r
-               hql.append(" and a.version like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getEventName()) {\r
-               String ver=alarmsHeader.getEventName();\r
-               hql.append(" and a.eventName like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getAlarmCondition()) {\r
-               String ver=alarmsHeader.getAlarmCondition();\r
-               hql.append(" and a.alarmCondition like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getDomain()) {\r
-               String ver=alarmsHeader.getDomain();\r
-               hql.append(" and a.domain like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getEventId()) {\r
-               String ver=alarmsHeader.getEventId();\r
-               hql.append(" and a.eventId = '"+ver+"'");\r
-            }else if(null!=alarmsHeader.getNfcNamingCode()) {\r
-               String ver=alarmsHeader.getNfcNamingCode();\r
-               hql.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getNfNamingCode()) {\r
-               String ver=alarmsHeader.getNfNamingCode();\r
-               hql.append(" and a.nfNamingCode like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getSourceId()) {\r
-               String ver =alarmsHeader.getSourceId();\r
-               hql.append(" and a.sourceId like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getSourceName()) {\r
-               String ver =alarmsHeader.getSourceName();\r
-               hql.append(" and a.sourceName like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getReportingEntityId()) {\r
-               String ver =alarmsHeader.getReportingEntityId();\r
-               hql.append(" and a.reportingEntityId like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getReportingEntityName()) {\r
-               String ver =alarmsHeader.getReportingEntityName();\r
-               hql.append(" and a.reportingEntityName like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getPriority()) {\r
-               String ver =alarmsHeader.getPriority();\r
-               hql.append(" and a.priority like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getStartEpochMicrosec()) {\r
-               String ver =alarmsHeader.getStartEpochMicrosec();\r
-               hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getLastEpochMicroSec()) {\r
-               String ver =alarmsHeader.getLastEpochMicroSec();\r
-               hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getSequence()) {\r
-               String ver =alarmsHeader.getSequence();\r
-               hql.append(" and a.sequence like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getFaultFieldsVersion()) {\r
-               String ver =alarmsHeader.getFaultFieldsVersion();\r
-               hql.append(" and a.faultFieldsVersion like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getEventServrity()) {\r
-               String ver =alarmsHeader.getEventServrity();\r
-               hql.append(" and a.eventServrity like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getEventType()) {\r
-               String ver =alarmsHeader.getEventType();\r
-               hql.append(" and a.eventSourceType like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getEventCategory()) {\r
-               String ver =alarmsHeader.getEventCategory();\r
-               hql.append(" and a.eventCategory like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getAlarmCondition()) {\r
-               String ver =alarmsHeader.getAlarmCondition();\r
-               hql.append(" and a.alarmCondition like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getSpecificProblem()) {\r
-               String ver =alarmsHeader.getSpecificProblem();\r
-               hql.append(" and a.specificProblem like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getVfStatus()) {\r
-               String ver =alarmsHeader.getVfStatus();\r
-               hql.append(" and a.vfStatus like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getAlarmInterfaceA()) {\r
-               String ver =alarmsHeader.getAlarmInterfaceA();\r
-               hql.append(" and a.alarmInterfaceA like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getStatus()) {\r
-               String ver =alarmsHeader.getStatus();\r
-               hql.append(" and a.status like '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getCreateTime()) {\r
-               Date ver =alarmsHeader.getCreateTime();\r
-               hql.append(" and a.createTime > '%"+ver+"%'");\r
-            }else if(null!=alarmsHeader.getUpdateTime()) {\r
-               Date ver =alarmsHeader.getUpdateTime();\r
-               hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                //logger.error("AlarmsHeaderServiceImpl queryAlarmsHeader alarmsHeader is null!");\r
+            }else {\r
+               if(null!=alarmsHeader.getVersion()) {\r
+                       String ver=alarmsHeader.getVersion();\r
+                       hql.append(" and a.version like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventName()) {\r
+                       String ver=alarmsHeader.getEventName();\r
+                       hql.append(" and a.eventName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmCondition()) {\r
+                       String ver=alarmsHeader.getAlarmCondition();\r
+                       hql.append(" and a.alarmCondition like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getDomain()) {\r
+                       String ver=alarmsHeader.getDomain();\r
+                       hql.append(" and a.domain like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventId()) {\r
+                       String ver=alarmsHeader.getEventId();\r
+                       hql.append(" and a.eventId = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getNfcNamingCode()) {\r
+                       String ver=alarmsHeader.getNfcNamingCode();\r
+                       hql.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getNfNamingCode()) {\r
+                       String ver=alarmsHeader.getNfNamingCode();\r
+                       hql.append(" and a.nfNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSourceId()) {\r
+                       String ver =alarmsHeader.getSourceId();\r
+                       hql.append(" and a.sourceId like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSourceName()) {\r
+                       String ver =alarmsHeader.getSourceName();\r
+                       hql.append(" and a.sourceName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getReportingEntityId()) {\r
+                       String ver =alarmsHeader.getReportingEntityId();\r
+                       hql.append(" and a.reportingEntityId like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getReportingEntityName()) {\r
+                       String ver =alarmsHeader.getReportingEntityName();\r
+                       hql.append(" and a.reportingEntityName like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getPriority()) {\r
+                       String ver =alarmsHeader.getPriority();\r
+                       hql.append(" and a.priority like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getStartEpochMicrosec()) {\r
+                       String ver =alarmsHeader.getStartEpochMicrosec();\r
+                       hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getLastEpochMicroSec()) {\r
+                       String ver =alarmsHeader.getLastEpochMicroSec();\r
+                       hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSequence()) {\r
+                       String ver =alarmsHeader.getSequence();\r
+                       hql.append(" and a.sequence like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getFaultFieldsVersion()) {\r
+                       String ver =alarmsHeader.getFaultFieldsVersion();\r
+                       hql.append(" and a.faultFieldsVersion like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventServrity()) {\r
+                       String ver =alarmsHeader.getEventServrity();\r
+                       hql.append(" and a.eventServrity like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventType()) {\r
+                       String ver =alarmsHeader.getEventType();\r
+                       hql.append(" and a.eventSourceType like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getEventCategory()) {\r
+                       String ver =alarmsHeader.getEventCategory();\r
+                       hql.append(" and a.eventCategory like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmCondition()) {\r
+                       String ver =alarmsHeader.getAlarmCondition();\r
+                       hql.append(" and a.alarmCondition like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getSpecificProblem()) {\r
+                       String ver =alarmsHeader.getSpecificProblem();\r
+                       hql.append(" and a.specificProblem like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getVfStatus()) {\r
+                       String ver =alarmsHeader.getVfStatus();\r
+                       hql.append(" and a.vfStatus = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getAlarmInterfaceA()) {\r
+                       String ver =alarmsHeader.getAlarmInterfaceA();\r
+                       hql.append(" and a.alarmInterfaceA like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getStatus()) {\r
+                       String ver =alarmsHeader.getStatus();\r
+                       hql.append(" and a.status = '"+ver+"'");\r
+                }\r
+               if(null!=alarmsHeader.getCreateTime()) {\r
+                       Date ver =alarmsHeader.getCreateTime();\r
+                       hql.append(" and a.createTime > '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsHeader.getUpdateTime()) {\r
+                       Date ver =alarmsHeader.getUpdateTime();\r
+                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                }\r
             }\r
             logger.info("AlarmsHeaderServiceImpl queryAlarmsHeader: alarmsHeader={}", alarmsHeader);\r
             Session session = sessionFactory.openSession();\r
index 6ef1cf4..dfd92d3 100755 (executable)
@@ -88,10 +88,35 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        }\r
        \r
 \r
-       public int getAllCount() {\r
+       public int getAllCount(AlarmsInformation alarmsInformation, int currentPage, int pageSize) {\r
                try{\r
+                       StringBuffer hql = new StringBuffer("select count(*) from AlarmsInformation a where 1=1");\r
+                       if (null == alarmsInformation) {\r
+                //logger.error("AlarmsInformationServiceImpl getAllCount alarmsInformation is null!");\r
+            }else {\r
+               if(null!=alarmsInformation.getName()) {\r
+                       String ver=alarmsInformation.getName();\r
+                       hql.append(" and a.name like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsInformation.getValue()) {\r
+                       String ver=alarmsInformation.getValue();\r
+                       hql.append(" and a.value like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsInformation.getEventId()) {\r
+                       String ver=alarmsInformation.getEventId();\r
+                       hql.append(" and a.eventId = '"+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
+                }\r
+            } \r
             Session session = sessionFactory.openSession();\r
-            long q=(long)session.createQuery("select count(*) from AlarmsInformation").uniqueResult();\r
+            long q=(long)session.createQuery(hql.toString()).uniqueResult();\r
             session.flush();\r
             session.close();\r
             return (int)q;\r
@@ -106,28 +131,34 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
        public Page<AlarmsInformation> queryAlarmsInformation(AlarmsInformation alarmsInformation, int currentPage,\r
                        int pageSize) {\r
                Page<AlarmsInformation> page = new Page<AlarmsInformation>();\r
-               int allRow =this.getAllCount();\r
+               int allRow =this.getAllCount(alarmsInformation,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
                \r
                try{\r
                        StringBuffer hql =new StringBuffer("from AlarmsInformation a where 1=1");\r
             if (null == alarmsInformation) {\r
-                logger.error("AlarmsInformationServiceImpl queryAlarmsInformation alarmsInformation is null!");\r
-            }else if(null!=alarmsInformation.getName()) {\r
-               String ver=alarmsInformation.getName();\r
-               hql.append(" and a.name like '%"+ver+"%'");\r
-            }else if(null!=alarmsInformation.getValue()) {\r
-               String ver=alarmsInformation.getValue();\r
-               hql.append(" and a.value like '%"+ver+"%'");\r
-            }else if(null!=alarmsInformation.getEventId()) {\r
-               String ver=alarmsInformation.getEventId();\r
-               hql.append(" and a.eventId = '"+ver+"'");\r
-            }else if(null!=alarmsInformation.getCreateTime()) {\r
-               Date ver =alarmsInformation.getCreateTime();\r
-               hql.append(" and a.createTime > '%"+ver+"%'");\r
-            }else if(null!=alarmsInformation.getUpdateTime()) {\r
-               Date ver =alarmsInformation.getUpdateTime();\r
-               hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                //logger.error("AlarmsInformationServiceImpl queryAlarmsInformation alarmsInformation is null!");\r
+            }else {\r
+               if(null!=alarmsInformation.getName()) {\r
+                       String ver=alarmsInformation.getName();\r
+                       hql.append(" and a.name like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsInformation.getValue()) {\r
+                       String ver=alarmsInformation.getValue();\r
+                       hql.append(" and a.value like '%"+ver+"%'");\r
+                }\r
+               if(null!=alarmsInformation.getEventId()) {\r
+                       String ver=alarmsInformation.getEventId();\r
+                       hql.append(" and a.eventId = '"+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
+                }\r
             }\r
             logger.info("AlarmsInformationServiceImpl queryAlarmsInformation: alarmsInformation={}", alarmsInformation);\r
             Session session = sessionFactory.openSession();\r
index 78205ec..1dd783e 100755 (executable)
@@ -91,10 +91,91 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        }\r
 \r
 \r
-       public int getAllCount() {\r
+       public int getAllCount(PerformanceHeader performanceHeder, int currentPage, int pageSize) {\r
                try{\r
+                       StringBuffer hql = new StringBuffer("select count(*) from PerformanceHeader a where 1=1");\r
+                       if (null == performanceHeder) {\r
+                //logger.error("PerformanceHeaderServiceImpl getAllCount performanceHeder is null!");\r
+            }else {\r
+               if(null!=performanceHeder.getVersion()) {\r
+                       String ver=performanceHeder.getVersion();\r
+                       hql.append(" and a.version like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventName()) {\r
+                       String ver=performanceHeder.getEventName();\r
+                       hql.append(" and a.eventName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getDomain()) {\r
+                       String ver=performanceHeder.getDomain();\r
+                       hql.append(" and a.domain like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventId()) {\r
+                       String ver=performanceHeder.getEventId();\r
+                       hql.append(" and a.eventId = '"+ver+"'");\r
+                }\r
+               if(null!=performanceHeder.getNfcNamingCode()) {\r
+                       String ver=performanceHeder.getNfcNamingCode();\r
+                       hql.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getNfNamingCode()) {\r
+                       String ver=performanceHeder.getNfNamingCode();\r
+                       hql.append(" and a.nfNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSourceId()) {\r
+                       String ver =performanceHeder.getSourceId();\r
+                       hql.append(" and a.sourceId like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSourceName()) {\r
+                       String ver =performanceHeder.getSourceName();\r
+                       hql.append(" and a.sourceName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getReportingEntityId()) {\r
+                       String ver =performanceHeder.getReportingEntityId();\r
+                       hql.append(" and a.reportingEntityId like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getReportingEntityName()) {\r
+                       String ver =performanceHeder.getReportingEntityName();\r
+                       hql.append(" and a.reportingEntityName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getPriority()) {\r
+                       String ver =performanceHeder.getPriority();\r
+                       hql.append(" and a.priority like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getStartEpochMicrosec()) {\r
+                       String ver =performanceHeder.getStartEpochMicrosec();\r
+                       hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getLastEpochMicroSec()) {\r
+                       String ver =performanceHeder.getLastEpochMicroSec();\r
+                       hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSequence()) {\r
+                       String ver =performanceHeder.getSequence();\r
+                       hql.append(" and a.sequence like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getMeasurementsForVfScalingVersion()) {\r
+                       String ver =performanceHeder.getMeasurementsForVfScalingVersion();\r
+                       hql.append(" and a.measurementsForVfScalingVersion like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getMeasurementInterval()) {\r
+                       String ver =performanceHeder.getMeasurementInterval();\r
+                       hql.append(" and a.measurementInterval like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventType()) {\r
+                       String ver =performanceHeder.getEventType();\r
+                       hql.append(" and a.eventType like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getCreateTime()) {\r
+                       Date ver =performanceHeder.getCreateTime();\r
+                       hql.append(" and a.createTime > '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getUpdateTime()) {\r
+                       Date ver =performanceHeder.getUpdateTime();\r
+                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                }\r
+            } \r
             Session session = sessionFactory.openSession();\r
-            long q=(long)session.createQuery("select count(*) from PerformanceHeader").uniqueResult();\r
+            long q=(long)session.createQuery(hql.toString()).uniqueResult();\r
             session.flush();\r
             session.close();\r
             return (int)q;\r
@@ -109,70 +190,90 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        public Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage,\r
                        int pageSize) {\r
                Page<PerformanceHeader> page = new Page<PerformanceHeader>();\r
-               int allRow =this.getAllCount();\r
+               int allRow =this.getAllCount(performanceHeder,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
                \r
                try{\r
                        StringBuffer hql =new StringBuffer("from PerformanceHeader a where 1=1");\r
             if (null == performanceHeder) {\r
-                logger.error("PerformanceHeaderServiceImpl queryPerformanceHeader performanceHeder is null!");\r
-            }else if(null!=performanceHeder.getVersion()) {\r
-               String ver=performanceHeder.getVersion();\r
-               hql.append(" and a.version like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getEventName()) {\r
-               String ver=performanceHeder.getEventName();\r
-               hql.append(" and a.eventName like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getDomain()) {\r
-               String ver=performanceHeder.getDomain();\r
-               hql.append(" and a.domain like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getEventId()) {\r
-               String ver=performanceHeder.getEventId();\r
-               hql.append(" and a.eventId = '"+ver+"'");\r
-            }else if(null!=performanceHeder.getNfcNamingCode()) {\r
-               String ver=performanceHeder.getNfcNamingCode();\r
-               hql.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getNfNamingCode()) {\r
-               String ver=performanceHeder.getNfNamingCode();\r
-               hql.append(" and a.nfNamingCode like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getSourceId()) {\r
-               String ver =performanceHeder.getSourceId();\r
-               hql.append(" and a.sourceId like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getSourceName()) {\r
-               String ver =performanceHeder.getSourceName();\r
-               hql.append(" and a.sourceName like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getReportingEntityId()) {\r
-               String ver =performanceHeder.getReportingEntityId();\r
-               hql.append(" and a.reportingEntityId like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getReportingEntityName()) {\r
-               String ver =performanceHeder.getReportingEntityName();\r
-               hql.append(" and a.reportingEntityName like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getPriority()) {\r
-               String ver =performanceHeder.getPriority();\r
-               hql.append(" and a.priority like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getStartEpochMicrosec()) {\r
-               String ver =performanceHeder.getStartEpochMicrosec();\r
-               hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getLastEpochMicroSec()) {\r
-               String ver =performanceHeder.getLastEpochMicroSec();\r
-               hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getSequence()) {\r
-               String ver =performanceHeder.getSequence();\r
-               hql.append(" and a.sequence like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getMeasurementsForVfScalingVersion()) {\r
-               String ver =performanceHeder.getMeasurementsForVfScalingVersion();\r
-               hql.append(" and a.measurementsForVfScalingVersion like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getMeasurementInterval()) {\r
-               String ver =performanceHeder.getMeasurementInterval();\r
-               hql.append(" and a.measurementInterval like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getEventType()) {\r
-               String ver =performanceHeder.getEventType();\r
-               hql.append(" and a.eventType like '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getCreateTime()) {\r
-               Date ver =performanceHeder.getCreateTime();\r
-               hql.append(" and a.createTime > '%"+ver+"%'");\r
-            }else if(null!=performanceHeder.getUpdateTime()) {\r
-               Date ver =performanceHeder.getUpdateTime();\r
-               hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                //logger.error("PerformanceHeaderServiceImpl queryPerformanceHeader performanceHeder is null!");\r
+            }else {\r
+               if(null!=performanceHeder.getVersion()) {\r
+                       String ver=performanceHeder.getVersion();\r
+                       hql.append(" and a.version like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventName()) {\r
+                       String ver=performanceHeder.getEventName();\r
+                       hql.append(" and a.eventName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getDomain()) {\r
+                       String ver=performanceHeder.getDomain();\r
+                       hql.append(" and a.domain like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventId()) {\r
+                       String ver=performanceHeder.getEventId();\r
+                       hql.append(" and a.eventId = '"+ver+"'");\r
+                }\r
+               if(null!=performanceHeder.getNfcNamingCode()) {\r
+                       String ver=performanceHeder.getNfcNamingCode();\r
+                       hql.append(" and a.nfcNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getNfNamingCode()) {\r
+                       String ver=performanceHeder.getNfNamingCode();\r
+                       hql.append(" and a.nfNamingCode like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSourceId()) {\r
+                       String ver =performanceHeder.getSourceId();\r
+                       hql.append(" and a.sourceId like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSourceName()) {\r
+                       String ver =performanceHeder.getSourceName();\r
+                       hql.append(" and a.sourceName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getReportingEntityId()) {\r
+                       String ver =performanceHeder.getReportingEntityId();\r
+                       hql.append(" and a.reportingEntityId like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getReportingEntityName()) {\r
+                       String ver =performanceHeder.getReportingEntityName();\r
+                       hql.append(" and a.reportingEntityName like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getPriority()) {\r
+                       String ver =performanceHeder.getPriority();\r
+                       hql.append(" and a.priority like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getStartEpochMicrosec()) {\r
+                       String ver =performanceHeder.getStartEpochMicrosec();\r
+                       hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getLastEpochMicroSec()) {\r
+                       String ver =performanceHeder.getLastEpochMicroSec();\r
+                       hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getSequence()) {\r
+                       String ver =performanceHeder.getSequence();\r
+                       hql.append(" and a.sequence like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getMeasurementsForVfScalingVersion()) {\r
+                       String ver =performanceHeder.getMeasurementsForVfScalingVersion();\r
+                       hql.append(" and a.measurementsForVfScalingVersion like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getMeasurementInterval()) {\r
+                       String ver =performanceHeder.getMeasurementInterval();\r
+                       hql.append(" and a.measurementInterval like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getEventType()) {\r
+                       String ver =performanceHeder.getEventType();\r
+                       hql.append(" and a.eventType like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getCreateTime()) {\r
+                       Date ver =performanceHeder.getCreateTime();\r
+                       hql.append(" and a.createTime > '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceHeder.getUpdateTime()) {\r
+                       Date ver =performanceHeder.getUpdateTime();\r
+                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
+                }\r
             }\r
             logger.info("PerformanceHeaderServiceImpl queryPerformanceHeader: performanceHeder={}", performanceHeder);\r
             Session session = sessionFactory.openSession();\r
index ecd697d..a1a9a0d 100755 (executable)
@@ -20,12 +20,10 @@ import java.util.ArrayList;
 import java.util.Date;\r
 import java.util.List;\r
 \r
+import javax.persistence.Id;\r
 import javax.transaction.Transactional;\r
 \r
-import org.hibernate.Query;\r
-import org.hibernate.Session;\r
-import org.hibernate.SessionFactory;\r
-import org.hibernate.Transaction;\r
+import org.hibernate.*;\r
 import org.onap.usecaseui.server.bean.PerformanceInformation;\r
 import org.onap.usecaseui.server.service.PerformanceInformationService;\r
 import org.onap.usecaseui.server.util.Page;\r
@@ -90,10 +88,35 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        }\r
 \r
 \r
-       public int getAllCount() {\r
+       public int getAllCount(PerformanceInformation performanceInformation, int currentPage, int pageSize) {\r
                try{\r
+                       StringBuffer hql = new StringBuffer("select count(*) from PerformanceInformation a where 1=1");\r
+                       if (null == performanceInformation) {\r
+                //logger.error("AlarmsInformationServiceImpl getAllCount performanceInformation is null!");\r
+            }else {\r
+               if(null!=performanceInformation.getName()) {\r
+                       String ver=performanceInformation.getName();\r
+                       hql.append(" and a.name like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceInformation.getValue()) {\r
+                       String ver=performanceInformation.getValue();\r
+                       hql.append(" and a.value like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceInformation.getEventId()) {\r
+                       String ver=performanceInformation.getEventId();\r
+                       hql.append(" and a.eventId = '"+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
+                }\r
+            }\r
             Session session = sessionFactory.openSession();\r
-            long q=(long)session.createQuery("select count(*) from PerformanceInformation").uniqueResult();\r
+            long q=(long)session.createQuery(hql.toString()).uniqueResult();\r
             session.flush();\r
             session.close();\r
             return (int)q;\r
@@ -108,35 +131,42 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        public Page<PerformanceInformation> queryPerformanceInformation(PerformanceInformation performanceInformation,\r
                        int currentPage, int pageSize) {\r
                Page<PerformanceInformation> page = new Page<PerformanceInformation>();\r
-               int allRow =this.getAllCount();\r
+               int allRow =this.getAllCount(performanceInformation,currentPage,pageSize);\r
                int offset = page.countOffset(currentPage, pageSize);\r
                \r
                try{\r
-                       StringBuffer hql =new StringBuffer("from PerformanceInformation a where 1=1");\r
+                       StringBuffer hql =new StringBuffer("from PerformanceInformation a where 1=1 ");\r
             if (null == performanceInformation) {\r
-                logger.error("AlarmsInformationServiceImpl queryPerformanceInformation performanceInformation is null!");\r
-            }else if(null!=performanceInformation.getName()) {\r
-               String ver=performanceInformation.getName();\r
-               hql.append(" and a.name like '%"+ver+"%'");\r
-            }else if(null!=performanceInformation.getValue()) {\r
-               String ver=performanceInformation.getValue();\r
-               hql.append(" and a.value like '%"+ver+"%'");\r
-            }else if(null!=performanceInformation.getEventId()) {\r
-               String ver=performanceInformation.getEventId();\r
-               hql.append(" and a.eventId = '"+ver+"'");\r
-            }else if(null!=performanceInformation.getCreateTime()) {\r
-               Date ver =performanceInformation.getCreateTime();\r
-               hql.append(" and a.createTime > '%"+ver+"%'");\r
-            }else if(null!=performanceInformation.getUpdateTime()) {\r
-               Date ver =performanceInformation.getUpdateTime();\r
-               hql.append(" and a.updateTime like '%"+ver+"%'");\r
-            }\r
+                //logger.error("AlarmsInformationServiceImpl queryPerformanceInformation performanceInformation is null!");\r
+            }else {\r
+               if(null!=performanceInformation.getName()) {\r
+                       String ver=performanceInformation.getName();\r
+                       hql.append(" and a.name like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceInformation.getValue()) {\r
+                       String ver=performanceInformation.getValue();\r
+                       hql.append(" and a.value like '%"+ver+"%'");\r
+                }\r
+               if(null!=performanceInformation.getEventId()) {\r
+                       String ver=performanceInformation.getEventId();\r
+                       hql.append(" and a.eventId = '"+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
+                }\r
+            } \r
             logger.info("PerformanceInformationServiceImpl queryPerformanceInformation: performanceInformation={}", performanceInformation);\r
             Session session = sessionFactory.openSession();\r
             Query query = session.createQuery(hql.toString());\r
             query.setFirstResult(offset);\r
             query.setMaxResults(pageSize);\r
             List<PerformanceInformation> list= query.list();\r
+\r
             page.setPageNo(currentPage);\r
             page.setPageSize(pageSize);\r
             page.setTotalRecords(allRow);\r
@@ -171,7 +201,36 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
        }\r
 \r
 \r
-    \r
-    \r
-    \r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public List<PerformanceInformation> queryDateBetween(String eventId,Date startDate, Date endDate) {\r
+               try {\r
+                       List<PerformanceInformation> list = new ArrayList<>();\r
+                       Session session = sessionFactory.openSession();\r
+                       Query query = session.createQuery("from PerformanceInformation a where a.eventId = :eventId and a.createTime BETWEEN :startDate and :endDate");\r
+                       list = query.setParameter("eventId",eventId).setParameter("startDate", startDate).setParameter("endDate",endDate).list();\r
+                       session.close();\r
+                       return list;\r
+               } catch (Exception e) {\r
+                       logger.error("exception occurred while performing PerformanceInformationServiceImpl queryId. Details:" + e.getMessage());\r
+                       return null;\r
+               }\r
+       }\r
+\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public int queryDataBetweenSum(String eventId, String name, Date startDate, Date endDate){\r
+\r
+               try(Session session = sessionFactory.openSession();) {\r
+                       int sum = 0;\r
+                       Query query = session.createQuery("select sum(a.value) from PerformanceInformation a where a.eventId = :eventId and a.name = :name and a.createTime BETWEEN :startDate and :endDate");\r
+                       sum = Integer.parseInt(query.setParameter("eventId",eventId).setParameter("name",name).setParameter("startDate", startDate).setParameter("endDate",endDate).uniqueResult().toString());\r
+                       return sum;\r
+               } catch (Exception e) {\r
+                       logger.error("exception occurred while performing PerformanceInformationServiceImpl queryId. Details:" + e.getMessage());\r
+                       return 0;\r
+               }\r
+       }\r
+\r
 }\r
index f61094c..3184dc0 100755 (executable)
@@ -52,7 +52,7 @@ public class DateUtils {
             ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()-1);
         if(hour >= 0){
             if(hour == 0)
-                ldt = ldt.withHour(1);
+                ldt = ldt.withHour(0);
         } else
             ldt = ldt.withHour(ldt.getHour()-1);
         if(minute >= 0){
@@ -65,7 +65,7 @@ public class DateUtils {
                 ldt = ldt.withSecond(0);
         } else
             ldt = ldt.withMinute(ldt.getSecond()-1);
-        return ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        return ldt.format(DateTimeFormatter.ofPattern(Constant.DATE_FORMAT));
     }
 
 
@@ -84,7 +84,7 @@ public class DateUtils {
          * @throws ParseException
          */
     public static Date initProcessDate(Date d,int year,int month,int day,int hour,int minute,int second) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd hh:mm:ss");
+        SimpleDateFormat sdf = new SimpleDateFormat(Constant.DATE_FORMAT);
         Calendar c = Calendar.getInstance();
         c.setTime(d);
         if(year >= 0){
@@ -133,32 +133,51 @@ public class DateUtils {
         ZoneId zone = ZoneId.systemDefault();
         LocalDateTime ldt = LocalDateTime.ofInstant(instant,zone);
         switch (unit.toLowerCase()){
+            case "year":
+                ldt = ldt.withYear(ldt.getYear()+addVal);
+                break;
             case "month":
-                ldt = ldt.withMonth(ldt.getMonthValue()+addVal);
+                if (ldt.getMonthValue() + addVal < 13) {
+                    ldt = ldt.withMonth(ldt.getMonthValue() + addVal);
+                }else{
+                    ldt = ldt.withYear(ldt.getYear()+1).withMonth(1);
+                }
                 break;
             case "day":
-                ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()+addVal);
+                if(ldt.getDayOfMonth()+addVal <= ldt.getMonth().length((ldt.getYear()%4==0?true:false))){
+                    ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()+addVal);
+                }else{
+                    ldt = ldt.withMonth(ldt.getMonthValue()+1).withDayOfMonth(1);
+                }
                 break;
             case "hour":
-                ldt = ldt.withHour(ldt.getHour()+addVal);
+                if (ldt.getHour()+addVal < 24)
+                    ldt = ldt.withHour(ldt.getHour()+addVal);
+                else{
+                    ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()+1).withHour(1);
+                }
                 break;
             case "minute":
-                ldt = ldt.withMinute(ldt.getMinute()+addVal);
+                if (ldt.getMinute()+addVal < 60)
+                    ldt = ldt.withMinute(ldt.getMinute()+addVal);
+                else{
+                    ldt = ldt.withMinute(0).withHour(ldt.getHour()+1);
+                }
                 break;
         }
-        return ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        return ldt.format(DateTimeFormatter.ofPattern(Constant.DATE_FORMAT));
     }
 
     public static String dateToString(Date d){
-        return new SimpleDateFormat(Constant.DATE_FROMAT).format(d);
+        return new SimpleDateFormat(Constant.DATE_FORMAT).format(d);
     }
 
     public static Date stringToDate(String d) throws ParseException {
-        return new SimpleDateFormat(Constant.DATE_FROMAT).parse(d);
+        return new SimpleDateFormat(Constant.DATE_FORMAT).parse(d);
     }
 
     public static Date now() throws ParseException {
-        return new SimpleDateFormat(Constant.DATE_FROMAT).parse(dateToString(new Date()));
+        return new SimpleDateFormat(Constant.DATE_FORMAT).parse(dateToString(new Date()));
     }
 
 }
index cc59616..a674cf2 100755 (executable)
@@ -15,6 +15,7 @@
  */
 package org.onap.usecaseui.server.controller;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.usecaseui.server.bean.AlarmsHeader;
@@ -41,22 +42,22 @@ public class AlarmControllerTest {
     AlarmController alarmController;
 
     @Test
-    public void getDataNotParam(){
+    public void getDataNotParam() throws JsonProcessingException {
        System.out.println(alarmController.getAlarmData(null,null,null,null,null,null,null,1,100));
     }
 
     @Test
-    public void getDataCarryParam(){
+    public void getDataCarryParam() throws JsonProcessingException {
         System.out.println(alarmController.getAlarmData("110","a","drop","down","1506331166000","1","2",1,100));
     }
 
     @Test
-    public void csvFile(){
+    public void csvFile() throws JsonProcessingException {
         System.out.println(alarmController.generateCsvFile(null,new String[]{"110"}));
     }
 
     @Test
-    public void update(){
+    public void update() throws JsonProcessingException {
         System.out.println(alarmController.updateStatus(null,new String[]{"110"},new String[]{"1"},"s"));
         System.out.println(alarmController.updateStatus(null,new String[]{"110","1101"},new String[]{"1","1"},"many"));
         System.out.println(alarmController.updateStatus(null,new String[]{"110"},new String[]{"1"},"vf"));
index c746101..4b90e86 100755 (executable)
@@ -46,7 +46,7 @@ public class PerformanceControllerTest {
     private PerformanceController performanceController;
 
     @Test
-    public void getPerformanceData(){
+    public void getPerformanceData() throws JsonProcessingException {
         System.out.println(performanceController.getPerformanceData(null,1,100,null,null,null,null,null));
     }
 
@@ -64,7 +64,7 @@ public class PerformanceControllerTest {
     }
 
     @Test
-    public void generateDiaCsvFile() {
+    public void generateDiaCsvFile() throws JsonProcessingException {
         Map<String,String> p = new HashMap<>();
         p.put("eventId","110");
         p.put("name","110");
index f8f61b3..5616ef2 100755 (executable)
@@ -38,7 +38,7 @@ public class AlarmsHeaderServiceTest {
         a.setEventName("a");
         a.setStatus("1");
         a.setVfStatus("1");
-        a.setEventId("11011");
+        a.setEventId("1119");
         a.setDomain("asb");
         a.setEventCategory("s");
         a.setAlarmCondition("ea");
@@ -129,8 +129,11 @@ public class AlarmsHeaderServiceTest {
     @Test
     public void queryEventName() throws ParseException {
       AlarmsHeader a=new AlarmsHeader();
-      a.setEventName("a");
-      System.out.println(alarmsHeaderService.queryAlarmsHeader(a,1,100).getList().size());
+      a.setEventId("110");
+      a.setEventName("asdasds");
+     // a.setVfStatus("2");
+        System.out.println(alarmsHeaderService.queryAlarmsHeader(a,1,100).getList().size());
+      alarmsHeaderService.queryAlarmsHeader(a,1,100).getList().forEach( as->System.out.println(as.toString()));
     }
     
     @Test
index 7d44315..9705c6b 100755 (executable)
@@ -38,7 +38,7 @@ public class PerformanceHeaderServiceTest {
     public void save() throws ParseException {
         PerformanceHeader p = new PerformanceHeader();
         p.setCreateTime(DateUtils.now());
-        p.setEventId("1101");
+        p.setEventId("2202");
         p.setEventName("fxc");
         p.setDomain("asb");
         p.setCreateTime(DateUtils.now());
@@ -109,7 +109,7 @@ public class PerformanceHeaderServiceTest {
     @Test
     public void get() throws ParseException {
         performanceHeaderService.queryId(new String[]{"110"})
-                .forEach(pe -> System.out.println(pe));
+                .forEach(pe -> System.out.println(pe.getCreateTime()));
     }
 
     @Test
index 3c710e9..80f8743 100755 (executable)
@@ -24,6 +24,8 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
 import java.text.ParseException;
+import java.util.List;
+import java.util.Random;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest
@@ -36,12 +38,24 @@ public class PerformanceInformationServiceTest {
     @Test
     public void save() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
-        a.setEventId("112");
-        a.setName("efw");
-        a.setValue("fre");
-        a.setCreateTime(DateUtils.now());
-        a.setUpdateTime(DateUtils.now());
-        System.out.println(performanceInformationService.savePerformanceInformation(a));
+        for (int y = 1 ; y < 13 ; y++){
+            for (int m = 1 ;m < 31 ; m++){
+                for (int j = 0 ; j < 24 ;j++){
+                    for (int i = 14 ; i <= 59;i += 15){
+                        a.setEventId("2202");
+                        a.setName("memory");
+                        a.setValue((i+j+new Random().nextInt(60))+"");
+                        a.setCreateTime(DateUtils.stringToDate("2016-"+y+"-"+m+" "+j+":"+i+":00"));
+                        a.setUpdateTime(DateUtils.now());
+                        System.out.println(performanceInformationService.savePerformanceInformation(a));
+                    }
+                }
+
+            }
+
+        }
+
+
     }
 
     @Test
@@ -57,25 +71,29 @@ public class PerformanceInformationServiceTest {
 
     @Test
     public void update1() throws ParseException {
-        PerformanceInformation a = new PerformanceInformation();
-        a.setEventId("110");
-        a.setName("efw");
-        a.setValue("fko11");
-        System.out.println(performanceInformationService.updatePerformanceInformation(a));
+        List<PerformanceInformation> as = performanceInformationService.queryId(new String[]{"2202"});
+        as.forEach( a ->{
+            try {
+                a.setCreateTime(DateUtils.stringToDate(DateUtils.addDate(a.getCreateTime(),"day",1)));
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            System.out.println(performanceInformationService.updatePerformanceInformation(a));
+        });
     }
 
     @Test
     public void get() throws ParseException {
-        performanceInformationService.queryId(new String[]{"110"})
-                .forEach(ai -> System.out.println(ai));
+        performanceInformationService.queryId(new String[]{"2202"})
+                .forEach(ai -> System.out.println(ai.getCreateTime()));
     }
 
     @Test
     public void queryEventId() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
-        a.setEventId("110");
+       // a.setEventId("2202");
         performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al));
+                .getList().forEach( al -> System.out.println(al.getValue()));
     }
     @Test
     public void queryName() throws ParseException {
@@ -106,4 +124,13 @@ public class PerformanceInformationServiceTest {
                 .getList().forEach( al -> System.out.println(al));
     }
 
+    @Test
+    public void between() throws ParseException {
+        performanceInformationService.queryDateBetween("2202",DateUtils.stringToDate("2017-10-15 01:00:00"),DateUtils.stringToDate("2017-10-15 02:00:00")).forEach( p -> System.out.println(p));
+    }
+
+    @Test
+    public void sum() throws ParseException {
+        System.out.println(performanceInformationService.queryDataBetweenSum("2202","cpu",DateUtils.stringToDate("2017-10-18 09:00:00"),DateUtils.stringToDate("2017-10-18 10:00:00")));
+    }
 }
index 810a0dc..c4b363d 100755 (executable)
@@ -77,13 +77,17 @@ public class DateUtilsTest {
        @Test
        public void addDate(){
                try {
-                       System.out.println(DateUtils.addDate(new Date(),"hour",5));
-                       System.out.println(DateUtils.addDate(new Date(),"day",5));
-                       System.out.println(DateUtils.addDate(new Date(),"month",5));
-                       System.out.println(DateUtils.addDate(new Date(),"year",5));
+                       LocalDateTime localDateTime = LocalDateTime.now();
+                       System.out.println(localDateTime.withDayOfMonth(0));
+                       System.out.println(DateUtils.addDate(new Date(),"day",1));
+                       /*System.out.println(DateUtils.addDate(new Date(),"month",1));
+                       System.out.println(DateUtils.addDate(new Date(),"year",-1));*/
                } catch (ParseException e) {
                        e.printStackTrace();
                }
        }
 
+
+
+
 }