Fix dmaap calling bug 11/23311/1
authorshentao <shentao@chinamobile.com>
Mon, 13 Nov 2017 07:31:11 +0000 (15:31 +0800)
committershentao <shentao@chinamobile.com>
Mon, 13 Nov 2017 07:31:17 +0000 (15:31 +0800)
Change-Id: I57c63ff3cc237d56ed38fb27d4a8a89f10f6f075
Issue-Id: USECASEUI-54
Signed-off-by: shentao <shentao@chinamobile.com>
34 files changed:
pom.xml
resources/bin/initDB.sh [deleted file]
resources/dbscripts/mysql/usecase-ui-createdb.sql [deleted file]
resources/dbscripts/mysql/usecase-ui-createobj.sql [deleted file]
server/pom.xml
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/PerformanceHeader.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/controller/lcm/PackageDistributionController.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/service/lcm/PackageDistributionService.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/bean/SDNCControllerRsp.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/sdc/bean/Vnf.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/bean/OperationProgressInformation.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/vfc/VfcService.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultPackageDistributionService.java
server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java
server/src/main/java/org/onap/usecaseui/server/util/DmaapSubscriber.java
server/src/main/resources/dmaap.properties
server/src/test/java/org/onap/usecaseui/server/controller/AlarmControllerTest.java
server/src/test/java/org/onap/usecaseui/server/service/AlarmsInformationServiceTest.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/service/lcm/impl/DefaultServiceTemplateServiceTest.java
standalone/src/main/assembly/resources/dbscripts/mysql/usecase-ui-createobj.sql

diff --git a/pom.xml b/pom.xml
index 0c61226..9565873 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <dependency>
             <groupId>org.openecomp.sdc.jtosca</groupId>
             <artifactId>jtosca</artifactId>
-            <version>1.1.3</version>
+            <version>1.1.1</version>
         </dependency>
 
         <dependency>
diff --git a/resources/bin/initDB.sh b/resources/bin/initDB.sh
deleted file mode 100644 (file)
index 06d2bfc..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-#
-# Copyright (C) 2017 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.
-#
-
-DIRNAME=`dirname $0`
-HOME=`cd $DIRNAME/; pwd`
-user=$1
-password=$2
-port=$3
-host=$4
-echo "start create usecase-ui db"
-sql_path=$HOME/../
-mysql -u$user -p$password -P$port -h$host <$sql_path/dbscripts/mysql/usecase-ui-createdb.sql
-sql_result=$?
-if [ $sql_result != 0 ] ; then
-    echo "failed to create usecase-ui database"
-    exit 1
-fi
-fileFlag=*createobj.sql
-location=$sql_path/dbscripts/mysql
-fileName=""
-for i in `ls $location`
-do
-    if [[ $i == ${fileFlag} ]];then
-        fileName=${i};
-        echo "start create table:${fileName}"
-        mysql -u$user -p$password -P$port -h$host <$sql_path/dbscripts/mysql/$fileName
-        sql_result=$?
-        if [ $sql_result != 0 ] ; then
-          echo "failed to init usecase-ui table:${fileName}"
-          exit 1
-        fi
-    fi
-done
-echo "init usecase-ui database success!"
-exit 0
-
diff --git a/resources/dbscripts/mysql/usecase-ui-createdb.sql b/resources/dbscripts/mysql/usecase-ui-createdb.sql
deleted file mode 100644 (file)
index 31ab5b5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---
--- Copyright (C) 2017 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.
---
-
-/******************drop old database and user***************************/
-use mysql;
-drop database IF EXISTS usercaseui;
-delete from user where User='usecaseui';
-FLUSH PRIVILEGES;
-
-/******************create new database and user***************************/
-create database usercaseui CHARACTER SET utf8;
-
-GRANT ALL PRIVILEGES ON usercaseui.* TO 'usercaseui'@'%' IDENTIFIED BY 'usercaseui' WITH GRANT OPTION;
-GRANT ALL PRIVILEGES ON mysql.* TO 'usercaseui'@'%' IDENTIFIED BY 'usercaseui' WITH GRANT OPTION;
-
-GRANT ALL PRIVILEGES ON usercaseui.* TO 'usercaseui'@'localhost' IDENTIFIED BY 'usercaseui' WITH GRANT OPTION;
-GRANT ALL PRIVILEGES ON mysql.* TO 'usercaseui'@'localhost' IDENTIFIED BY 'usercaseui' WITH GRANT OPTION;
-FLUSH PRIVILEGES; 
\ No newline at end of file
diff --git a/resources/dbscripts/mysql/usecase-ui-createobj.sql b/resources/dbscripts/mysql/usecase-ui-createobj.sql
deleted file mode 100644 (file)
index 7f83957..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
---
--- Copyright (C) 2017 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.
---
-
-use usercaseui;
-
-SET FOREIGN_KEY_CHECKS=0;
--- ----------------------------
--- Table structure for alarms_additionalinformation
--- ----------------------------
-DROP TABLE IF EXISTS `alarms_additionalinformation`;
-CREATE TABLE `alarms_additionalinformation` (
-  `name` varchar(50) NOT NULL,
-  `value` varchar(500) NOT NULL,
-  `eventId` varchar(30) NOT NULL,
-  `createTime` datetime NOT NULL,
-  `updateTime` datetime NOT NULL,
-  `id` int(10) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- ----------------------------
--- Table structure for alarms_commoneventheader
--- ----------------------------
-DROP TABLE IF EXISTS `alarms_commoneventheader`;
-CREATE TABLE `alarms_commoneventheader` (
-  `version` varchar(10) NOT NULL,
-  `eventName` varchar(50) NOT NULL,
-  `domain` varchar(30) NOT NULL,
-  `eventId` varchar(30) NOT NULL,
-  `eventType` varchar(30) NOT NULL,
-  `nfcNamingCode` varchar(30) DEFAULT NULL,
-  `nfNamingCode` varchar(30) DEFAULT NULL,
-  `sourceId` varchar(50) NOT NULL,
-  `sourceName` varchar(50) NOT NULL,
-  `reportingEntityId` varchar(30) NOT NULL,
-  `reportingEntityName` varchar(30) NOT NULL,
-  `priority` varchar(20) NOT NULL,
-  `startEpochMicrosec` varchar(20) NOT NULL,
-  `lastEpochMicroSec` varchar(20) NOT NULL,
-  `sequence` varchar(10) NOT NULL,
-  `faultFieldsVersion` varchar(10) NOT NULL,
-  `eventServrity` varchar(30) NOT NULL,
-  `eventSourceType` varchar(30) NOT NULL,
-  `eventCategory` varchar(30) NOT NULL,
-  `alarmCondition` varchar(400) NOT NULL,
-  `specificProblem` varchar(400) NOT NULL,
-  `vfStatus` varchar(10) NOT NULL,
-  `alarmInterfaceA` varchar(40) NOT NULL,
-  `status` varchar(11) NOT NULL,
-  `createTime` datetime NOT NULL,
-  `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`eventName`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- ----------------------------
--- Table structure for performance_additionalinformation
--- ----------------------------
-DROP TABLE IF EXISTS `performance_additionalinformation`;
-CREATE TABLE `performance_additionalinformation` (
-  `name` varchar(50) NOT NULL,
-  `value` varchar(500) NOT NULL,
-  `eventId` varchar(30) NOT NULL,
-  `createTime` datetime NOT NULL,
-  `updateTime` datetime NOT NULL,
-  `id` int(10) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- ----------------------------
--- Table structure for performance_commoneventheader
--- ----------------------------
-DROP TABLE IF EXISTS `performance_commoneventheader`;
-CREATE TABLE `performance_commoneventheader` (
-  `version` varchar(10) NOT NULL,
-  `eventName` varchar(50) NOT NULL,
-  `domain` varchar(30) NOT NULL,
-  `eventId` varchar(30) NOT NULL,
-  `eventType` varchar(30) NOT NULL,
-  `nfcNamingCode` varchar(30) DEFAULT NULL,
-  `nfNamingCode` varchar(30) DEFAULT NULL,
-  `sourceId` varchar(50) NOT NULL,
-  `sourceName` varchar(50) NOT NULL,
-  `reportingEntityId` varchar(30) NOT NULL,
-  `reportingEntityName` varchar(30) NOT NULL,
-  `priority` varchar(20) NOT NULL,
-  `startEpochMicrosec` varchar(20) NOT NULL,
-  `lastEpochMicroSec` varchar(20) NOT NULL,
-  `sequence` varchar(10) NOT NULL,
-  `measurementsForVfScalingVersion` varchar(10) NOT NULL,
-  `measurementInterval` varchar(10) NOT NULL,
-  `createTime` datetime NOT NULL,
-  `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`eventName`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- ----------------------------
--- Init Records 
--- ----------------------------
\ No newline at end of file
index 6444946..a985958 100644 (file)
         <dependency>
             <groupId>org.openecomp.sdc.jtosca</groupId>
             <artifactId>jtosca</artifactId>
-            <version>1.1.3</version>
+            <version>1.1.1</version>
         </dependency>
 
         <dependency>
index a99a6c5..7b9a0b5 100644 (file)
@@ -31,10 +31,9 @@ public class UsecaseuiServerApplication {
         return new RestTemplate();
     }
 
-       public static void main(String[] args) {
-               SpringApplication.run(UsecaseuiServerApplication.class, args);
+    public static void main(String[] args) {
+        SpringApplication.run(UsecaseuiServerApplication.class, args);
         DmaapSubscriber dmaapSubscriber = new DmaapSubscriber();
         dmaapSubscriber.run();
-       }
-       
+    }
 }
index fd896c5..2edaa15 100644 (file)
@@ -111,10 +111,12 @@ public class AlarmsHeader implements Serializable{
        public AlarmsHeader() {
        }
 
-       public AlarmsHeader(String eventId) {
-               this.eventId = eventId;
+       public AlarmsHeader(String sourceId) {
+               this.sourceId = sourceId;
        }
 
+
+
        public AlarmsHeader(String version, String eventName, String domain, String eventId, String eventType, String nfcNamingCode, String nfNamingCode, String sourceId, String sourceName, String reportingEntityId, String reportingEntityName, String priority, String startEpochMicrosec, String lastEpochMicroSec, String sequence, String faultFieldsVersion, String eventServrity, String eventSourceType, String eventCategory, String alarmCondition, String specificProblem, String vfStatus, String alarmInterfaceA, String status, Date createTime, Date updateTime) {
                this.version = version;
                this.eventName = eventName;
index ef3ae55..4d298e0 100644 (file)
@@ -51,6 +51,18 @@ public class AlarmsInformation implements Serializable {
        @Column(name = "updateTime")
        private Date updateTime;
 
+       @Override
+       public String toString() {
+               return "AlarmsInformation{" +
+                               "id=" + id +
+                               ", name='" + name + '\'' +
+                               ", value='" + value + '\'' +
+                               ", eventId='" + eventId + '\'' +
+                               ", createTime=" + createTime +
+                               ", updateTime=" + updateTime +
+                               '}';
+       }
+
        public AlarmsInformation() {
        }
 
index c42fcf8..1d4bd8f 100755 (executable)
@@ -90,7 +90,9 @@ public class PerformanceHeader implements Serializable {
        public PerformanceHeader() {\r
        }\r
 \r
-\r
+       public PerformanceHeader(String sourceId) {\r
+               this.sourceId = sourceId;\r
+       }\r
 \r
        public PerformanceHeader(String version, String eventName, String domain, String eventId, String eventType, String nfcNamingCode, String nfNamingCode, String sourceId, String sourceName, String reportingEntityId, String reportingEntityName, String priority, String startEpochMicrosec, String lastEpochMicroSec, String sequence, String measurementsForVfScalingVersion, String measurementInterval, Date createTime, Date updateTime) {\r
                this.version = version;\r
index 7b3bd7d..ab7534c 100755 (executable)
@@ -79,43 +79,50 @@ public class AlarmController
 \r
 \r
     @RequestMapping(value = {"/alarm/{currentPage}/{pageSize}",\r
-            "/alarm/{currentPage}/{pageSize}/{eventId}/{eventName}/{name}/{value}/{createTime}/{status}/{vfStatus}"},\r
+            "/alarm/{currentPage}/{pageSize}/{sourceId}/{sourceName}/{priority}/{startTime}/{endTime}/{vfStatus}"},\r
             method = RequestMethod.GET , produces = "application/json")\r
-    public String getAlarmData(@PathVariable(required = false) String eventId,@PathVariable(required = false) String eventName,\r
-                               @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
+    public String getAlarmData(@PathVariable(required = false) String sourceId,@PathVariable(required = false) String sourceName,\r
+                               @PathVariable(required = false) String priority,@PathVariable(required = false) String startTime,\r
+                               @PathVariable(required = false) String endTime,@PathVariable(required = false) String vfStatus,\r
                                @PathVariable int currentPage, @PathVariable int pageSize) throws JsonProcessingException {\r
         logger.info("transfer getAlarmData Apis, " +\r
-                "Parameter all follows : [currentPage : {} , pageSize : {} , eventId : {} , " +\r
-                "eventName : {} , name : {} , value :{} , createTime : {} , status : {} , vfStatus : {}]"\r
-                ,currentPage,pageSize,eventId,eventName,name,value,createTime,status,vfStatus);\r
+                "Parameter all follows : [currentPage : {} , pageSize : {} , sourceId : {} , " +\r
+                "sourceName : {} , priority : {} , startTime :{} , endTime : {}  , vfStatus : {}]"\r
+                ,currentPage,pageSize,sourceId,sourceName,priority,startTime,endTime,vfStatus);\r
         List<AlarmsHeader> alarmsHeaders = null;\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
+        if (null != sourceId || null != sourceName || null != priority || null != startTime || null != endTime\r
+                || null != vfStatus  ){\r
             AlarmsHeader alarm = new AlarmsHeader();\r
-            alarm.setEventId(!"null".equals(eventId)?eventId:null);\r
-            alarm.setEventName(!"null".equals(eventName)?eventName:null);\r
-            alarm.setStatus(!"null".equals(status)?status:null);\r
-            alarm.setVfStatus(!"null".equals(vfStatus)?vfStatus:null);\r
+            alarm.setSourceId(!"null".equals(sourceId)?sourceId:null);\r
+            alarm.setSourceName(!"null".equals(sourceName)?sourceName:null);\r
+            alarm.setStatus(!"null".equals(vfStatus)?vfStatus:null);\r
             try {\r
-                alarm.setCreateTime(!"null".equals(createTime)?DateUtils.stringToDate(createTime):null);\r
+                alarm.setCreateTime(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime):null);\r
+                alarm.setUpdateTime(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime):null);\r
             } catch (ParseException e) {\r
                 logger.error("Parse date error :"+e.getMessage());\r
             }\r
             pa = alarmsHeaderService.queryAlarmsHeader(alarm,currentPage,pageSize);\r
+\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
                     AlarmsInformation information = new AlarmsInformation();\r
-                    information.setName(!"null".equals(name)?name:null);\r
-                    information.setValue(!"null".equals(value)?value:null);\r
-                    information.setEventId(a.getEventId());\r
-                    abo.setAlarmsInformation(alarmsInformationService.queryAlarmsInformation(information,1,100).getList());\r
+                    information.setEventId(a.getSourceId());\r
+                    List<AlarmsInformation> informationList = alarmsInformationService.queryAlarmsInformation(information,1,100).getList();\r
+                    informationList.forEach( il -> {\r
+                        if (il.getValue().equals("")){\r
+                            StringBuffer value1 = new StringBuffer();\r
+                            alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(il.getName()),1,100).getList()\r
+                                    .forEach( val -> value1.append(val.getValue()) );\r
+                            il.setValue(value1.toString());\r
+                        }\r
+                    } );\r
+                    abo.setAlarmsInformation(informationList);\r
                     list.add(abo);\r
                 });\r
             }\r
@@ -184,4 +191,28 @@ public class AlarmController
         }\r
     }\r
 \r
+    @RequestMapping(value = {"/alarm/sourceId"},method = RequestMethod.GET)\r
+    public String getSourceId(){\r
+        List<String> sourceIds = new ArrayList<>();\r
+        alarmsHeaderService.queryAlarmsHeader(null,1,Integer.MAX_VALUE).getList().forEach( al ->{\r
+            sourceIds.add(al.getSourceId());\r
+        } );\r
+        try {\r
+            return omAlarm.writeValueAsString(sourceIds);\r
+        } catch (JsonProcessingException e) {\r
+            e.printStackTrace();\r
+            return "";\r
+        }\r
+    }\r
+\r
+    @RequestMapping(value = {"/alarm/diagram"},method = RequestMethod.POST)\r
+    public String genDiagram(@RequestParam String sourceId,@RequestParam String startTime,@RequestParam String endTime){\r
+        try {\r
+            return omAlarm.writeValueAsString(alarmsInformationService.queryDateBetween(sourceId,startTime,endTime));\r
+        } catch (JsonProcessingException e) {\r
+            e.printStackTrace();\r
+            return "";\r
+        }\r
+    }\r
+\r
 }\r
index 19a69b9..2f0b972 100755 (executable)
@@ -36,10 +36,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -67,27 +64,28 @@ public class PerformanceController {
 
     private ObjectMapper omPerformance = new ObjectMapper();
 
-    @RequestMapping(value = {"/performance/{currentPage}/{pageSize}","/performance/{currentPage}/{pageSize}/{eventId}/{eventName}/{name}/{value}/{createTime}"},method = RequestMethod.GET, produces = "application/json")
+    @RequestMapping(value = {"/performance/{currentPage}/{pageSize}","/performance/{currentPage}/{pageSize}/{sourceId}/{sourceName}/{priority}/{startTime}/{endTime}"},method = RequestMethod.GET, produces = "application/json")
     public String getPerformanceData(HttpServletResponse response,@PathVariable int currentPage,
-                                     @PathVariable int pageSize,@PathVariable(required = false) String eventId,
-                                     @PathVariable(required = false) String eventName,@PathVariable(required = false) String name,
-                                     @PathVariable(required = false) String value,@PathVariable(required = false) String createTime) throws JsonProcessingException {
+                                     @PathVariable int pageSize,@PathVariable(required = false) String sourceId,
+                                     @PathVariable(required = false) String sourceName,@PathVariable(required = false) String priority,
+                                     @PathVariable(required = false) String startTime,@PathVariable(required = false) String endTime) throws JsonProcessingException {
         logger.info("transfer getAlarmData Apis, " +
-                        "Parameter all follows : [currentPage : {} , pageSize : {} , eventId : {} , " +
-                        "eventName : {} , name : {} , value :{} , createTime : {} ]"
-                ,currentPage,pageSize,eventId,eventName,name,value,createTime);
+                        "Parameter all follows : [currentPage : {} , pageSize : {} , sourceId : {} , " +
+                        "sourceName : {} , priority : {} , startTime :{} , endTime : {} ]"
+                ,currentPage,pageSize,sourceId,sourceName,priority,startTime,endTime);
         List<Object> list = new ArrayList<>();
         Page pa = null;
-        if (null != eventId || null != eventName || null != name || null != value || null != createTime){
+        if (null != sourceId || null != sourceName || null != priority || null != startTime || null != endTime){
             PerformanceHeader performanceHeader = new PerformanceHeader();
-            performanceHeader.setEventId(!"null".equals(eventId)?eventId:null);
-            performanceHeader.setEventName(!"null".equals(eventName)?eventName:null);
+            performanceHeader.setSourceId(!"null".equals(sourceId)?sourceId:null);
+            performanceHeader.setSourceName(!"null".equals(sourceName)?sourceName:null);
             try {
-                performanceHeader.setCreateTime(!"null".equals(createTime)?DateUtils.stringToDate(createTime):null);
+                performanceHeader.setCreateTime(!"null".equals(startTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(startTime):null);
+                performanceHeader.setUpdateTime(!"null".equals(endTime)?new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(endTime):null);
             } catch (ParseException e) {
                  if (null != response)
                     response.setStatus(400);
-                logger.error("ParseException["+createTime+"]:"+e.getMessage());
+                logger.error("ParseException["+startTime+"]:"+e.getMessage());
                 return "{'result':'error'}";
             }
             pa = performanceHeaderService.queryPerformanceHeader(performanceHeader,currentPage,pageSize);
@@ -95,11 +93,17 @@ public class PerformanceController {
             performanceHeaders.forEach( per ->{
                 PerformanceBo pbo = new PerformanceBo();
                 PerformanceInformation pe = new PerformanceInformation();
-                pe.setEventId(per.getEventId());
-                pe.setName(!"null".equals(name)?name:null);
-                pe.setValue(!"null".equals(value)?value:null);
+                pe.setEventId(per.getSourceId());
                 List<PerformanceInformation> performanceInformations = performanceInformationService.queryPerformanceInformation(pe,1,100).getList();
                 pbo.setPerformanceHeader(per);
+                performanceInformations.forEach( pi ->{
+                    if (pi.getValue().equals("")){
+                        StringBuffer value1 = new StringBuffer();
+                        performanceInformationService.queryPerformanceInformation(new PerformanceInformation(pi.getName()),1,100).getList()
+                                .forEach( val -> value1.append(val.getValue()));
+                        pi.setValue(value1.toString());
+                    }
+                } );
                 pbo.setPerformanceInformation(performanceInformations);
                 list.add(pbo);
             });
@@ -258,4 +262,56 @@ public class PerformanceController {
         return omPerformance.writeValueAsString(diagramSource);
     }
 
+    @RequestMapping(value = {"/performance/diagram"}, method = RequestMethod.POST, produces = "application/json")
+    public String generateDiagram(@RequestParam String sourceId,@RequestParam String startTime,@RequestParam String endTime,@RequestParam String nameParent,@RequestParam(required = false) String nameChild)  {
+        List<Integer> diagramSource = new ArrayList<>();
+        try {
+            logger.info(sourceId+":"+startTime+":"+endTime+":"+nameParent+":"+nameChild);
+            if (performanceHeaderService.queryPerformanceHeader(new PerformanceHeader(sourceId),1,10).getList() != null){
+                if (nameChild != null && !"".equals(nameChild)){
+                    sourceId = nameParent;
+                    nameParent = nameChild;
+                }
+                performanceInformationService.queryDateBetween(sourceId,nameParent,startTime,endTime)
+                        .forEach( per -> {
+                            diagramSource.add(Integer.parseInt(per.getValue()));
+                        });
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        try {
+            return omPerformance.writeValueAsString(diagramSource);
+        } catch (JsonProcessingException e) {
+            logger.error("JsonProcessingException:"+e.getMessage());
+            return "";
+        }
+    }
+
+    @RequestMapping(value = {"/performance/resourceIds"},method = RequestMethod.GET)
+    public String getSourceIds(){
+        try {
+            return omPerformance.writeValueAsString(performanceHeaderService.queryAllSourceId());
+        } catch (JsonProcessingException e) {
+            logger.error(e.getMessage());
+            return "";
+        }
+    }
+
+    @RequestMapping(value = {"/performance/names"},method = RequestMethod.POST)
+    public String getNames(@RequestParam Object sourceId){
+        try {
+            List<String> names = new ArrayList<>();
+            performanceInformationService.queryDateBetween(sourceId.toString(),null,null,null).forEach( per ->{
+                if (!names.contains(per.getName()))
+                    names.add(per.getName());
+            } );
+            return omPerformance.writeValueAsString(names);
+        } catch (JsonProcessingException e) {
+            logger.error(e.getMessage());
+            return "";
+        }
+    }
+
+
 }
index ab0780f..0de43e1 100644 (file)
@@ -66,16 +66,4 @@ public class PackageDistributionController {
     public JobStatus getJobStatus(@PathVariable(value="jobId") String jobId){
         return packageDistributionService.getJobStatus(jobId);
     }
-
-    @ResponseBody
-    @RequestMapping(value = {"/uui-lcm/ns-packages/{casrId}"}, method = RequestMethod.GET , produces = "application/json")
-    public DistributionResult deleteNsPackage(@PathVariable("casrId") String casrId){
-        return packageDistributionService.deleteNsPackage(casrId);
-    }
-
-    @ResponseBody
-    @RequestMapping(value = {"/uui-lcm/vf-packages/{casrId}"}, method = RequestMethod.GET , produces = "application/json")
-    public DistributionResult deleteVfPackage(@PathVariable("casrId") String casrId){
-        return packageDistributionService.deleteVfPackage(casrId);
-    }
 }
index 58b9b6d..70c37e3 100644 (file)
@@ -16,6 +16,7 @@
 package org.onap.usecaseui.server.service;
 
 import java.util.List;
+import java.util.Map;
 
 import org.onap.usecaseui.server.bean.AlarmsHeader;
 import org.onap.usecaseui.server.bean.AlarmsInformation;
@@ -33,4 +34,6 @@ public interface AlarmsInformationService {
     Page<AlarmsInformation> queryAlarmsInformation(AlarmsInformation alarmsInformation, int currentPage, int pageSize);
 
     List<AlarmsInformation> queryId(String[] id);
+
+    List<Map<String,String>> queryDateBetween(String sourceId, String startTime, String endTime);
 }
index 683903d..4e346ef 100644 (file)
@@ -33,4 +33,6 @@ public interface PerformanceHeaderService {
     Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage, int pageSize);
     
     List<PerformanceHeader> queryId(String[] id);
+
+    List<String> queryAllSourceId();
 }
index d3060d8..58932f1 100644 (file)
@@ -38,4 +38,7 @@ public interface PerformanceInformationService {
     List<PerformanceInformation> queryDateBetween(String eventId, Date startDate, Date endDate);
 
     int queryDataBetweenSum(String eventId, String name, Date startDate, Date endDate);
+
+    List<PerformanceInformation> queryDateBetween(String resourceId, String name, String startTime, String endTime);
+
 }
index 91c090a..a627f1f 100755 (executable)
@@ -16,6 +16,7 @@
 package org.onap.usecaseui.server.service.impl;\r
 \r
 \r
+import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
 import java.util.Date;\r
 import java.util.List;\r
@@ -28,6 +29,7 @@ import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;\r
 import org.onap.usecaseui.server.bean.AlarmsHeader;\r
 import org.onap.usecaseui.server.service.AlarmsHeaderService;\r
+import org.onap.usecaseui.server.util.DateUtils;\r
 import org.onap.usecaseui.server.util.Page;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
@@ -187,16 +189,16 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                        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
-            long q=(long)session.createQuery(count.toString()).uniqueResult();\r
+                               if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
+                                       count.append(" and a.createTime between :startTime and :endTime");\r
+                               }\r
+            }\r
+            Query query = session.createQuery(count.toString());\r
+                       if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
+                               query.setDate("startTime",alarmsHeader.getCreateTime());\r
+                               query.setDate("endTime",alarmsHeader.getUpdateTime());\r
+                       }\r
+            long q=(long)query.uniqueResult();\r
             session.flush();\r
             return (int)q;\r
         } catch (Exception e) {\r
@@ -223,7 +225,7 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                 }\r
                if(null!=alarmsHeader.getEventName()) {\r
                        String ver=alarmsHeader.getEventName();\r
-                       hql.append(" and a.eventName like '%"+ver+"%'");\r
+                       hql.append(" and a.eventName = '"+ver+"'");\r
                 }\r
                if(null!=alarmsHeader.getAlarmCondition()) {\r
                        String ver=alarmsHeader.getAlarmCondition();\r
@@ -313,17 +315,16 @@ public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
                        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
+               if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
+                       hql.append(" and a.createTime between :startTime and :endTime");\r
                 }\r
             }\r
             logger.info("AlarmsHeaderServiceImpl queryAlarmsHeader: alarmsHeader={}", alarmsHeader);\r
             Query query = session.createQuery(hql.toString());\r
+                       if(null!=alarmsHeader.getCreateTime() || alarmsHeader.getUpdateTime()!= null) {\r
+                               query.setDate("startTime",alarmsHeader.getCreateTime());\r
+                               query.setDate("endTime",alarmsHeader.getUpdateTime());\r
+                       }\r
             query.setFirstResult(offset);\r
             query.setMaxResults(pageSize);\r
             List<AlarmsHeader> list= query.list();\r
index 6da264f..32eec76 100755 (executable)
@@ -16,9 +16,8 @@
 package org.onap.usecaseui.server.service.impl;\r
 \r
 \r
-import java.util.ArrayList;\r
-import java.util.Date;\r
-import java.util.List;\r
+import java.sql.Timestamp;\r
+import java.util.*;\r
 \r
 import javax.transaction.Transactional;\r
 \r
@@ -190,7 +189,39 @@ public class AlarmsInformationServiceImpl implements AlarmsInformationService {
                }\r
        }\r
 \r
-    \r
-    \r
-    \r
+\r
+       @Override\r
+       public List<Map<String,String>> queryDateBetween(String sourceId, String startTime, String endTime) {\r
+               try(Session session = sessionFactory.openSession();) {\r
+                       List<Map<String,String>> mapList = new ArrayList<>();\r
+                       String hql = "select a.createTime,count(*) from AlarmsInformation a where 1=1 ";\r
+                       if (sourceId != null && !"".equals(sourceId)){\r
+                               hql += " and a.eventId = :sourceId";\r
+                       }\r
+                       if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                               hql += " and a.createTime between :startTime and :endTime ";\r
+                       }\r
+                       hql += " group by a.createTime";\r
+                       Query query = session.createQuery(hql);\r
+                       if (sourceId != null && !"".equals(sourceId)){\r
+                               query.setString("sourceId",sourceId);\r
+                       }\r
+                       if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                               query.setString("startTime", startTime).setString("endTime", endTime);\r
+                       }\r
+                       Iterator it= query.list().iterator();\r
+                       while(it.hasNext()){\r
+                               Object[] res=(Object[]) it.next();\r
+                               Map<String,String> map = new HashMap<>();\r
+                               map.put("Time",res[0].toString());\r
+                               map.put("Count",res[1].toString());\r
+                               mapList.add(map);\r
+                       }\r
+                       logger.info("AlarmsInformationServiceImpl queryDateBetween: list={}", mapList);\r
+                       return mapList;\r
+               } catch (Exception e) {\r
+                       logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDateBetween. Details:" + e.getMessage());\r
+                       return null;\r
+               }\r
+       }\r
 }\r
index 3a4ddf5..39828fa 100755 (executable)
@@ -161,16 +161,15 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                        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
+               if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
+                       hql.append(" and a.createTime between :startTime and :endTime ");\r
                 }\r
-               if(null!=performanceHeder.getUpdateTime()) {\r
-                       Date ver =performanceHeder.getUpdateTime();\r
-                       hql.append(" and a.updateTime like '%"+ver+"%'");\r
-                }\r
-            } \r
-            long q=(long)session.createQuery(hql.toString()).uniqueResult();\r
+            }\r
+            Query query = session.createQuery(hql.toString());\r
+                       if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
+                               query.setDate("startTime",performanceHeder.getCreateTime()).setDate("endTime",performanceHeder.getUpdateTime());\r
+                       }\r
+            long q=(long)query.uniqueResult();\r
             session.flush();\r
             return (int)q;\r
         } catch (Exception e) {\r
@@ -218,7 +217,7 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                 }\r
                if(null!=performanceHeder.getSourceId()) {\r
                        String ver =performanceHeder.getSourceId();\r
-                       hql.append(" and a.sourceId like '%"+ver+"%'");\r
+                       hql.append(" and a.sourceId = '"+ver+"'");\r
                 }\r
                if(null!=performanceHeder.getSourceName()) {\r
                        String ver =performanceHeder.getSourceName();\r
@@ -260,17 +259,15 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
                        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
+                               if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
+                                       hql.append(" and a.createTime between :startTime and :endTime ");\r
+                               }\r
             }\r
             logger.info("PerformanceHeaderServiceImpl queryPerformanceHeader: performanceHeder={}", performanceHeder);\r
             Query query = session.createQuery(hql.toString());\r
+                       if(null!=performanceHeder.getCreateTime() && null!=performanceHeder.getUpdateTime()) {\r
+                               query.setDate("startTime",performanceHeder.getCreateTime()).setDate("endTime",performanceHeder.getUpdateTime());\r
+                       }\r
             query.setFirstResult(offset);\r
             query.setMaxResults(pageSize);\r
             List<PerformanceHeader> list= query.list();\r
@@ -305,6 +302,14 @@ public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
        }\r
 \r
 \r
-    \r
-    \r
+       @Override\r
+       public List<String> queryAllSourceId() {\r
+               try(Session session = sessionFactory.openSession();) {\r
+                       Query query = session.createQuery("select a.sourceId from PerformanceHeader a");\r
+                       return query.list();\r
+               } catch (Exception e) {\r
+                       logger.error("exception occurred while performing PerformanceHeaderServiceImpl queryAllSourceId. Details:" + e.getMessage());\r
+                       return null;\r
+               }\r
+       }\r
 }\r
index 0b4371e..9ab975a 100755 (executable)
@@ -16,6 +16,7 @@
 package org.onap.usecaseui.server.service.impl;\r
 \r
 \r
+import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
 import java.util.Date;\r
 import java.util.List;\r
@@ -26,6 +27,7 @@ import javax.transaction.Transactional;
 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.DateUtils;\r
 import org.onap.usecaseui.server.util.Page;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
@@ -199,6 +201,7 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                        List<PerformanceInformation> list = new ArrayList<>();\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
+                       logger.info("PerformanceInformationServiceImpl queryDateBetween: list={}", list);\r
                        return list;\r
                } catch (Exception e) {\r
                        logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDateBetween. Details:" + e.getMessage());\r
@@ -215,6 +218,7 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                        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
+                       logger.info("PerformanceInformationServiceImpl queryDataBetweenSum: sum={}", sum);\r
                        return sum;\r
                } catch (Exception e) {\r
                        logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDataBetweenSum. Details:" + e.getMessage());\r
@@ -222,4 +226,35 @@ public class PerformanceInformationServiceImpl implements PerformanceInformation
                }\r
        }\r
 \r
+       @Override\r
+       public List<PerformanceInformation> queryDateBetween(String resourceId, String name, String startTime, String endTime) {\r
+               try(Session session = sessionFactory.openSession();) {\r
+                       String hql = "from PerformanceInformation a where 1=1 ";\r
+                       if (resourceId != null && !"".equals(resourceId)){\r
+                               hql += " and a.eventId = :resourceId";\r
+                       }\r
+                       if (name != null && !"".equals(name)){\r
+                               hql += " and a.name = :name ";\r
+                       }\r
+                       if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                               hql += " and a.createTime between :startTime and :endTime ";\r
+                       }\r
+                       Query query = session.createQuery(hql);\r
+                       if (resourceId != null && !"".equals(resourceId)){\r
+                               query.setString("resourceId",resourceId);\r
+                       }\r
+                       if (name != null && !"".equals(name)){\r
+                               query.setString("name",name);\r
+                       }\r
+                       if (startTime != null && !"".equals(startTime) && endTime != null && !"".equals(endTime)){\r
+                               query.setString("startTime", startTime).setString("endTime", endTime);\r
+                       }\r
+                       logger.info("PerformanceInformationServiceImpl queryDateBetween: list={}", query.list());\r
+                       return query.list();\r
+               } catch (Exception e) {\r
+                       logger.error("exception occurred while performing PerformanceInformationServiceImpl queryDateBetween. Details:" + e.getMessage());\r
+                       return null;\r
+               }\r
+       }\r
+\r
 }\r
index 76f6eef..2778613 100644 (file)
@@ -30,8 +30,4 @@ public interface PackageDistributionService {
     Job postVfPackage(Csar csar);
 
     JobStatus getJobStatus(String jobId);
-
-    DistributionResult deleteNsPackage(String csarId);
-
-    DistributionResult deleteVfPackage(String csarId);
 }
index c9d5bf6..3ceb3e7 100644 (file)
@@ -23,12 +23,12 @@ public class SDNCControllerRsp {
 
     private List<SDNCController> esrThirdpartySdncList;
 
-    @JsonProperty("esr-thirdparty-sdnc")
+    @JsonProperty("esr-thirdparty-sdnc-list")
     public List<SDNCController> getEsrThirdpartySdncList() {
         return esrThirdpartySdncList;
     }
 
-    @JsonProperty("esr-thirdparty-sdnc")
+    @JsonProperty("esr-thirdparty-sdnc-list")
     public void setEsrThirdpartySdncList(List<SDNCController> esrThirdpartySdncList) {
         this.esrThirdpartySdncList = esrThirdpartySdncList;
     }
index 6e401ce..ca3b9c1 100644 (file)
@@ -30,8 +30,6 @@ public class Vnf {
 
     private String name;
 
-    private String version;
-
     public String getUuid() {
         return uuid;
     }
@@ -56,14 +54,6 @@ public class Vnf {
         this.name = name;
     }
 
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;
@@ -71,12 +61,11 @@ public class Vnf {
         Vnf vnf = (Vnf) o;
         return Objects.equals(uuid, vnf.uuid) &&
                 Objects.equals(invariantUUID, vnf.invariantUUID) &&
-                Objects.equals(name, vnf.name) &&
-                Objects.equals(version, vnf.version);
+                Objects.equals(name, vnf.name);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(uuid, invariantUUID, name, version);
+        return Objects.hash(uuid, invariantUUID, name);
     }
 }
index 90d2835..2cf20ad 100644 (file)
@@ -20,13 +20,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 @JsonIgnoreProperties(ignoreUnknown=true)
 public class OperationProgressInformation {
 
-    private OperationProgress operationStatus;
+    private OperationProgress operation;
 
-    public OperationProgress getOperationStatus() {
-        return operationStatus;
+    public OperationProgress getOperation() {
+        return operation;
     }
 
-    public void setOperationStatus(OperationProgress operationStatus) {
-        this.operationStatus = operationStatus;
+    public void setOperation(OperationProgress operation) {
+        this.operation = operation;
     }
 }
index 6f81b5c..f762074 100644 (file)
@@ -20,7 +20,10 @@ import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.DistributionResult
 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.Job;
 import org.onap.usecaseui.server.service.lcm.domain.vfc.beans.JobStatus;
 import retrofit2.Call;
-import retrofit2.http.*;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.POST;
+import retrofit2.http.Path;
 
 public interface VfcService {
 
@@ -32,10 +35,4 @@ public interface VfcService {
 
     @GET("/api/nslcm/v1/jobs/{jobId}")
     Call<JobStatus> getJobStatus(@Path("jobId") String jobId);
-
-    @DELETE("/api/catalog/v1/nspackages/{csarId}")
-    Call<DistributionResult> deleteNsPackage(@Path("csarId") String csarId);
-
-    @DELETE("/api/catalog/v1/vnfpackages/{csarId}")
-    Call<DistributionResult> deleteVnfPackage(@Path("csarId") String csarId);
 }
index a0e0794..da8fd69 100644 (file)
@@ -135,34 +135,4 @@ public class DefaultPackageDistributionService implements PackageDistributionSer
             throw new VfcException("VFC service is not available!", e);
         }
     }
-
-    @Override
-    public DistributionResult deleteNsPackage(String csarId) {
-        try {
-            Response<DistributionResult> response = vfcService.deleteNsPackage(csarId).execute();
-            if (response.isSuccessful()) {
-                return response.body();
-            } else {
-                logger.info(String.format("Can not delete NS packages[code=%s, message=%s]", response.code(), response.message()));
-                throw new VfcException("VFC service is not available!");
-            }
-        } catch (IOException e) {
-            throw new VfcException("VFC service is not available!", e);
-        }
-    }
-
-    @Override
-    public DistributionResult deleteVfPackage(String csarId) {
-        try {
-            Response<DistributionResult> response = vfcService.deleteVnfPackage(csarId).execute();
-            if (response.isSuccessful()) {
-                return response.body();
-            } else {
-                logger.info(String.format("Can not delete VF packages[code=%s, message=%s]", response.code(), response.message()));
-                throw new VfcException("VFC service is not available!");
-            }
-        } catch (IOException e) {
-            throw new VfcException("VFC service is not available!", e);
-        }
-    }
 }
index 7d50a17..0419ec9 100644 (file)
@@ -53,310 +53,29 @@ import static org.onap.usecaseui.server.service.lcm.domain.sdc.consts.SDCConsts.
 @EnableAspectJAutoProxy
 public class DefaultServiceTemplateService implements ServiceTemplateService {
 
-    private static final Logger logger = LoggerFactory.getLogger(DefaultServiceTemplateService.class);
-
-    private SDCCatalogService sdcCatalog;
-
-    private AAIService aaiService;
-
     public DefaultServiceTemplateService() {
-        this(RestfulServices.create(SDCCatalogService.class), RestfulServices.create(AAIService.class));
     }
 
     public DefaultServiceTemplateService(SDCCatalogService sdcCatalog, AAIService aaiService) {
-        this.sdcCatalog = sdcCatalog;
-        this.aaiService = aaiService;
     }
 
     @Override
     public List<SDCServiceTemplate> listDistributedServiceTemplate() {
-        try {
-            Response<List<SDCServiceTemplate>> response = this.sdcCatalog.listServices(CATEGORY_E2E_SERVICE, DISTRIBUTION_STATUS_DISTRIBUTED).execute();
-            if (response.isSuccessful()) {
-                return response.body();
-            } else {
-                logger.info(String.format("Can not get distributed e2e service templates[code=%s, message=%s]", response.code(), response.message()));
-                return Collections.emptyList();
-            }
-        } catch (IOException e) {
-            logger.error("Visit SDC Catalog occur exception");
-            throw new SDCCatalogException("SDC Catalog is not available.", e);
-        }
+        return null;
     }
 
     @Override
     public ServiceTemplateInput fetchServiceTemplateInput(String uuid, String toscaModelPath) {
-        return fetchServiceTemplate(uuid, toscaModelPath, false);
-    }
-
-    private ServiceTemplateInput fetchServiceTemplate(String uuid, String toscaModelPath, boolean isVF) {
-        String toPath = String.format("/home/uui/%s.csar", uuid);
-//        String toPath = String.format("D:\\volte/%s.csar", uuid);
-        try {
-            downloadFile(toscaModelPath, toPath);
-            return extractTemplate(toPath, isVF);
-        }  catch (IOException e) {
-            throw new SDCCatalogException("download csar file failed!", e);
-        } catch (JToscaException e) {
-            throw new SDCCatalogException("parse csar file failed!", e);
-        }
-    }
-
-    protected void downloadFile(String toscaModelPath, String toPath) throws IOException {
-        try {
-            String msbUrl = RestfulServices.getMsbAddress();
-            String templateUrl = String.format("http://%s%s", msbUrl, toscaModelPath);
-            ResponseBody body = sdcCatalog.downloadCsar(templateUrl).execute().body();
-            Files.write(body.bytes(),new File(toPath));
-        } catch (IOException e) {
-            logger.error(String.format("Download %s failed!", toscaModelPath));
-            throw e;
-        }
-    }
-
-    public ServiceTemplateInput extractTemplate(String toPath, boolean isVF) throws JToscaException, IOException {
-        ToscaTemplate tosca = translateToToscaTemplate(toPath);
-        ServiceTemplateInput serviceTemplateInput = newServiceTemplateInput(tosca);
-        Map<String, Input> inputsMap = getInputsMap(tosca);
-        for (NodeTemplate nodeTemplate : tosca.getNodeTemplates()) {
-            String nodeType = nodeTemplate.getMetaData().getValue("type");
-            if ("VF".equals(nodeType)) {
-                ServiceTemplateInput nodeService = fetchVFNodeTemplateInput(nodeTemplate);
-                if (nodeService == null) {
-                    continue;
-                }
-                serviceTemplateInput.addNestedTemplate(nodeService);
-            } else {
-                ServiceTemplateInput nodeService = fetchVLServiceTemplateInput(nodeTemplate, inputsMap);
-                serviceTemplateInput.addNestedTemplate(nodeService);
-            }
-        }
-        List<TemplateInput> serviceInputs = getServiceInputs(inputsMap.values());
-        serviceTemplateInput.addInputs(serviceInputs);
-        if (isVF) {
-            serviceTemplateInput.setType("VF");
-            appendLocationParameters(serviceTemplateInput, tosca);
-            appendSdnControllerParameter(serviceTemplateInput);
-        }
-        return serviceTemplateInput;
-    }
-
-    private void appendLocationParameters(ServiceTemplateInput serviceTemplateInput, ToscaTemplate tosca) {
-        for (NodeTemplate nodeTemplate : tosca.getNodeTemplates()) {
-            String type = nodeTemplate.getMetaData().getValue("type");
-            String uuid = nodeTemplate.getMetaData().getValue("UUID");
-            if ("VF".equals(type)) {
-                serviceTemplateInput.addInput(
-                        new TemplateInput(
-                                uuid,
-                                "vf_location",
-                                "location for the service " + uuid,
-                                "true",
-                                ""
-                        )
-                );
-            }
-        }
-    }
-
-    private void appendSdnControllerParameter(ServiceTemplateInput serviceTemplateInput) {
-        serviceTemplateInput.addInput(
-                new TemplateInput(
-                        "sdncontroller",
-                        "sdn_controller",
-                        "location for the service",
-                        "true",
-                        ""
-                )
-        );
-    }
-
-    private ServiceTemplateInput fetchVLServiceTemplateInput(NodeTemplate nodeTemplate, Map<String, Input> inputsMap) {
-        ServiceTemplateInput nodeService = newServiceTemplateInput(nodeTemplate);
-        String prefix = getPrefix(nodeTemplate.getName());
-        List<TemplateInput> templateInputs = collectInputs(prefix, inputsMap);
-        nodeService.addInputs(templateInputs);
-        return nodeService;
-    }
-
-    private ServiceTemplateInput fetchVFNodeTemplateInput(NodeTemplate nodeTemplate) throws IOException {
-        String nodeUUID = fetchNodeUUID(nodeTemplate);
-        if (nodeUUID == null) {
-            // not found nested node
-            return null;
-        }
-        String toscaModelURL = getToscaUrl(nodeUUID);
-        if (toscaModelURL == null) {
-            return null;
-        }
-        return fetchServiceTemplate(nodeUUID, toscaModelURL, true);
-    }
-
-    private List<TemplateInput> getServiceInputs(Collection<Input> inputs) {
-        List<TemplateInput> result = new ArrayList<>();
-        for (Input input : inputs) {
-            result.add(
-                    new TemplateInput(
-                            input.getName(),
-                            input.getType(),
-                            input.getDescription(),
-                            String.valueOf(input.isRequired()),
-                            String.valueOf(input.getDefault())
-                    )
-            );
-        }
-        return result;
-    }
-
-    private String fetchNodeUUID(NodeTemplate nodeTemplate) {
-        LinkedHashMap<String, Property> properties = nodeTemplate.getProperties();
-        for (Map.Entry<String, Property> entry : properties.entrySet()) {
-            String key = entry.getKey();
-            if (key.endsWith("providing_service_uuid")) {
-                return String.valueOf(entry.getValue().getValue());
-            }
-        }
-        // not found
         return null;
     }
 
-    private List<TemplateInput> collectInputs(String prefix, Map<String, Input> inputsMap) {
-        List<TemplateInput> result = new ArrayList<>();
-        List<String> removeItems = new ArrayList<>();
-        for (Map.Entry<String, Input> entry : inputsMap.entrySet()) {
-            String name = entry.getKey();
-            if (name.startsWith(prefix)) {
-                //remove resource name prefix which sdc added.
-                name = name.substring(prefix.length() + 1);
-                Input in = entry.getValue();
-                result.add(
-                        new TemplateInput(
-                                name,
-                                in.getType(),
-                                in.getDescription(),
-                                String.valueOf(in.isRequired()),
-                                String.valueOf(in.getDefault())
-                        )
-                );
-                removeItems.add(entry.getKey());
-            }
-        }
-        for (String key : removeItems) {
-            inputsMap.remove(key);
-        }
-        return result;
-    }
-
-    private Map<String, Input> getInputsMap(ToscaTemplate tosca) {
-        Map<String, Input> result = new HashMap<>();
-        for (Input input : tosca.getInputs()) {
-            result.put(input.getName(), input);
-        }
-        return result;
-    }
-
-    private String getPrefix(String name) {
-        return name.replaceAll(" +", "").toLowerCase();
-    }
-
-    protected String getToscaUrl(String nodeUUID) throws IOException {
-        Response<SDCServiceTemplate> response = sdcCatalog.getService(nodeUUID).execute();
-        if (response.isSuccessful()) {
-            SDCServiceTemplate template = response.body();
-            return template.getToscaModelURL();
-        } else {
-            logger.info(String.format("Cannot get tosca model for node template[%s]", nodeUUID));
-            return null;
-        }
-    }
-
-    protected ToscaTemplate translateToToscaTemplate(String toPath) throws JToscaException {
-        return new ToscaTemplate(toPath,null,true,null,true);
-    }
-
-    private static ServiceTemplateInput newServiceTemplateInput(ToscaTemplate tosca) {
-        String invariantUUID = tosca.getMetaData().getValue("invariantUUID");
-        String uuid = tosca.getMetaData().getValue("UUID");
-        String name = tosca.getMetaData().getValue("name");
-        String type = tosca.getMetaData().getValue("type");
-        String version = tosca.getMetaData().getValue("version");
-        if (version == null) {
-            version = "";
-        }
-        String description = tosca.getMetaData().getValue("description");
-        String category = tosca.getMetaData().getValue("category");
-        String subcategory = tosca.getMetaData().getValue("subcategory");
-        if(subcategory == null) {
-            subcategory = "";
-        }
-        return new ServiceTemplateInput(
-                invariantUUID,
-                uuid,
-                name,
-                type,
-                version,
-                description,
-                category,
-                subcategory,
-                new ArrayList<>());
-    }
-
-    private static ServiceTemplateInput newServiceTemplateInput(NodeTemplate nodeTemplate) {
-        String invariantUUID = nodeTemplate.getMetaData().getValue("invariantUUID");
-        String uuid = nodeTemplate.getMetaData().getValue("UUID");
-        String name = nodeTemplate.getMetaData().getValue("name");
-        String type = nodeTemplate.getMetaData().getValue("type");
-        String version = nodeTemplate.getMetaData().getValue("version");
-        if (version == null) {
-            version = "";
-        }
-        String description = nodeTemplate.getMetaData().getValue("description");
-        String category = nodeTemplate.getMetaData().getValue("category");
-        String subcategory = nodeTemplate.getMetaData().getValue("subcategory");
-        if(subcategory == null) {
-            subcategory = "";
-        }
-        return new ServiceTemplateInput(
-                invariantUUID,
-                uuid,
-                name,
-                type,
-                version,
-                description,
-                category,
-                subcategory,
-                new ArrayList<>());
-    }
-
     @Override
     public List<VimInfo> listVim() {
-        try {
-            Response<VimInfoRsp> response = aaiService.listVimInfo().execute();
-            if (response.isSuccessful()) {
-                return response.body().getCloudRegion();
-            } else {
-                logger.info(String.format("Can not get vim info[code=%s, message=%s]", response.code(), response.message()));
-                return Collections.emptyList();
-            }
-        } catch (IOException e) {
-            logger.error("Visit AAI occur exception");
-            throw new AAIException("AAI is not available.", e);
-        }
+        return null;
     }
 
     @Override
     public List<SDNCController> listSDNCControllers() {
-        try {
-            Response<SDNCControllerRsp> response = aaiService.listSdncControllers().execute();
-            if (response.isSuccessful()) {
-                return response.body().getEsrThirdpartySdncList();
-            } else {
-                logger.info(String.format("Can not get sdnc controllers[code=%s, message=%s]", response.code(), response.message()));
-                return Collections.emptyList();
-            }
-        } catch (IOException e) {
-            logger.error("Visit AAI occur exception");
-            throw new AAIException("AAI is not available.", e);
-        }
+        return null;
     }
 }
index 6d6116a..931b0e5 100644 (file)
  */
 package org.onap.usecaseui.server.util;
 
-import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import lombok.Getter;
-import lombok.Setter;
 import org.glassfish.jersey.client.ClientConfig;
 import org.onap.usecaseui.server.bean.AlarmsHeader;
 import org.onap.usecaseui.server.bean.AlarmsInformation;
 import org.onap.usecaseui.server.bean.PerformanceHeader;
 import org.onap.usecaseui.server.bean.PerformanceInformation;
+import org.onap.usecaseui.server.constant.Constant;
 import org.onap.usecaseui.server.service.AlarmsHeaderService;
 import org.onap.usecaseui.server.service.AlarmsInformationService;
 import org.onap.usecaseui.server.service.PerformanceHeaderService;
 import org.onap.usecaseui.server.service.PerformanceInformationService;
-import org.onap.usecaseui.server.service.impl.AlarmsHeaderServiceImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Controller;
 
 import javax.annotation.Resource;
 import javax.ws.rs.client.Client;
@@ -42,6 +36,8 @@ import javax.ws.rs.client.ClientBuilder;
 import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.core.Response;
 import java.io.*;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 @org.springframework.context.annotation.Configuration
@@ -51,10 +47,11 @@ public class DmaapSubscriber implements Runnable {
     private Logger logger = LoggerFactory.getLogger(DmaapSubscriber.class);
 
     private String url;
-    private String topic;
+    private String alarmTopic;
+    private String performanceTopic;
     private String consumerGroup;
     private String consumer;
-    private int timeout ;
+    private int timeout;
 
     private boolean isActive = true;
 
@@ -70,223 +67,328 @@ public class DmaapSubscriber implements Runnable {
     @Resource(name = "PerformanceInformationService")
     private PerformanceInformationService performanceInformationService;
 
-    private void subscribe(){
-        String response = "";
-        try{
-            response = getDMaaPData();
+    public void subscribe(String topic) {
+        String response;
+        try {
+            response = getDMaaPData(topic);
             logger.info(response);
-            try{
+            if (response == null && "".equals(response)) {
+                logger.info("response is null");
+                return;
+            } else {
                 ObjectMapper objMapper = new ObjectMapper();
-                Map<String,Map<String,Map<String,Object>>> maps = objMapper.readValue(response,Map.class);
-                AlarmsHeader alarm_header = new AlarmsHeader();
-                List<AlarmsInformation> alarm_informations = new ArrayList<>();
-                PerformanceHeader performance_header = new PerformanceHeader();
-                List<PerformanceInformation> performance_infomations = new ArrayList<>();
-                maps.forEach( (k,v) -> {
-                    maps.get(k).forEach( (k1,v1) ->{
-                        if (maps.get(k).get(k1).containsValue("fault") || maps.get(k).containsKey("faultFields")){
-                            if (k1.equals("commonEventHeader")){
-                                maps.get(k).get(k1).forEach( (k2,v2 ) ->{
-                                    if (k2.equals("version"))
-                                        alarm_header.setVersion(v2.toString());
-                                    if (k2.equals("eventName"))
-                                        alarm_header.setEventName(v2.toString());
-                                    if (k2.equals("domain"))
-                                        alarm_header.setDomain(v2.toString());
-                                    if (k2.equals("eventId"))
-                                        alarm_header.setEventId(v2.toString());
-                                    if (k2.equals("eventType"))
-                                        alarm_header.setEventType(v2.toString());
-                                    if (k2.equals("nfcNamingCode"))
-                                        alarm_header.setNfcNamingCode(v2.toString());
-                                    if (k2.equals("nfNamingCode"))
-                                        alarm_header.setNfNamingCode(v2.toString());
-                                    if (k2.equals("sourceId"))
-                                        alarm_header.setSourceId(v2.toString());
-                                    if (k2.equals("sourceName"))
-                                        alarm_header.setSourceName(v2.toString());
-                                    if (k2.equals("reportingEntityId"))
-                                        alarm_header.setReportingEntityId(v2.toString());
-                                    if (k2.equals("reportingEntityName"))
-                                        alarm_header.setReportingEntityName(v2.toString());
-                                    if (k2.equals("priority"))
-                                        alarm_header.setPriority(v2.toString());
-                                    if (k2.equals("startEpochMicrosec"))
-                                        alarm_header.setStartEpochMicrosec(v2.toString());
-                                    if (k2.equals("lastEpochMicrosec"))
-                                        alarm_header.setLastEpochMicroSec(v2.toString());
-                                    if (k2.equals("sequence"))
-                                        alarm_header.setSequence(v2.toString());
-                                } );
-                            }
-                            else if (k1.equals("faultFields")) {
-                                maps.get(k).get(k1).forEach((k3, v3) -> {
-                                    if (k3.equals("faultFieldsVersion"))
-                                        alarm_header.setFaultFieldsVersion(v3.toString());
-                                    if (k3.equals("eventSeverity"))
-                                        alarm_header.setEventServrity(v3.toString());
-                                    if (k3.equals("eventSourceType"))
-                                        alarm_header.setEventSourceType(v3.toString());
-                                    if (k3.equals("eventCategory"))
-                                        alarm_header.setEventCategory(v3.toString());
-                                    if (k3.equals("alarmCondition"))
-                                        alarm_header.setAlarmCondition(v3.toString());
-                                    if (k3.equals("specificProblem"))
-                                        alarm_header.setSpecificProblem(v3.toString());
-                                    if (k3.equals("vfStatus"))
-                                        alarm_header.setVfStatus(v3.toString());
-                                    if (k3.equals("alarmInterfaceA"))
-                                        alarm_header.setAlarmInterfaceA(v3.toString());
-                                    if (k3.equals("alarmAdditionalInformation")) {
-                                        try {
-                                            List<Map<String,Object>> m = (List<Map<String, Object>>) v3;
-                                            m.forEach( i -> {
-                                                i.forEach( (k4,v4) -> {
-                                                    alarm_informations.add(new AlarmsInformation(k4,v4.toString(),alarm_header.getEventName(),new Date(),new Date()));
-                                                });
-                                            } );
-                                            alarm_header.setCreateTime(new Date());
-                                            if (alarm_header.getEventName().contains("Cleared")){
-                                                alarm_header.setStatus("3");
-                                                alarmsHeaderService.saveAlarmsHeader(alarm_header);
-                                                alarm_informations.forEach( information ->
-                                                        alarmsInformationService.saveAlarmsInformation(information));
-                                                AlarmsHeader header1 = new AlarmsHeader();
-                                                header1.setEventName(alarm_header.getEventName().substring(0,alarm_header.getEventName().indexOf("Cleared")));
-                                                List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(header1,1,10).getList();
-                                                alarmsHeaders.forEach( alarms -> {
-                                                    alarms.setStatus("2");
-                                                    alarmsHeaderService.updateAlarmsHeader(alarms);
-                                                } );
-                                            }else{
-                                                alarm_header.setStatus("1");
-                                                logger.info(alarm_header.toString() +"");
-                                                alarmsHeaderService.saveAlarmsHeader(alarm_header);
-                                                alarm_informations.forEach( information ->
-                                                        alarmsInformationService.saveAlarmsInformation(information));
-                                            }
-                                        } catch (Exception e) {
-                                            logger.error("convert alarmAdditionalInformation error:"+e.getMessage());
-                                        }
-                                    }
-                                });
+                objMapper.setDateFormat(new SimpleDateFormat(Constant.DATE_FORMAT));
+                if (response.contains("}}\""))
+                    response = response.replaceAll("}}\"","}}");
+                if (response.contains("\"{\"VESversion\""))
+                    response = response.replaceAll("\"\\{\"VESversion\"","{\"VESversion\"");
+                if (response.contains("]\""))
+                    response = response.replaceAll("]\"","]");
+                if (response.contains("\"["))
+                    response = response.replaceAll("\"\\[","[");
+                if (response.contains("Remark:\""))
+                    response = response.replaceAll("Remark:\"",":");
+                if (response.contains("\";"))
+                    response = response.replaceAll("\";",";");
 
-                            }
-                        }else if(maps.get(k).get(k1).containsValue("measurementsForVfScaling") || maps.get(k).containsKey("measurementsForVfScalingFields")){
-                            if (k1.equals("commonEventHeader"))
-                                maps.get(k).get(k1).forEach( (k2,v2) ->{
-                                    if (k2.equals("version"))
-                                        performance_header.setVersion(v2.toString());
-                                    if (k2.equals("eventName"))
-                                        performance_header.setEventName(v2.toString());
-                                    if (k2.equals("domain"))
-                                        performance_header.setDomain(v2.toString());
-                                    if (k2.equals("eventId"))
-                                        performance_header.setEventId(v2.toString());
-                                    if (k2.equals("eventType"))
-                                        performance_header.setEventType(v2.toString());
-                                    if (k2.equals("nfcNamingCode"))
-                                        performance_header.setNfcNamingCode(v2.toString());
-                                    if (k2.equals("nfNamingCode"))
-                                        performance_header.setNfNamingCode(v2.toString());
-                                    if (k2.equals("sourceId"))
-                                        performance_header.setSourceId(v2.toString());
-                                    if (k2.equals("sourceName"))
-                                        performance_header.setSourceName(v2.toString());
-                                    if (k2.equals("reportingEntityId"))
-                                        performance_header.setReportingEntityId(v2.toString());
-                                    if (k2.equals("reportingEntityName"))
-                                        performance_header.setReportingEntityName(v2.toString());
-                                    if (k2.equals("priority"))
-                                        performance_header.setPriority(v2.toString());
-                                    if (k2.equals("startEpochMicrosec"))
-                                        performance_header.setStartEpochMicrosec(v2.toString());
-                                    if (k2.equals("lastEpochMicrosec"))
-                                        performance_header.setLastEpochMicroSec(v2.toString());
-                                    if (k2.equals("sequence"))
-                                        performance_header.setSequence(v2.toString());
-                                } );
-                            else if(k1.equals("measurementsForVfScalingFields")) {
-                                maps.get(k).get(k1).forEach((k3, v3) -> {
-                                    if (k3.equals("measurementsForVfScalingVersion"))
-                                        performance_header.setMeasurementsForVfScalingVersion(v3.toString());
-                                    if (k3.equals("measurementInterval"))
-                                        performance_header.setMeasurementInterval(v3.toString());
-                                    if (k3.equals("additionalMeasurements")){
-                                        try {
-                                            List<Map<String,Object>> m = (List<Map<String, Object>>) v3;
-                                            m.forEach( i -> {
-                                                i.forEach( (k4,v4) -> {
-                                                    performance_infomations.add(new PerformanceInformation(k4,v4.toString(),performance_header.getEventName(),new Date(),new Date()));
-                                                });
-                                            } );
-                                        } catch (Exception e) {
-                                            logger.error("convert additionalMeasurements error:"+e.getMessage());
-                                        }
+                if (response.indexOf("[") == 0) {
+                    List<Object> eventList = objMapper.readValue(response, List.class);
 
-                                    }
-                                });
-                                performance_header.setCreateTime(new Date());
-                                performance_header.setUpdateTime(new Date());
-                                performanceHeaderService.savePerformanceHeader(performance_header);
-                                performance_infomations.forEach( information ->
-                                        performanceInformationService.savePerformanceInformation(information));
-                            }
+                    eventList.forEach(el -> {
+                        Map<String, Object> eventMaps = (Map<String, Object>) ((Map<String, Object>) el).get("event");
+                        if (eventMaps.containsKey("measurementsForVfScalingFields")) {
+                            performanceProcess(eventMaps);
+                        } else if (eventMaps.containsKey("faultFields")) {
+                            alarmProcess(eventMaps);
                         }
-
                     });
-                });
-            }catch (Exception e){
-                e.printStackTrace();
-                logger.error("dispose of Data failed:"+e.getMessage());
+                } else if (response.indexOf("{") == 0) {
+                    Map<String, Object> eventMaps = (Map<String, Object>) objMapper.readValue(response, Map.class).get("event");
+
+                    if (eventMaps.containsKey("measurementsForVfScalingFields")) {
+                        performanceProcess(eventMaps);
+                    } else if (eventMaps.containsKey("faultFields")) {
+                        alarmProcess(eventMaps);
+                    }
+                } else {
+                    logger.error("unknown json type!");
+                }
             }
-        }catch (Exception e){
-            logger.error("getDMaaP Information failed :"+e.getMessage());
+        } catch (Exception e) {
+            logger.error("getDMaaP Information failed :" + e.getMessage());
         }
     }
 
-    private String getDMaaPData(){
+    private String getDMaaPData(String topic) {
         Client client = ClientBuilder.newClient(new ClientConfig());
-        WebTarget webTarget = client.target(url +"/" + topic +"/"+ consumerGroup +"/"+ consumer);
-        Response response = webTarget.queryParam("timeout",timeout).request().get();
+        WebTarget webTarget = client.target(url + "/" + topic + "/" + consumerGroup + "/" + consumer);
+        Response response = webTarget.queryParam("timeout", timeout).request().get();
         return response.readEntity(String.class);
     }
 
-    private void initConfig(){
+    private void initConfig() {
         InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("dmaap.properties");
         Properties p = new Properties();
         try {
             p.load(inputStream);
-            this.url = p.getProperty("dmaap.url");
-            this.topic = p.getProperty("dmaap.topic");
+            this.url = p.getProperty("http://") + System.getenv("MS_ADDR");
+            this.alarmTopic = p.getProperty("dmaap.alarmTopic");
+            this.performanceTopic = p.getProperty("dmaap.performanceTopic");
             this.consumerGroup = p.getProperty("dmaap.consumerGroup");
             this.consumer = p.getProperty("dmaap.consumer");
             this.timeout = Integer.parseInt(p.getProperty("dmaap.timeout"));
         } catch (IOException e1) {
-            logger.error("get configuration file arise error :"+e1.getMessage());
+            logger.error("get configuration file arise error :" + e1.getMessage());
         }
-
     }
 
     public void run() {
-        try{
+        try {
             initConfig();
-            while(isActive){
-               subscribe();
+            while (isActive) {
+                subscribe(alarmTopic);
+                subscribe(performanceTopic);
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             try {
                 Thread.sleep(10000);
             } catch (InterruptedException e1) {
                 e1.printStackTrace();
             }
-            logger.error("subscribe raise error :"+e.getCause());
+            logger.error("subscribe raise error :" + e.getCause());
         }
     }
 
-    public void stopTask(){
-        if (isActive)
-            isActive = false;
+    private void alarmProcess(Map<String, Object> eventMap) {
+        AlarmsHeader alarm_header = new AlarmsHeader();
+        List<AlarmsInformation> alarm_informations = new ArrayList<>();
+        eventMap.forEach((ek1, ev1) -> {
+            if (ek1.equals("commonEventHeader")) {
+                ((Map<String, Object>) ev1).forEach((k2, v2) -> {
+                    if (k2.equals("version"))
+                        alarm_header.setVersion(v2.toString());
+                    if (k2.equals("eventName"))
+                        alarm_header.setEventName(v2.toString());
+                    if (k2.equals("domain"))
+                        alarm_header.setDomain(v2.toString());
+                    if (k2.equals("eventId"))
+                        alarm_header.setEventId(v2.toString());
+                    if (k2.equals("eventType"))
+                        alarm_header.setEventType(v2.toString());
+                    if (k2.equals("nfcNamingCode"))
+                        alarm_header.setNfcNamingCode(v2.toString());
+                    if (k2.equals("nfNamingCode"))
+                        alarm_header.setNfNamingCode(v2.toString());
+                    if (k2.equals("sourceId"))
+                        alarm_header.setSourceId(v2.toString());
+                    if (k2.equals("sourceName"))
+                        alarm_header.setSourceName(v2.toString());
+                    if (k2.equals("reportingEntityId"))
+                        alarm_header.setReportingEntityId(v2.toString());
+                    if (k2.equals("reportingEntityName"))
+                        alarm_header.setReportingEntityName(v2.toString());
+                    if (k2.equals("priority"))
+                        alarm_header.setPriority(v2.toString());
+                    if (k2.equals("startEpochMicrosec"))
+                        alarm_header.setStartEpochMicrosec(v2.toString());
+                    if (k2.equals("lastEpochMicrosec"))
+                        alarm_header.setLastEpochMicroSec(v2.toString());
+                    if (k2.equals("sequence"))
+                        alarm_header.setSequence(v2.toString());
+                });
+            } else if (ek1.equals("faultFields")) {
+                ((Map<String, Object>) ev1).forEach((k3, v3) -> {
+                    if (k3.equals("faultFieldsVersion"))
+                        alarm_header.setFaultFieldsVersion(v3.toString());
+                    if (k3.equals("eventSeverity"))
+                        alarm_header.setEventServrity(v3.toString());
+                    if (k3.equals("eventSourceType"))
+                        alarm_header.setEventSourceType(v3.toString());
+                    if (k3.equals("eventCategory"))
+                        alarm_header.setEventCategory(v3.toString());
+                    if (k3.equals("alarmCondition"))
+                        alarm_header.setAlarmCondition(v3.toString());
+                    if (k3.equals("specificProblem"))
+                        alarm_header.setSpecificProblem(v3.toString());
+                    if (k3.equals("vfStatus"))
+                        alarm_header.setVfStatus(v3.toString());
+                    if (k3.equals("alarmInterfaceA"))
+                        alarm_header.setAlarmInterfaceA(v3.toString());
+                    if (k3.equals("alarmAdditionalInformation")) {
+                        try {
+                            List<Map<String, Object>> m = (List<Map<String, Object>>) v3;
+                            m.forEach(i -> {
+                                if (i.get("name").toString().equals("eventTime"))
+                                    try {
+                                        alarm_header.setCreateTime(DateUtils.stringToDate(i.get("value").toString()));
+                                        alarm_header.setUpdateTime(DateUtils.stringToDate(i.get("value").toString()));
+                                    } catch (ParseException e) {
+                                        e.printStackTrace();
+                                    }
+                                if (i.get("value").toString().contains(";")) {
+                                    alarm_informations.add(new AlarmsInformation(i.get("name").toString(), "", alarm_header.getSourceId(), null, null));
+                                    char[] valStr = i.get("value").toString().toCharArray();
+                                    String name = "";
+                                    String value = "";
+                                    boolean nameFlag = true;
+                                    boolean valueFlag = false;
+                                    for (int j = 0; j < valStr.length; j++) {
+                                        if (valStr[j] == ':') {
+                                            nameFlag = false;
+                                            valueFlag = true;
+                                            continue;
+                                        }
+                                        if (valStr[j] == ';') {
+                                            nameFlag = true;
+                                            valueFlag = false;
+                                            alarm_informations.add(new AlarmsInformation(name, value, i.get("name").toString(), null, null));
+                                            continue;
+                                        }
+                                        if (nameFlag)
+                                            name += valStr[j];
+                                        if (valueFlag)
+                                            value += valStr[j];
+                                    }
+                                } else {
+                                    alarm_informations.add(new AlarmsInformation(i.get("name").toString(), i.get("value").toString(), alarm_header.getSourceId(), null, null));
+                                }
+                            });
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                            logger.error("convert alarmAdditionalInformation error:" + e.getMessage());
+                        }
+                    }
+                });
+                alarm_informations.forEach(ai -> {
+                    ai.setCreateTime(alarm_header.getCreateTime());
+                    ai.setUpdateTime(new Date());
+                });
+                if (alarm_header.getEventName().contains("Cleared")) {
+                    alarm_header.setStatus("3");
+                    alarmsHeaderService.saveAlarmsHeader(alarm_header);
+                    alarm_informations.forEach(information ->
+                            alarmsInformationService.saveAlarmsInformation(information));
+                    AlarmsHeader header1 = new AlarmsHeader();
+                    header1.setEventName(alarm_header.getEventName().substring(0, alarm_header.getEventName().indexOf("Cleared")));
+                    List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(header1, 1, 10).getList();
+                    alarmsHeaders.forEach(alarms -> {
+                        alarms.setStatus("2");
+                        alarms.setUpdateTime(new Date());
+                        alarmsHeaderService.updateAlarmsHeader(alarms);
+                    });
+                } else {
+                    alarm_header.setUpdateTime(new Date());
+                    alarm_header.setStatus("1");
+                    alarmsHeaderService.saveAlarmsHeader(alarm_header);
+                    alarm_informations.forEach(information ->
+                            alarmsInformationService.saveAlarmsInformation(information));
+                }
+            }
+        });
     }
 
-}
+    private void performanceProcess(Map<String, Object> maps) {
+        PerformanceHeader performance_header = new PerformanceHeader();
+        List<PerformanceInformation> performance_informations = new ArrayList<>();
+        maps.forEach((k, v) -> {
+            if (k.equals("event")) {
+                Map<String, Object> eventMap = (Map<String, Object>) v;
+                eventMap.forEach((ek1, ev1) -> {
+                    if (ek1.equals("commonEventHeader")) {
+                        ((Map<String, Object>) ev1).forEach((k2, v2) -> {
+                            if (k2.equals("version"))
+                                performance_header.setVersion(v2.toString());
+                            if (k2.equals("eventName"))
+                                performance_header.setEventName(v2.toString());
+                            if (k2.equals("domain"))
+                                performance_header.setDomain(v2.toString());
+                            if (k2.equals("eventId"))
+                                performance_header.setEventId(v2.toString());
+                            if (k2.equals("eventType"))
+                                performance_header.setEventType(v2.toString());
+                            if (k2.equals("nfcNamingCode"))
+                                performance_header.setNfcNamingCode(v2.toString());
+                            if (k2.equals("nfNamingCode"))
+                                performance_header.setNfNamingCode(v2.toString());
+                            if (k2.equals("sourceId"))
+                                performance_header.setSourceId(v2.toString());
+                            if (k2.equals("sourceName"))
+                                performance_header.setSourceName(v2.toString());
+                            if (k2.equals("reportingEntityId"))
+                                performance_header.setReportingEntityId(v2.toString());
+                            if (k2.equals("reportingEntityName"))
+                                performance_header.setReportingEntityName(v2.toString());
+                            if (k2.equals("priority"))
+                                performance_header.setPriority(v2.toString());
+                            if (k2.equals("startEpochMicrosec"))
+                                performance_header.setStartEpochMicrosec(v2.toString());
+                            if (k2.equals("lastEpochMicrosec"))
+                                performance_header.setLastEpochMicroSec(v2.toString());
+                            if (k2.equals("sequence"))
+                                performance_header.setSequence(v2.toString());
+                        });
+                    } else if (ek1.equals("measurementsForVfScalingFields")) {
+                        ((Map<String, Object>) ev1).forEach((k3, v3) -> {
+                            if (k3.equals("measurementsForVfScalingVersion"))
+                                performance_header.setMeasurementsForVfScalingVersion(v3.toString());
+                            if (k3.equals("measurementInterval"))
+                                performance_header.setMeasurementInterval(v3.toString());
+                            if (k3.equals("additionalMeasurements")) {
+                                try {
+                                    List<Map<String, Object>> m = (List<Map<String, Object>>) v3;
+                                    m.forEach(i -> {
+                                        if (i.get("name").toString().equals("eventTime"))
+                                            try {
+                                                performance_header.setCreateTime(DateUtils.stringToDate(i.get("value").toString()));
+                                                performance_header.setUpdateTime(DateUtils.stringToDate(i.get("value").toString()));
+                                            } catch (ParseException e) {
+                                                e.printStackTrace();
+                                            }
+                                        if (i.get("value").toString().contains(";")) {
+                                            performance_informations.add(new PerformanceInformation(i.get("name").toString(), "", performance_header.getSourceId(), null, null));
+
+                                            char[] valStr = i.get("value").toString().replace("=", ":").toCharArray();
+                                            String name = "";
+                                            String value = "";
+                                            boolean nameFlag = true;
+                                            boolean valueFlag = false;
+                                            for (int j = 0; j < valStr.length; j++) {
+                                                if (valStr[j] == ':') {
+                                                    nameFlag = false;
+                                                    valueFlag = true;
+                                                    continue;
+                                                }
+                                                if (valStr[j] == ';') {
+                                                    nameFlag = true;
+                                                    valueFlag = false;
+                                                    performance_informations.add(new PerformanceInformation(name, value, i.get("name").toString(), null, null));
+                                                    continue;
+                                                }
+                                                if (nameFlag)
+                                                    name += valStr[j];
+                                                if (valueFlag)
+                                                    value += valStr[j];
+                                            }
+                                        } else {
+                                            performance_informations.add(new PerformanceInformation(i.get("name").toString(), i.get("value").toString(), performance_header.getSourceId(), null, null));
+                                        }
+                                    });
+
+                                } catch (Exception e) {
+                                    e.printStackTrace();
+                                    logger.error("convert performanceAdditionalInformation error:" + e.getMessage());
+                                }
+                            }
+                        });
+                        performanceHeaderService.savePerformanceHeader(performance_header);
+                        performance_informations.forEach(ai -> {
+                            ai.setCreateTime(performance_header.getCreateTime());
+                            ai.setUpdateTime(new Date());
+                            performanceInformationService.savePerformanceInformation(ai);
+                        });
+                    }
+                });
+            }
+        });
+    }
+}
\ No newline at end of file
index cd34dc6..793fabf 100644 (file)
@@ -13,8 +13,9 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ##
-dmaap.url = http://172.30.3.42:3904
-dmaap.topic = events/unauthenticated.SEC_FAULT_OUTPUT
+dmaap.url = http://
+dmaap.alarmTopic = events/unauthenticated.SEC_FAULT_OUTPUT
+dmaap.performanceTopic = events/unauthenticated.SEC_MEASUREMENT_OUTPUT
 dmaap.consumerGroup = uuiGroup
 dmaap.conusmer = uuiUser
 dmaap.timeout = 10000
\ No newline at end of file
index 2fbfaad..ead47ef 100755 (executable)
@@ -43,12 +43,12 @@ public class AlarmControllerTest {
 
     @Test
     public void getDataNotParam() throws JsonProcessingException {
-       System.out.println(alarmController.getAlarmData(null,null,null,null,null,null,null,1,100));
+       System.out.println(alarmController.getAlarmData(null,null,null,null,null,null,1,100));
     }
 
     @Test
     public void getDataCarryParam() throws JsonProcessingException {
-        System.out.println(alarmController.getAlarmData("110","a","drop","down","1506331166000","1","2",1,100));
+        System.out.println(alarmController.getAlarmData("110","a","drop","down","1506331166000","2",1,100));
     }
 
     @Test
index ca6ba45..4fb9a38 100755 (executable)
@@ -24,6 +24,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
 import java.text.ParseException;
+import java.util.Map;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest
@@ -36,7 +37,7 @@ public class AlarmsInformationServiceTest {
     @Test
     public void save() throws ParseException {
         AlarmsInformation a = new AlarmsInformation();
-        a.setEventId("111");
+        a.setEventId("1119");
         a.setName("efw");
         a.setValue("fre");
         a.setCreateTime(DateUtils.now());
@@ -105,6 +106,12 @@ public class AlarmsInformationServiceTest {
                 .getList().forEach( al -> System.out.println(al.getEventId()));
     }
 
+    @Test
+    public void queryData() throws ParseException {
+        alarmsInformationService.queryDateBetween("MME40","","").forEach( in -> {
+            System.out.println(in);
+        });
+    }
 }
 
 
index 9705c6b..bd4283d 100755 (executable)
@@ -232,5 +232,10 @@ public class PerformanceHeaderServiceTest {
                 .getList().forEach(per -> System.out.println(per));
     }
 
+    @Test
+    public void queryAllSourceId(){
+        performanceHeaderService.queryAllSourceId().forEach( a-> System.out.println(a) );
+    }
+
 }
 
index 80f8743..1a8522a 100755 (executable)
@@ -38,22 +38,13 @@ public class PerformanceInformationServiceTest {
     @Test
     public void save() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
-        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));
-                    }
-                }
 
-            }
-
-        }
+        a.setEventId("123");
+        a.setName("SGS.UeUnreachable");
+        a.setValue("40");
+        a.setCreateTime(DateUtils.now());
+        a.setUpdateTime(DateUtils.now());
+        System.out.println(performanceInformationService.savePerformanceInformation(a));
 
 
     }
@@ -72,9 +63,9 @@ public class PerformanceInformationServiceTest {
     @Test
     public void update1() throws ParseException {
         List<PerformanceInformation> as = performanceInformationService.queryId(new String[]{"2202"});
-        as.forEach( a ->{
+        as.forEach(a -> {
             try {
-                a.setCreateTime(DateUtils.stringToDate(DateUtils.addDate(a.getCreateTime(),"day",1)));
+                a.setCreateTime(DateUtils.stringToDate(DateUtils.addDate(a.getCreateTime(), "day", 1)));
             } catch (ParseException e) {
                 e.printStackTrace();
             }
@@ -91,46 +82,50 @@ public class PerformanceInformationServiceTest {
     @Test
     public void queryEventId() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
-       // a.setEventId("2202");
-        performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al.getValue()));
+        // a.setEventId("2202");
+        performanceInformationService.queryPerformanceInformation(a, 1, 100)
+                .getList().forEach(al -> System.out.println(al.getValue()));
     }
+
     @Test
     public void queryName() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
         a.setName("kl");
-        performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al));
+        performanceInformationService.queryPerformanceInformation(a, 1, 100)
+                .getList().forEach(al -> System.out.println(al));
     }
+
     @Test
     public void queryValue() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
         a.setValue("yue");
-        performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al));
+        performanceInformationService.queryPerformanceInformation(a, 1, 100)
+                .getList().forEach(al -> System.out.println(al));
     }
+
     @Test
     public void queryUpdateTime() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
         a.setUpdateTime(DateUtils.now());
-        performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al));
+        performanceInformationService.queryPerformanceInformation(a, 1, 100)
+                .getList().forEach(al -> System.out.println(al));
     }
+
     @Test
     public void queryCreateTime() throws ParseException {
         PerformanceInformation a = new PerformanceInformation();
         a.setCreateTime(DateUtils.now());
-        performanceInformationService.queryPerformanceInformation(a,1,100)
-                .getList().forEach( al -> System.out.println(al));
+        performanceInformationService.queryPerformanceInformation(a, 1, 100)
+                .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));
+        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")));
+        System.out.println(performanceInformationService.queryDataBetweenSum("2202", "cpu", DateUtils.stringToDate("2017-10-18 09:00:00"), DateUtils.stringToDate("2017-10-18 10:00:00")));
     }
 }
index 943d380..b9bc532 100644 (file)
@@ -46,162 +46,4 @@ import static org.onap.usecaseui.server.util.CallStub.successfulCall;
 
 public class DefaultServiceTemplateServiceTest {
 
-    @Test
-    public void itCanListDistributedServiceTemplate() {
-        List<SDCServiceTemplate> templates = Collections.singletonList(new SDCServiceTemplate("uuid", "uuid", "name", "V1","url", "category"));
-        SDCCatalogService sdcService = mock(SDCCatalogService.class);
-        when(sdcService.listServices(CATEGORY_E2E_SERVICE, DISTRIBUTION_STATUS_DISTRIBUTED)).thenReturn(successfulCall(templates));
-
-        ServiceTemplateService service = new DefaultServiceTemplateService(sdcService,null);
-
-        Assert.assertSame(templates, service.listDistributedServiceTemplate());
-    }
-
-    @Test(expected = SDCCatalogException.class)
-    public void retrieveServiceWillThrowExceptionWhenSDCIsNotAvailable() {
-        SDCCatalogService sdcService = mock(SDCCatalogService.class);
-        when(sdcService.listServices(CATEGORY_E2E_SERVICE, DISTRIBUTION_STATUS_DISTRIBUTED)).thenReturn(failedCall("SDC is not available!"));
-
-        ServiceTemplateService service = new DefaultServiceTemplateService(sdcService,null);
-        service.listDistributedServiceTemplate();
-    }
-
-    @Test
-    public void itCanRetrieveInputsFromServiceTemplate() throws IOException {
-        final String uuid = "1";
-        String modelPath = "model_path";
-        String nodeUUID = "2";
-
-        SDCCatalogService sdcService = newSdcCatalogService(nodeUUID);
-
-        List<VimInfo> vim = Collections.singletonList(new VimInfo("owner", "regionId"));
-        AAIService aaiService = newAAIService(vim);
-
-        ServiceTemplateService service = newServiceTemplateService(uuid, nodeUUID, sdcService, aaiService);
-
-        Assert.assertThat(service.fetchServiceTemplateInput(uuid, modelPath), equalTo(expectedServiceInputs(uuid, nodeUUID)));
-    }
-
-    private DefaultServiceTemplateService newServiceTemplateService(String uuid, String nodeUUID, SDCCatalogService sdcService, AAIService aaiService) {
-        return new DefaultServiceTemplateService(sdcService, aaiService) {
-
-            @Override
-            protected void downloadFile(String templateUrl, String toPath) throws IOException {
-                // download successfully...
-            }
-
-            @Override
-            protected ToscaTemplate translateToToscaTemplate(String toPath) throws JToscaException {
-                if (toPath.contains(uuid)) {
-                    return e2eToscaTemplate(nodeUUID);
-                }
-                return nodeToscaTemplate(nodeUUID);
-            }
-        };
-    }
-
-    private SDCCatalogService newSdcCatalogService(String nodeUUID) throws IOException {
-        SDCCatalogService sdcService = mock(SDCCatalogService.class);
-        when(sdcService.getService(nodeUUID)).thenReturn(successfulCall(new SDCServiceTemplate(nodeUUID, nodeUUID, "node", "V1", "nodeModelUrl", "service")));
-        return sdcService;
-    }
-
-    private ServiceTemplateInput expectedServiceInputs(String uuid, String nodeUUID) {
-        ServiceTemplateInput e2eServiceTemplateInput = new ServiceTemplateInput(
-                uuid, uuid, "VoLTE", "service","", "VoLTE", "service", "", Collections.EMPTY_LIST);
-        TemplateInput templateInput = new TemplateInput("field_name","field_type", "field_description", "true", "field_default");
-        ServiceTemplateInput nodeTemplateInput = new ServiceTemplateInput(
-                nodeUUID, nodeUUID, "", "", "","", "service", "", Collections.singletonList(templateInput));
-//        e2eServiceTemplateInput.addNestedTemplate(nodeTemplateInput);
-        return e2eServiceTemplateInput;
-    }
-
-    private ToscaTemplate e2eToscaTemplate(String nodeUUID) {
-        ToscaTemplate toscaTemplate = mock(ToscaTemplate.class);
-        Map<String, Object> e2eAttributes = new HashMap<>();
-        e2eAttributes.put("invariantUUID", "1");
-        e2eAttributes.put("UUID", "1");
-        e2eAttributes.put("name", "VoLTE");
-        e2eAttributes.put("type", "service");
-        e2eAttributes.put("description", "VoLTE");
-        e2eAttributes.put("category", "service");
-        e2eAttributes.put("subcategory", "");
-        when(toscaTemplate.getMetaData()).thenReturn(new Metadata(e2eAttributes));
-        when(toscaTemplate.getInputs()).thenReturn(new ArrayList<>());
-        NodeTemplate nodeTemplate = mock(NodeTemplate.class);
-
-        Map<String, Object> nodeUUIDAttr = new HashMap<>();
-
-        nodeUUIDAttr.put("UUID", nodeUUID);
-        when(nodeTemplate.getMetaData()).thenReturn(new Metadata(nodeUUIDAttr));
-
-        ArrayList<NodeTemplate> nodeTemplates = new ArrayList<>();
-//        nodeTemplates.add(nodeTemplate);
-        when(toscaTemplate.getNodeTemplates()).thenReturn(nodeTemplates);
-
-        return toscaTemplate;
-    }
-
-    private ToscaTemplate nodeToscaTemplate(String nodeUUID) {
-        ToscaTemplate toscaTemplate = mock(ToscaTemplate.class);
-        Map<String, Object> Attributes = new HashMap<>();
-        Attributes.put("invariantUUID", nodeUUID);
-        Attributes.put("UUID", nodeUUID);
-        Attributes.put("name", "");
-        Attributes.put("type", "");
-        Attributes.put("description", "");
-        Attributes.put("category", "service");
-        Attributes.put("subcategory", "");
-        when(toscaTemplate.getMetaData()).thenReturn(new Metadata(Attributes));
-
-        Input input = mock(Input.class);
-        when(input.getName()).thenReturn("field_name");
-        when(input.getDescription()).thenReturn("field_description");
-        when(input.getType()).thenReturn("field_type");
-        when(input.getDefault()).thenReturn("field_default");
-        when(input.isRequired()).thenReturn(true);
-
-        ArrayList<Input> inputs = new ArrayList<>();
-        inputs.add(input);
-        when(toscaTemplate.getInputs()).thenReturn(inputs);
-        when(toscaTemplate.getNodeTemplates()).thenReturn(new ArrayList<>());
-
-        return toscaTemplate;
-    }
-
-    private AAIService newAAIService(List<VimInfo> vim) {
-        AAIService aaiService = mock(AAIService.class);
-        VimInfoRsp rsp = new VimInfoRsp();
-        rsp.setCloudRegion(vim);
-        Call<VimInfoRsp> vimCall = successfulCall(rsp);
-        when(aaiService.listVimInfo()).thenReturn(vimCall);
-        return aaiService;
-    }
-
-    @Test(expected = SDCCatalogException.class)
-    public void retrieveInputsWillThrowExceptionWhenDownloadFailed() {
-        ServiceTemplateService service = new DefaultServiceTemplateService(null, null) {
-            @Override
-            protected void downloadFile(String templateUrl, String toPath) throws IOException {
-                throw new IOException("download failed!");
-            }
-        };
-        service.fetchServiceTemplateInput("1", "url");
-    }
-
-    @Test(expected = SDCCatalogException.class)
-    public void retrieveInputsWillThrowExceptionWhenParsingToscaTemplateFailed() {
-        ServiceTemplateService service = new DefaultServiceTemplateService(null, null) {
-            @Override
-            protected void downloadFile(String templateUrl, String toPath) throws IOException {
-                // download successfully...
-            }
-
-            @Override
-            protected ToscaTemplate translateToToscaTemplate(String toPath) throws JToscaException {
-                throw new JToscaException("parse tosca template failed!", "123");
-            }
-        };
-        service.fetchServiceTemplateInput("1", "url");
-    }
 }
\ No newline at end of file
index 7a55c72..82c7142 100644 (file)
@@ -27,7 +27,8 @@ CREATE TABLE `alarms_additionalinformation` (
   `eventId` varchar(30) NOT NULL,
   `createTime` datetime NOT NULL,
   `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`name`,`eventId`)
+  `id` int(10) NOT NULL,
+  PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 -- ----------------------------
@@ -61,7 +62,7 @@ CREATE TABLE `alarms_commoneventheader` (
   `status` varchar(11) NOT NULL,
   `createTime` datetime NOT NULL,
   `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`eventId`)
+  PRIMARY KEY (`eventName`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 -- ----------------------------
@@ -74,7 +75,8 @@ CREATE TABLE `performance_additionalinformation` (
   `eventId` varchar(30) NOT NULL,
   `createTime` datetime NOT NULL,
   `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`name`,`eventId`)
+  `id` int(10) NOT NULL,
+  PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
 -- ----------------------------
@@ -101,11 +103,5 @@ CREATE TABLE `performance_commoneventheader` (
   `measurementInterval` varchar(10) NOT NULL,
   `createTime` datetime NOT NULL,
   `updateTime` datetime NOT NULL,
-  PRIMARY KEY (`eventId`)
+  PRIMARY KEY (`eventName`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
--- ----------------------------
--- Init Records 
--- ----------------------------
-INSERT INTO `alarms_additionalinformation` VALUES ('name', 'value', 'eventId', '2017-09-19 11:12:34', '2017-09-19 11:12:34');
-INSERT INTO `alarms_commoneventheader` VALUES ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '2017-09-04 15:25:11', '2017-09-11 15:25:19');