Fix VNF Alarm Query Bugs 14/71714/1
authorguochuyicmri <guochuyi@chinamobile.com>
Fri, 2 Nov 2018 03:00:39 +0000 (11:00 +0800)
committerguochuyicmri <guochuyi@chinamobile.com>
Fri, 2 Nov 2018 03:00:47 +0000 (11:00 +0800)
Change-Id: Ibaba1848f999a9c46dad3173fb4a640e681da77b
Issue-ID: USECASEUI-165
Signed-off-by: guochuyicmri <guochuyi@chinamobile.com>
server/src/main/java/org/onap/usecaseui/server/bean/maxAndMinTimeBean.java [new file with mode: 0644]
server/src/main/java/org/onap/usecaseui/server/controller/AlarmController.java
server/src/main/java/org/onap/usecaseui/server/service/AlarmsInformationService.java
server/src/main/java/org/onap/usecaseui/server/service/impl/AlarmsInformationServiceImpl.java

diff --git a/server/src/main/java/org/onap/usecaseui/server/bean/maxAndMinTimeBean.java b/server/src/main/java/org/onap/usecaseui/server/bean/maxAndMinTimeBean.java
new file mode 100644 (file)
index 0000000..7713dff
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2018 CMCC, Inc. and others. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.usecaseui.server.bean;
+
+public class maxAndMinTimeBean {
+       
+       private String maxTime;
+       
+       private String minTime;
+
+       public String getMaxTime() {
+               return maxTime;
+       }
+
+       public void setMaxTime(String maxTime) {
+               this.maxTime = maxTime;
+       }
+
+       public String getMinTime() {
+               return minTime;
+       }
+
+       public void setMinTime(String minTime) {
+               this.minTime = minTime;
+       }
+
+       public maxAndMinTimeBean(String maxTime, String minTime) {
+               this.maxTime = maxTime;
+               this.minTime = minTime;
+       }
+
+       public maxAndMinTimeBean() {
+       }
+}
index 091df4a..2b0b641 100755 (executable)
@@ -29,6 +29,7 @@ import javax.annotation.Resource;
 \r
 import org.onap.usecaseui.server.bean.AlarmsHeader;\r
 import org.onap.usecaseui.server.bean.AlarmsInformation;\r
+import org.onap.usecaseui.server.bean.maxAndMinTimeBean;\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
@@ -181,33 +182,41 @@ public class AlarmController
                        formatDate="yyyy-MM-dd";\r
                        timeInterval =86400000;\r
                }\r
+               List<maxAndMinTimeBean> list = alarmsInformationService.queryMaxAndMinTime();\r
+               if(!UuiCommonUtil.isNotNullOrEmpty(startTime)&&list.size()>0){\r
+                       startTime=list.get(0).getMinTime();\r
+               }\r
+               if(!UuiCommonUtil.isNotNullOrEmpty(endTime)&&list.size()>0){\r
+                       endTime=list.get(0).getMaxTime();\r
+               }\r
                sdf = new SimpleDateFormat(formatDate);\r
             long startTimel = sdf.parse(startTime).getTime();\r
             long endTimel = sdf.parse(endTime).getTime();\r
             return getDiagram(sourceId, startTimel, endTimel+timeInterval, timeInterval, 1, 1,format);\r
         } catch (Exception e) {\r
-            logger.error(e.getMessage());\r
+               logger.error("alarmController diagram occured exception:"+e.getMessage());\r
             e.printStackTrace();\r
         }\r
         return null;\r
     }\r
     \r
+    @SuppressWarnings("rawtypes")\r
     private  String getDiagram(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal, long keyVal, long keyValIteraVal,String format) throws JsonProcessingException{\r
-       Map<String,List> result = new HashMap<String,List>();\r
+               Map<String,List> result = new HashMap<String,List>();\r
        \r
        Map<String,List> allMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, keyVal, keyValIteraVal,format,"");\r
-       Map<String,List> criticalMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"CRITICAL");\r
-       Map<String,List> majorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MAJOR");\r
-       Map<String,List> minorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MINOR");\r
-       Map<String,List> warningMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"WARNING");\r
-       Map<String,List> normalMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"NORMAL");\r
+       //Map<String,List> criticalMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"CRITICAL");\r
+       //Map<String,List> majorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MAJOR");\r
+       //Map<String,List> minorMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"MINOR");\r
+       Map<String,List> closedMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"closed");\r
+       Map<String,List> activeMaps = dateProcess(sourceId, startTimeL, endTimeL, timeIteraPlusVal, 1, 1,format,"active");\r
        result.put("dateList", allMaps.get("dateTime"));\r
        result.put("allList", allMaps.get("dataList"));\r
-       result.put("criticalList",criticalMaps.get("dataList"));\r
-       result.put("majorList",majorMaps.get("dataList"));\r
-       result.put("minorList",minorMaps.get("dataList"));\r
-       result.put("warningList",warningMaps.get("dataList"));\r
-       result.put("normalList",normalMaps.get("dataList"));\r
+       //result.put("criticalList",criticalMaps.get("dataList"));\r
+       //result.put("majorList",majorMaps.get("dataList"));\r
+       //result.put("minorList",minorMaps.get("dataList"));\r
+       result.put("closedList",closedMaps.get("dataList"));\r
+       result.put("ActiveList",activeMaps.get("dataList"));\r
        return omAlarm.writeValueAsString(result);\r
     }\r
     private Map<String,List> dateProcess(String sourceId, long startTimeL, long endTimeL, long timeIteraPlusVal, long keyVal, long keyValIteraVal,String format,String level) {\r
index cc11650..9a86f92 100644 (file)
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.onap.usecaseui.server.bean.AlarmsHeader;
 import org.onap.usecaseui.server.bean.AlarmsInformation;
+import org.onap.usecaseui.server.bean.maxAndMinTimeBean;
 import org.onap.usecaseui.server.util.Page;
 
 
@@ -49,4 +50,6 @@ public interface AlarmsInformationService {
       * @return
      */
     List<AlarmsInformation> getAllAlarmsInformationByHeaderId(String id);
+    
+    List<maxAndMinTimeBean> queryMaxAndMinTime();
 }
index f5d590a..7a6c04b 100755 (executable)
@@ -16,8 +16,8 @@
 package org.onap.usecaseui.server.service.impl;\r
 \r
 \r
-import java.sql.Timestamp;\r
-import java.util.*;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
 \r
 import javax.transaction.Transactional;\r
 \r
@@ -26,6 +26,7 @@ import org.hibernate.Session;
 import org.hibernate.SessionFactory;\r
 import org.hibernate.Transaction;\r
 import org.onap.usecaseui.server.bean.AlarmsInformation;\r
+import org.onap.usecaseui.server.bean.maxAndMinTimeBean;\r
 import org.onap.usecaseui.server.service.AlarmsInformationService;\r
 import org.onap.usecaseui.server.util.Page;\r
 import org.onap.usecaseui.server.util.UuiCommonUtil;\r
@@ -190,7 +191,7 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
 \r
 \r
        @Override\r
-       public int queryDateBetween(String sourceId, String startTime, String endTime,String level) {\r
+       public int queryDateBetween(String sourceId, String startTime, String endTime,String status) {\r
                if("1526554800000".equals(startTime)){\r
                        System.out.print(startTime);\r
                }\r
@@ -199,8 +200,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                        if (sourceId != null && !"".equals(sourceId)){\r
                                hql += " and a.sourceId = :sourceId";\r
                        }\r
-                       if (UuiCommonUtil.isNotNullOrEmpty(level)){\r
-                               hql += " and a.eventServrity = :eventServrity";\r
+                       if (UuiCommonUtil.isNotNullOrEmpty(status)){\r
+                               hql += " and a.status = :status";\r
                        }\r
                        if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
                                hql += " and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ";\r
@@ -209,8 +210,8 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                        if (sourceId != null && !"".equals(sourceId)){\r
                                query.setString("sourceId",sourceId);\r
                        }\r
-                       if (UuiCommonUtil.isNotNullOrEmpty(level)){\r
-                               query.setString("eventServrity",level);\r
+                       if (UuiCommonUtil.isNotNullOrEmpty(status)){\r
+                               query.setString("status",status);\r
                        }\r
                        if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
                                query.setString("startTime", startTime).setString("endTime", endTime);\r
@@ -222,6 +223,23 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                        return 0;\r
                }\r
        }\r
+       \r
+       @Override\r
+       public List<maxAndMinTimeBean> queryMaxAndMinTime(){\r
+               List<maxAndMinTimeBean> list = new ArrayList<>();\r
+               try (Session session = getSession()){\r
+                       String sql = "select MAX(startEpochMicrosec),MIN(startEpochMicrosec) FROM alarms_commoneventheader";\r
+                       Query query = session.createSQLQuery(sql);\r
+                       list = query.list();\r
+                       session.flush();\r
+               }catch (Exception e){\r
+                       logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDateBetween. LIST:" + e.getMessage());\r
+\r
+                        list = new ArrayList<>();\r
+               }\r
+       \r
+               return list;\r
+       }\r
 \r
        @Override\r
        public List<AlarmsInformation> getAllAlarmsInformationByHeaderId(String headerId) {\r