Fix VNF Performance Query Bugs 70/72170/1
authorguochuyicmri <guochuyi@chinamobile.com>
Thu, 8 Nov 2018 06:31:20 +0000 (14:31 +0800)
committerguochuyicmri <guochuyi@chinamobile.com>
Thu, 8 Nov 2018 06:31:27 +0000 (14:31 +0800)
Change-Id: I56288e86a7295d4c946a0e6ccedd5d8a1e1beeae
Issue-ID: USECASEUI-166
Signed-off-by: guochuyicmri <guochuyi@chinamobile.com>
server/src/main/java/org/onap/usecaseui/server/controller/PerformanceController.java
server/src/main/java/org/onap/usecaseui/server/service/impl/PerformanceHeaderServiceImpl.java

index d113f16..6b7eecc 100755 (executable)
@@ -32,7 +32,6 @@ import org.onap.usecaseui.server.bean.PerformanceInformation;
 import org.onap.usecaseui.server.constant.Constant;
 import org.onap.usecaseui.server.service.PerformanceHeaderService;
 import org.onap.usecaseui.server.service.PerformanceInformationService;
-import org.onap.usecaseui.server.util.DateUtils;
 import org.onap.usecaseui.server.util.Page;
 import org.onap.usecaseui.server.util.UuiCommonUtil;
 import org.slf4j.Logger;
@@ -42,6 +41,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -72,11 +72,11 @@ public class PerformanceController {
 
     private ObjectMapper omPerformance = new ObjectMapper();
     
-    @RequestMapping(value = {"/performance/{currentPage}/{pageSize}","/performance/{currentPage}/{pageSize}/{sourceName}/{startTime}/{endTime}"},method = RequestMethod.GET, produces = "application/json")
+    @RequestMapping(value = {"/performance/{currentPage}/{pageSize}"},method = RequestMethod.GET, produces = "application/json")
     public String getPerformanceData(@PathVariable String currentPage,
                                      @PathVariable String pageSize,
-                                     @PathVariable(required = false) String sourceName,
-                                     @PathVariable(required = false) String startTime,@PathVariable(required = false) String endTime) throws JsonProcessingException, ParseException {
+                                     @RequestParam(required = false) String sourceName,
+                                     @RequestParam(required = false) String startTime,@RequestParam(required = false) String endTime) throws JsonProcessingException, ParseException {
         Page<PerformanceHeader> pa = new Page<PerformanceHeader>();
             PerformanceHeader performanceHeader = new PerformanceHeader();
             performanceHeader.setSourceName(sourceName);
@@ -122,9 +122,9 @@ public class PerformanceController {
         return string;
     }
     
-    @RequestMapping(value = {"/performanceSsourceNames/{currentPage}/{pageSize}/{sourceName}"},method = RequestMethod.GET, produces = "application/json")
-    public String getPerformanceSourceNames(@PathVariable int currentPage,@PathVariable int pageSize,
-            @PathVariable(required = false) String sourceName) throws JsonProcessingException{
+    @RequestMapping(value = {"/performance/getSourceNames/{currentPage}/{pageSize}"},method = RequestMethod.GET, produces = "application/json")
+    public String getPerformanceSourceNames(@PathVariable String currentPage,@PathVariable String pageSize,
+            @RequestParam(required = false) String sourceName) throws JsonProcessingException{
         PerformanceHeader performanceHeader = new PerformanceHeader();
         Page<PerformanceHeader> page = new Page<PerformanceHeader>();
         Set<String> names = new HashSet<String>();
@@ -144,8 +144,8 @@ public class PerformanceController {
             names.add(name);
         }
         Map<String,Object> map = new HashMap<>();
-        map.put("names",names);
-        map.put("totalRecords",UuiCommonUtil.getPageList(new ArrayList(names), currentPage, pageSize));
-       return omPerformance.writeValueAsString(names);
+        map.put("names",names.size());
+        map.put("totalRecords",UuiCommonUtil.getPageList(new ArrayList(names), Integer.parseInt(currentPage),Integer.parseInt(pageSize)));
+       return omPerformance.writeValueAsString(map);
     }
 }
index effd2fa..3b49a7e 100755 (executable)
@@ -93,76 +93,12 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                        if (null == performanceHeder) {\r
                                return 0;\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
+                               if(UuiCommonUtil.isNotNullOrEmpty(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.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
-                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime ");\r
+                               if(UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getStartEpochMicrosec())&& UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getLastEpochMicroSec())) {\r
+                                       hql.append(" and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ");\r
                                }\r
                        }\r
                        Query query = session.createQuery(hql.toString());\r
@@ -187,15 +123,15 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
 \r
                try(Session session = getSession()){\r
                        StringBuffer hql =new StringBuffer("from PerformanceHeader a where 1=1");\r
-                               if(null!=performanceHeder.getSourceName()) {\r
+                               if(UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getSourceName())) {\r
                                        String ver =performanceHeder.getSourceName();\r
                                        hql.append(" and a.sourceName like '%"+ver+"%'");\r
                                }\r
-                               if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
-                                       hql.append(" and a.startEpochMicrosec between :startTime and :endTime ");\r
+                               if(UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getStartEpochMicrosec())&& UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getLastEpochMicroSec())) {\r
+                                       hql.append(" and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ");\r
                                }\r
                        Query query = session.createQuery(hql.toString());\r
-                       if(null!=performanceHeder.getStartEpochMicrosec() && null!=performanceHeder.getLastEpochMicroSec()) {\r
+                       if(UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getStartEpochMicrosec())&& UuiCommonUtil.isNotNullOrEmpty(performanceHeder.getLastEpochMicroSec())) {\r
                                query.setString("startTime",performanceHeder.getStartEpochMicrosec()).setString("endTime",performanceHeder.getLastEpochMicroSec());\r
                        }\r
                        query.setFirstResult(offset);\r