<dependency>
<groupId>org.openecomp.sdc.jtosca</groupId>
<artifactId>jtosca</artifactId>
- <version>1.1.3</version>
+ <version>1.1.1</version>
</dependency>
<dependency>
+++ /dev/null
-#!/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
-
+++ /dev/null
---
--- 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
+++ /dev/null
---
--- 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
<dependency>
<groupId>org.openecomp.sdc.jtosca</groupId>
<artifactId>jtosca</artifactId>
- <version>1.1.3</version>
+ <version>1.1.1</version>
</dependency>
<dependency>
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();
- }
-
+ }
}
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;
@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() {
}
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
\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
}\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
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.*;
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);
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);
});
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 "";
+ }
+ }
+
+
}
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);
- }
}
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;
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);
}
Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage, int pageSize);
List<PerformanceHeader> queryId(String[] id);
+
+ List<String> queryAllSourceId();
}
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);
+
}
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
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
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
}\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
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
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
}\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
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
}\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
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
}\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
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
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
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
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
}\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
Job postVfPackage(Csar csar);
JobStatus getJobStatus(String jobId);
-
- DistributionResult deleteNsPackage(String csarId);
-
- DistributionResult deleteVfPackage(String csarId);
}
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;
}
private String name;
- private String version;
-
public String getUuid() {
return uuid;
}
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;
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);
}
}
@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;
}
}
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 {
@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);
}
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);
- }
- }
}
@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;
}
}
*/
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;
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
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;
@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
## 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
@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
import javax.annotation.Resource;
import java.text.ParseException;
+import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
@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());
.getList().forEach( al -> System.out.println(al.getEventId()));
}
+ @Test
+ public void queryData() throws ParseException {
+ alarmsInformationService.queryDateBetween("MME40","","").forEach( in -> {
+ System.out.println(in);
+ });
+ }
}
.getList().forEach(per -> System.out.println(per));
}
+ @Test
+ public void queryAllSourceId(){
+ performanceHeaderService.queryAllSourceId().forEach( a-> System.out.println(a) );
+ }
+
}
@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));
}
@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();
}
@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")));
}
}
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
`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;
-- ----------------------------
`status` varchar(11) NOT NULL,
`createTime` datetime NOT NULL,
`updateTime` datetime NOT NULL,
- PRIMARY KEY (`eventId`)
+ PRIMARY KEY (`eventName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
`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;
-- ----------------------------
`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');