<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.19</version>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
</plugins>
</build>
+++ /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.
- */
-package org.onap.usecaseui.server.bean;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-
-@Entity
-@Table(name = "EP_ACTIVE_ALARM")
-public class ActiveAlarmInfo
-{
-
- @Id
- @Column(name = "id", nullable = true)
- private String id;
-
-
- @Column(name = "devName")
- private String devName;
-
-
- @Column(name = "devIp")
- private String devIp;
-
-
- @Column(name = "serialNumber")
- private String serialNumber;
-
-
- @Column(name = "alarmRaisedTime")
- private String alarmRaisedTime;
-
-
- @Column(name = "alarmChangedTime")
- private String alarmChangedTime;
-
-
- @Column(name = "alarmIdentifier")
- private String alarmIdentifier;
-
-
- @Column(name = "notificationType")
- private String notificationType;
-
-
- @Column(name = "managedObjectInstance")
- private String managedObjectInstance;
-
-
- @Column(name = "eventType")
- private Integer eventType;
-
-
- @Column(name = "probableCause")
- private String probableCause;
-
-
- @Column(name = "specificProblem")
- private String specificProblem;
-
-
- @Column(name = "perceivedSeverity")
- private String perceivedSeverity;
-
-
- @Column(name = "additionalText")
- private String additionalText;
-
-
- @Column(name = "additionalInformation")
- private String additionalInformation;
-
-
- @Column(name = "clearedManner")
- private String clearedManner;
-
-
- @Column(name = "alarmState")
- private Integer alarmState;
-
-
- @Column(name = "ackTime")
- private String ackTime;
-
-
- @Column(name = "ackUser")
- private String ackUser;
-
- public String getId()
- {
- return id;
- }
-
- public void setId(String id)
- {
- this.id = id;
- }
-
- public String getDevName()
- {
- return devName;
- }
-
- public void setDevName(String devName)
- {
- this.devName = devName;
- }
-
- public String getDevIp()
- {
- return devIp;
- }
-
- public void setDevIp(String devIp)
- {
- this.devIp = devIp;
- }
-
- public String getSerialNumber()
- {
- return serialNumber;
- }
-
- public void setSerialNumber(String serialNumber)
- {
- this.serialNumber = serialNumber;
- }
-
- public String getAlarmRaisedTime()
- {
- return alarmRaisedTime;
- }
-
- public void setAlarmRaisedTime(String alarmRaisedTime)
- {
- this.alarmRaisedTime = alarmRaisedTime;
- }
-
- public String getAlarmChangedTime()
- {
- return alarmChangedTime;
- }
-
- public void setAlarmChangedTime(String alarmChangedTime)
- {
- this.alarmChangedTime = alarmChangedTime;
- }
-
- public String getAlarmIdentifier()
- {
- return alarmIdentifier;
- }
-
- public void setAlarmIdentifier(String alarmIdentifier)
- {
- this.alarmIdentifier = alarmIdentifier;
- }
-
- public String getNotificationType()
- {
- return notificationType;
- }
-
- public void setNotificationType(String notificationType)
- {
- this.notificationType = notificationType;
- }
-
- public String getManagedObjectInstance()
- {
- return managedObjectInstance;
- }
-
- public void setManagedObjectInstance(String managedObjectInstance)
- {
- this.managedObjectInstance = managedObjectInstance;
- }
-
- public Integer getEventType()
- {
- return eventType;
- }
-
- public void setEventType(Integer eventType)
- {
- this.eventType = eventType;
- }
-
- public String getProbableCause()
- {
- return probableCause;
- }
-
- public void setProbableCause(String probableCause)
- {
- this.probableCause = probableCause;
- }
-
- public String getSpecificProblem()
- {
- return specificProblem;
- }
-
- public void setSpecificProblem(String specificProblem)
- {
- this.specificProblem = specificProblem;
- }
-
- public String getPerceivedSeverity()
- {
- return perceivedSeverity;
- }
-
- public void setPerceivedSeverity(String perceivedSeverity)
- {
- this.perceivedSeverity = perceivedSeverity;
- }
-
- public String getAdditionalText()
- {
- return additionalText;
- }
-
- public void setAdditionalText(String additionalText)
- {
- this.additionalText = additionalText;
- }
-
- public String getAdditionalInformation()
- {
- return additionalInformation;
- }
-
- public void setAdditionalInformation(String additionalInformation)
- {
- this.additionalInformation = additionalInformation;
- }
-
- public Integer getAlarmState()
- {
- return alarmState;
- }
-
- public void setAlarmState(Integer alarmState)
- {
- this.alarmState = alarmState;
- }
-
- public String getClearedManner()
- {
- return clearedManner;
- }
-
- public void setClearedManner(String clearedManner)
- {
- this.clearedManner = clearedManner;
- }
-
- public String getAckTime()
- {
- return ackTime;
- }
-
- public void setAckTime(String ackTime)
- {
- this.ackTime = ackTime;
- }
-
- public String getAckUser()
- {
- return ackUser;
- }
-
- public void setAckUser(String ackUser)
- {
- this.ackUser = ackUser;
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
- sb.append("ActiveAlarmInfo[");
- sb.append("id=");
- sb.append(id);
- sb.append(",devName=");
- sb.append(devName);
- sb.append(",devIp=");
- sb.append(devIp);
- sb.append(",serialNumber=");
- sb.append(serialNumber);
- sb.append(",alarmRaisedTime=");
- sb.append(alarmRaisedTime);
- sb.append(",alarmChangedTime=");
- sb.append(alarmChangedTime);
- sb.append(",alarmIdentifier=");
- sb.append(alarmIdentifier);
- sb.append(",notificationType=");
- sb.append(notificationType);
- sb.append(",managedObjectInstance=");
- sb.append(managedObjectInstance);
- sb.append(",eventType=");
- sb.append(eventType);
- sb.append(",probableCause=");
- sb.append(probableCause);
- sb.append(",specificProblem=");
- sb.append(specificProblem);
- sb.append(",perceivedSeverity=");
- sb.append(perceivedSeverity);
- sb.append(",additionalText=");
- sb.append(additionalText);
- sb.append(",additionalInformation=");
- sb.append(additionalInformation);
- sb.append(",clearedManner=");
- sb.append(clearedManner);
- sb.append(",alarmState=");
- sb.append(alarmState);
- sb.append(",ackTime=");
- sb.append(ackTime);
- sb.append(",ackUser=");
- sb.append(ackUser);
- sb.append("]");
- return sb.toString();
- }
-}
import javax.persistence.Id;
import javax.persistence.Table;
-
+/**
+ *
+ * @author xuekui
+ *
+ */
@Entity
@Table(name="alarms_commoneventheader")
public class AlarmsHeader implements Serializable{
@Column(name = "updateTime")
private Date updateTime;
+ public AlarmsHeader() {
+ }
+
+ public AlarmsHeader(String eventId) {
+ this.eventId = eventId;
+ }
+
+ 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;
+ this.domain = domain;
+ this.eventId = eventId;
+ this.eventType = eventType;
+ this.nfcNamingCode = nfcNamingCode;
+ this.nfNamingCode = nfNamingCode;
+ this.sourceId = sourceId;
+ this.sourceName = sourceName;
+ this.reportingEntityId = reportingEntityId;
+ this.reportingEntityName = reportingEntityName;
+ this.priority = priority;
+ this.startEpochMicrosec = startEpochMicrosec;
+ this.lastEpochMicroSec = lastEpochMicroSec;
+ this.sequence = sequence;
+ this.faultFieldsVersion = faultFieldsVersion;
+ this.eventServrity = eventServrity;
+ this.eventSourceType = eventSourceType;
+ this.eventCategory = eventCategory;
+ this.alarmCondition = alarmCondition;
+ this.specificProblem = specificProblem;
+ this.vfStatus = vfStatus;
+ this.alarmInterfaceA = alarmInterfaceA;
+ this.status = status;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
public String getVersion() {
return version;
}
import javax.persistence.Id;
import javax.persistence.Table;
-
+/**
+ *
+ * @author xuekui
+ *
+ */
@Entity
@Table(name="alarms_additionalinformation")
-public class AlarmsInformation implements Serializable{
+public class AlarmsInformation implements Serializable {
@Id
@Column(name = "name")
@Column(name = "updateTime")
private Date updateTime;
+ public AlarmsInformation() {
+ }
+
+ public AlarmsInformation(String eventId) {
+ this.eventId = eventId;
+ }
+
+ public AlarmsInformation(String name, String value, String eventId, Date createTime, Date updateTime) {
+ this.name = name;
+ this.value = value;
+ this.eventId = eventId;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
public String getName() {
return name;
}
import javax.persistence.Id;
import javax.persistence.Table;
-
+/**
+ *
+ * @author xuekui
+ *
+ */
@Entity
@Table(name="alarms_commoneventheader")
-public class PerformanceHeader implements Serializable{
+public class PerformanceHeader implements Serializable {
@Column(name = "version")
private String version;
@Column(name = "updateTime")
private Date updateTime;
+ public PerformanceHeader() {
+ }
+
+
+
+ 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) {
+ this.version = version;
+ this.eventName = eventName;
+ this.domain = domain;
+ this.eventId = eventId;
+ this.eventType = eventType;
+ this.nfcNamingCode = nfcNamingCode;
+ this.nfNamingCode = nfNamingCode;
+ this.sourceId = sourceId;
+ this.sourceName = sourceName;
+ this.reportingEntityId = reportingEntityId;
+ this.reportingEntityName = reportingEntityName;
+ this.priority = priority;
+ this.startEpochMicrosec = startEpochMicrosec;
+ this.lastEpochMicroSec = lastEpochMicroSec;
+ this.sequence = sequence;
+ this.measurementsForVfScalingVersion = measurementsForVfScalingVersion;
+ this.measurementInterval = measurementInterval;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
public String getVersion() {
return version;
}
import javax.persistence.Id;
import javax.persistence.Table;
-
+/**
+ *
+ * @author xuekui
+ *
+ */
@Entity
@Table(name="alarms_additionalinformation")
-public class PerformanceInformation implements Serializable{
+public class PerformanceInformation implements Serializable {
@Id
@Column(name = "name")
@Column(name = "updateTime")
private Date updateTime;
+ public PerformanceInformation() {
+ }
+
+ public PerformanceInformation(String eventId) {
+ this.eventId = eventId;
+ }
+
+ public PerformanceInformation(String name, String value, String eventId, Date createTime, Date updateTime) {
+ this.name = name;
+ this.value = value;
+ this.eventId = eventId;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
public String getName() {
return name;
}
--- /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.
+ */
+package org.onap.usecaseui.server.bo;
+
+import org.onap.usecaseui.server.bean.AlarmsHeader;
+import org.onap.usecaseui.server.bean.AlarmsInformation;
+import org.onap.usecaseui.server.util.Page;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+public class AlarmBo implements Serializable {
+
+ private AlarmsHeader alarmsHeader;
+
+ private List<AlarmsInformation> alarmsInformation;
+
+
+ public AlarmBo() {
+ }
+
+ public AlarmBo(AlarmsHeader alarmsHeader, List<AlarmsInformation> alarmsInformation) {
+ this.alarmsHeader = alarmsHeader;
+ this.alarmsInformation = alarmsInformation;
+ }
+
+ public AlarmsHeader getAlarmsHeader() {
+ return alarmsHeader;
+ }
+
+ public void setAlarmsHeader(AlarmsHeader alarmsHeader) {
+ this.alarmsHeader = alarmsHeader;
+ }
+
+ public List<AlarmsInformation> getAlarmsInformation() {
+ return alarmsInformation;
+ }
+
+ public void setAlarmsInformation(List<AlarmsInformation> alarmsInformation) {
+ this.alarmsInformation = alarmsInformation;
+ }
+
+
+}
--- /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.
+ */
+package org.onap.usecaseui.server.bo;
+
+import org.onap.usecaseui.server.bean.PerformanceHeader;
+import org.onap.usecaseui.server.bean.PerformanceInformation;
+import org.onap.usecaseui.server.util.Page;
+
+import java.io.Serializable;
+
+public class PerformanceBo implements Serializable {
+
+ private PerformanceHeader performanceHeader;
+
+ private PerformanceInformation performanceInformation;
+
+ private int currentPage;
+
+ private int pageSize;
+
+ public PerformanceBo() {
+ }
+
+ public PerformanceBo(PerformanceHeader performanceHeader, PerformanceInformation performanceInformation, int currentPage, int pageSize) {
+ this.performanceHeader = performanceHeader;
+ this.performanceInformation = performanceInformation;
+ this.currentPage = currentPage;
+ this.pageSize = pageSize;
+ }
+
+ public PerformanceHeader getPerformanceHeader() {
+ return performanceHeader;
+ }
+
+ public void setPerformanceHeader(PerformanceHeader performanceHeader) {
+ this.performanceHeader = performanceHeader;
+ }
+
+ public PerformanceInformation getPerformanceInformation() {
+ return performanceInformation;
+ }
+
+ public void setPerformanceInformation(PerformanceInformation performanceInformation) {
+ this.performanceInformation = performanceInformation;
+ }
+
+ public int getCurrentPage() {
+ return currentPage;
+ }
+
+ public void setCurrentPage(int currentPage) {
+ this.currentPage = currentPage;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+}
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.hibernate.annotations.Parameter;
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.bo.AlarmBo;
import org.onap.usecaseui.server.service.AlarmsHeaderService;
import org.onap.usecaseui.server.service.AlarmsInformationService;
+import org.onap.usecaseui.server.util.CSVUtils;
+import org.onap.usecaseui.server.util.DateUtils;
+import org.onap.usecaseui.server.wrapper.AlarmWrapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+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.*;
-/*
- * 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.
- */
-@Controller
+
+@RestController
@org.springframework.context.annotation.Configuration
@EnableAspectJAutoProxy
public class AlarmController
{
- private static final Logger logger = LoggerFactory.getLogger(AlarmController.class);
+ private final Logger logger = LoggerFactory.getLogger(AlarmController.class);
@Resource(name = "AlarmsHeaderService")
private AlarmsHeaderService alarmsHeaderService;
private AlarmsInformationService alarmsInformationService;
- @ResponseBody
- @RequestMapping(value = {"/alarm/getData"}, method = RequestMethod.GET , produces = "application/json")
- public String getAlarmData(HttpServletRequest request) throws JsonProcessingException {
- String eventId = request.getParameter("ALARM_eventId");
- String vfStatus = request.getParameter("ALARM_vfStatus");
- String status = request.getParameter("ALARM_status");
- String eventName = request.getParameter("ALARM_eventName");
- String name = request.getParameter("ALARM_name");
- String value = request.getParameter("ALARM_value");
- int currentPage = Integer.parseInt(request.getParameter("ALARM_currentPage"));
- int pageSize = Integer.parseInt(request.getParameter("ALARM_pageSize"));
- AlarmsHeader alarmsHeader = new AlarmsHeader();
- AlarmsInformation alarmsInformation = new AlarmsInformation();
- if (null != eventId){
- alarmsHeader.setEventId(eventId);
- alarmsInformation.setEventId(eventId);
+ @RequestMapping(value = {"/usecase-ui"}, method = RequestMethod.GET)
+ public ModelAndView index(){
+ return new ModelAndView("index");
+ }
+
+ @RequestMapping(value = {"/usecaseui-server/alarm/{currentPage}/{pageSize}","/usecaseui-server/alarm/{currentPage}/{pageSize}/{eventId}/{eventName}/{name}/{value}/{createTime}"}, method = RequestMethod.GET , produces = "application/json")
+ public String getAlarmData(@PathVariable(required = false) String eventId,@PathVariable(required = false) String eventName,
+ @PathVariable(required = false) String name,@PathVariable(required = false) String value,
+ @PathVariable(required = false) String createTime,@PathVariable int currentPage,
+ @PathVariable int pageSize) {
+ List<AlarmsHeader> alarmsHeaders = null;
+ List<AlarmBo> maps = new ArrayList<>();
+ if (null != eventId || null != eventName || null != name || null != value || null != createTime ){
+ AlarmsHeader alarm = new AlarmsHeader();
+ alarm.setEventId(!"null".equals(eventId)?eventId:null);
+ alarm.setEventName(!"null".equals(eventName)?eventName:null);
+ try {
+ alarm.setCreateTime(!"null".equals(createTime)?DateUtils.stringToDate(createTime):null);
+ } catch (ParseException e) {
+ logger.error("Parse date error :"+e.getMessage());
+ }
+ alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(alarm,currentPage,pageSize).getList();
+ if (null != alarmsHeaders && alarmsHeaders.size() > 0) {
+ alarmsHeaders.forEach(a ->{
+ AlarmBo abo = new AlarmBo();
+ abo.setAlarmsHeader(a);
+ AlarmsInformation information = new AlarmsInformation();
+ information.setName(!"null".equals(name)?name:null);
+ information.setValue(!"null".equals(value)?value:null);
+ information.setEventId(a.getEventId());
+ abo.setAlarmsInformation(alarmsInformationService.queryAlarmsInformation(information,1,100).getList());
+ maps.add(abo);
+ });
+ }
+ }else {
+ alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(null, currentPage, pageSize).getList();
+ if (null != alarmsHeaders && alarmsHeaders.size() > 0) {
+ alarmsHeaders.forEach(a -> {
+ AlarmBo abo = new AlarmBo();
+ abo.setAlarmsHeader(a);
+ abo.setAlarmsInformation(alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(a.getEventId()),currentPage,pageSize).getList());
+ maps.add(abo);
+ });
+ }
+ }
+ try {
+ return new ObjectMapper().writeValueAsString(maps);
+ } catch (JsonProcessingException e) {
+ logger.debug("JsonProcessingException :"+e.getMessage());
+ return "";
}
- if (null != vfStatus)
- alarmsHeader.setVfStatus(vfStatus);
- if (null != status)
- alarmsHeader.setStatus(status);
- if (null != eventName)
- alarmsHeader.setEventName(eventName);
- if (null != name)
- alarmsInformation.setName(name);
- if (null != value)
- alarmsInformation.setValue(value);
- List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryAlarmsHeader(alarmsHeader,currentPage,pageSize).getList();
- List<AlarmsInformation> alarmsInformations = alarmsInformationService.queryAlarmsInformation(alarmsInformation,currentPage,pageSize).getList();
- Map<String,Object> maps = new HashMap<>();
- if (null != alarmsHeaders && alarmsHeaders.size() > 0)
- maps.put("alarms_header",alarmsHeaders);
- if (null != alarmsInformations && alarmsInformations.size() > 0)
- maps.put("alarms_information",alarmsInformations);
- return new ObjectMapper().writeValueAsString(maps);
}
- @RequestMapping(value = { "/alarm/genCsv" } , method = RequestMethod.GET , produces = "application/json")
- public String generateCsvFile(HttpServletRequest request){
+ @RequestMapping(value = { "/usecaseui-server/alarm/genCsv/{eventId}" } , method = RequestMethod.GET , produces = "application/json")
+ public String generateCsvFile(HttpServletResponse response, @PathVariable String[] eventId){
+ String csvFile = "csvFiles/vnf_alarm_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
+ response.setCharacterEncoding("utf-8");
+ response.setContentType("application/csv");
+ response.setHeader("Content-Disposition","attachment;filename="+csvFile);
String[] headers = new String[]{"version",
"eventName","domain","eventId","eventType","nfcNamingCode",
"nfNamingCode","sourceId","sourceName","reportingEntityId",
"reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",
- "sequence","measurementsForVfScalingVersion","measurementInterval","value","name",
- "createTime","updateTime"};
- String event_ids = request.getParameter("ids");
- String[] eventId = event_ids.split(",");
-
- return "";
+ "sequence","faultFieldsVersion","eventServrity","eventSourceType",
+ "eventCategory","alarmCondition","specificProblem","vfStatus",
+ "alarmInterfaceA","status",
+ "createTime","updateTime","name","value"};
+ List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryId(eventId);
+ List<String[]> csvData = new ArrayList<>();
+ alarmsHeaders.forEach(ala ->{
+ List<AlarmsInformation> information = alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(ala.getEventId()),1,100).getList();
+ String names = new String();
+ String values = new String();
+ if (0 < information.size() && null != information){
+ for (AlarmsInformation a : information){
+ names += a.getName()+",";
+ values += a.getValue()+",";
+ }
+ names = names.substring(0,names.lastIndexOf(','));
+ values = values.substring(0,values.lastIndexOf(','));
+ }
+ csvData.add(new String[]{
+ ala.getVersion(),ala.getEventName(),ala.getDomain(),ala.getEventId(),ala.getEventType(),
+ ala.getNfcNamingCode(),ala.getNfNamingCode(),ala.getSourceId(),ala.getSourceName(),
+ ala.getReportingEntityId(),ala.getReportingEntityName(),ala.getPriority(),ala.getStartEpochMicrosec(),
+ ala.getLastEpochMicroSec(),ala.getSequence(),ala.getFaultFieldsVersion(),ala.getEventServrity(),
+ ala.getEventSourceType(),ala.getEventCategory(),ala.getAlarmCondition(),ala.getSpecificProblem(),
+ ala.getVfStatus(),ala.getAlarmInterfaceA(),ala.getStatus(),DateUtils.dateToString(ala.getCreateTime()),
+ DateUtils.dateToString(ala.getUpdateTime()),names,values
+ });
+ });
+ CSVUtils.writeCsv(headers,csvData,csvFile);
+ try(InputStream is = new FileInputStream(csvFile);
+ OutputStream os = response.getOutputStream()){
+ byte[] b = new byte[2048];
+ int length;
+ while ((length = is.read(b)) > 0) {
+ os.write(b, 0, length);
+ }
+ return "{'result':'success'}";
+ }catch (IOException e){
+ logger.error("download csv File error :"+e.getMessage());
+ return "{'result':'failed'}";
+ }
}
- @RequestMapping(value = { "/alarm/updateStatus" } , method = RequestMethod.GET , produces = "application/json")
- public String updateStatus(HttpServletRequest request){
- String id = request.getParameter("ALARM_eventId");
- String vfStatus = request.getParameter("ALARM_vfstatus");
- String status = request.getParameter("ALARM_status");
- AlarmsHeader alarmsHeader = new AlarmsHeader();
- if (null != id)
- alarmsHeader.setEventId(id);
- if (null != vfStatus)
- alarmsHeader.setVfStatus(vfStatus);
- if (null != status)
- alarmsHeader.setStatus(status);
- String result = alarmsHeaderService.updateAlarmsHeader(alarmsHeader);
- return result;
+ @RequestMapping(value = { "/usecaseui-server/alarm" } , method = RequestMethod.PUT )
+ public String updateStatus(@RequestBody List<AlarmsHeader> alarmsHeaders){
+ for (AlarmsHeader a : alarmsHeaders){
+ if ("0".equals(alarmsHeaderService.updateAlarmsHeader(a)))
+ return "{'result':'failed'}";
+ }
+ return "{'result':'success'}";
}
*/
package org.onap.usecaseui.server.controller;
+
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.onap.usecaseui.server.bean.PerformanceHeader;
import org.onap.usecaseui.server.bean.PerformanceInformation;
+import org.onap.usecaseui.server.bo.PerformanceBo;
import org.onap.usecaseui.server.service.PerformanceHeaderService;
import org.onap.usecaseui.server.service.PerformanceInformationService;
+import org.onap.usecaseui.server.util.CSVUtils;
+import org.onap.usecaseui.server.util.DateUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.xml.crypto.Data;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
-/*
- * 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.
- */
+
@Controller
@Configuration
@EnableAspectJAutoProxy
@Resource(name = "PerformanceInformationService")
private PerformanceInformationService performanceInformationService;
- private final String csvPath = "";
+ private Logger logger = LoggerFactory.getLogger(PerformanceController.class);
- private Logger looger = LoggerFactory.getLogger(PerformanceController.class);
-
- @ResponseBody
- @RequestMapping(value = {"/pro/getData"},method = RequestMethod.GET, produces = "application/json")
- public String getPerformanceData(HttpServletRequest request) throws JsonProcessingException {
- String eventId = request.getParameter("PERFORMANCE_eventId");
- String eventName = request.getParameter("PERFORMANCE_eventName");
- String name = request.getParameter("PERFORMANCE_name");
- String value = request.getParameter("PERFORMANCE_value");
- int currentPage = Integer.parseInt(request.getParameter("PERFORMANCE_currentPage"));
- int pageSize = Integer.parseInt(request.getParameter("PERFORMANCE_pageSize"));
- PerformanceHeader performanceHeader = new PerformanceHeader();
- PerformanceInformation performanceInformation = new PerformanceInformation();
- if (null != eventId){
- performanceHeader.setEventId(eventId);
- performanceInformation.setEventId(eventId);
- }
- if (null != eventName)
- performanceHeader.setEventName(eventName);
- if (null != name)
- performanceInformation.setName(name);
- if (null != value)
- performanceInformation.setValue(value);
- List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryPerformanceHeader(performanceHeader,currentPage,pageSize).getList();
- List<PerformanceInformation> performanceInformations = performanceInformationService.queryPerformanceInformation(performanceInformation,currentPage,pageSize).getList();
+ @RequestMapping(value = {"/usecaseui-server/performance"},method = RequestMethod.GET, produces = "application/json")
+ public String getPerformanceData(HttpServletRequest request, @RequestBody PerformanceBo performanceBo) throws JsonProcessingException {
+ List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryPerformanceHeader(performanceBo.getPerformanceHeader(),performanceBo.getCurrentPage(),performanceBo.getPageSize()).getList();
+ List<PerformanceInformation> performanceInformations = performanceInformationService.queryPerformanceInformation(performanceBo.getPerformanceInformation(),performanceBo.getCurrentPage(),performanceBo.getPageSize()).getList();
Map<String,Object> maps = new HashMap<>();
if (null != performanceHeaders && performanceHeaders.size() > 0)
maps.put("performance_header",performanceHeaders);
return new ObjectMapper().writeValueAsString(maps);
}
- @RequestMapping(value = {"/pro/genCsv"}, method = RequestMethod.GET, produces = "application/json")
- public String generateCsvFile(HttpServletRequest request){
+ @RequestMapping(value = {"/usecaseui-server/performance/genCsv/{eventId}"}, method = RequestMethod.GET, produces = "application/json")
+ public String generateCsvFile(HttpServletResponse response, @PathVariable String[] eventId){
+ String csvFile = "vnf_performance_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
+ response.setCharacterEncoding("utf-8");
+ response.setContentType("application/csv");
+ response.setHeader("Content-Disposition","attachment;filename="+csvFile);
String[] headers = new String[]{"version",
"eventName","domain","eventId","eventType","nfcNamingCode",
"nfNamingCode","sourceId","sourceName","reportingEntityId",
"reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",
- "sequence","measurementsForVfScalingVersion","measurementInterval","value","name",
- "createTime","updateTime"};
- List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryPerformanceHeader(null,1,100).getList();
- List<PerformanceInformation> performanceInformations = performanceInformationService.queryPerformanceInformation(null,1,100).getList();
+ "sequence","measurementsForVfScalingVersion","measurementInterval",
+ "createTime","updateTime","value","name"};
+ List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryId(eventId);
List<String[]> csvData = new ArrayList<>();
+ performanceHeaders.forEach(s ->{
+ List<PerformanceInformation> information = performanceInformationService.queryPerformanceInformation(new PerformanceInformation(s.getEventId()),1,100).getList();
+ String names ="";
+ String values ="";
+ for (PerformanceInformation p : information){
+ names += p.getName()+",";
+ values += p.getValue()+",";
+ }
+ names = names.substring(0,names.lastIndexOf(','));
+ values = values.substring(0,values.lastIndexOf(','));
+ csvData.add(new String[]{
+ s.getVersion(),s.getEventName(),s.getDomain(),s.getEventId(),s.getEventType(),s.getNfcNamingCode(),s.getNfNamingCode(),
+ s.getSourceId(),s.getSourceName(),s.getReportingEntityId(),s.getReportingEntityName(),s.getPriority(),
+ s.getStartEpochMicrosec(),s.getLastEpochMicroSec(),s.getSequence(),s.getMeasurementsForVfScalingVersion(),
+ s.getMeasurementInterval(),DateUtils.dateToString(s.getCreateTime()),DateUtils.dateToString(s.getUpdateTime()),
+ names,values
+ });
- return "";
+ });
+ CSVUtils.writeCsv(headers,csvData,csvFile);
+ try(InputStream is = new FileInputStream(csvFile);
+ OutputStream os = response.getOutputStream()){
+ byte[] b = new byte[2048];
+ int length;
+ while ((length = is.read(b)) > 0) {
+ os.write(b, 0, length);
+ }
+ return "{'result':'success'}";
+ }catch (IOException e){
+ logger.error("download csv File error :"+e.getMessage());
+ return "{'result':'failed'}";
+ }
}
- @RequestMapping(value = {"/pro/genDiaCsv"}, method = RequestMethod.GET, produces = "application/json")
- public String generateDiaCsvFile(HttpServletRequest request){
- String[] headers = new String[]{"","","",""};
- List<PerformanceHeader> performanceHeaders = performanceHeaderService.queryPerformanceHeader(null,1,100).getList();
- List<PerformanceInformation> performanceInformations = performanceInformationService.queryPerformanceInformation(null,1,100).getList();
- List<String[]> csvData = new ArrayList<>();
-
- return "";
+ @RequestMapping(value = {"/usecaseui-server/performance/genDiaCsv"}, method = RequestMethod.POST, produces = "application/json")
+ public String generateDiaCsvFile(HttpServletResponse response,@RequestBody Map<String,String> p) throws ParseException {
+ String csvFileName = "csvFiles/"+p.get("name")+"_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
+ response.setCharacterEncoding("utf-8");
+ response.setContentType("application/csv");
+ String[] headers = new String[]{"eventId","name","value","createTime","updateTime"};
+ List<String[]> csvDatas = new ArrayList<>();
+ if (null != p){
+ for (int i =0;i<p.size();i++){
+ csvDatas.add(new String[]{p.get("eventID"),p.get("name"),p.get("value"),p.get("createTime"),p.get("updateTime")});
+ }
+ }
+ CSVUtils.writeCsv(headers,csvDatas,csvFileName);
+ response.setHeader("Content-Disposition","attachment;filename="+csvFileName+"");
+ try(InputStream is = new FileInputStream(csvFileName);
+ OutputStream os = response.getOutputStream()){
+ byte[] b = new byte[2048];
+ int length;
+ while ((length = is.read(b)) > 0) {
+ os.write(b, 0, length);
+ }
+ return "{'result':'success'}";
+ }catch (IOException e){
+ logger.error("download csv File error :"+e.getMessage());
+ return "{'result':'failed'}";
+ }
}
@ResponseBody
- @RequestMapping(value = {"/pro/genDia"}, method = RequestMethod.GET, produces = "application/json")
- public String generateDiagram(HttpServletRequest request) throws ParseException, JsonProcessingException {
- String id = request.getParameter("PERFORMANCE_id");
- String data = request.getParameter("PERFORMANCE_data");
- SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
- Date beginDate = new Date();
- Calendar date = Calendar.getInstance();
- date.setTime(beginDate);
- PerformanceInformation p = new PerformanceInformation();
- p.setEventId(id);
- if ("hour".equals(data)){
- date.set(Calendar.DATE, date.get(Calendar.HOUR) - 1);
- Date endDate = dft.parse(dft.format(date.getTime()));
- p.setCreateTime(endDate);
- }
- if ("day".equals(data)){
- date.set(Calendar.DATE, date.get(Calendar.DATE) - 1);
- Date endDate = dft.parse(dft.format(date.getTime()));
- p.setCreateTime(endDate);
+ @RequestMapping(value = {"/usecaseui-server/performance/{unit}/{eventId}"}, method = RequestMethod.GET, produces = "application/json")
+ public String generateDiagram(HttpServletRequest request,@PathVariable String unit,@PathVariable String eventId) throws ParseException, JsonProcessingException {
+ String revDate = "";
+ switch (unit){
+ case "hour":
+ revDate = DateUtils.initDate(new Date(),1,1,1,-1,0,0);
+ break;
+ case "day":
+ revDate = DateUtils.initDate(new Date(),1,1,-1,0,0,0);
+ break;
+ case "month":
+ revDate = DateUtils.initDate(new Date(),1,-1,0,0,0,0);
+ break;
+ case "year":
+ revDate = DateUtils.initDate(new Date(),-1,0,0,0,0,0);
+ break;
}
- if ("month".equals(data)){
- date.set(Calendar.DATE, date.get(Calendar.MONTH) - 1);
- Date endDate = dft.parse(dft.format(date.getTime()));
- p.setCreateTime(endDate);
- }
- if ("year".equals(data)){
- date.set(Calendar.DATE, date.get(Calendar.YEAR) - 1);
- Date endDate = dft.parse(dft.format(date.getTime()));
- p.setCreateTime(endDate);
- }
- List<PerformanceInformation> informationList = performanceInformationService.queryPerformanceInformation(p,1,4).getList();
- return new ObjectMapper().writeValueAsString(informationList);
+ PerformanceInformation performanceInformation = new PerformanceInformation();
+ performanceInformation.setEventId(eventId);
+ performanceInformation.setCreateTime(new SimpleDateFormat().parse(revDate));
+ List<PerformanceInformation> informations = performanceInformationService.queryPerformanceInformation(performanceInformation,1,100).getList();
+ return new ObjectMapper().writeValueAsString(informations);
}
package org.onap.usecaseui.server.service;
+import java.util.List;
+
import org.onap.usecaseui.server.bean.AlarmsHeader;
import org.onap.usecaseui.server.util.Page;
int getAllCount();
- Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader,int currentPage,int pageSize);
+ Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader, int currentPage, int pageSize);
+ List<AlarmsHeader> queryId(String[] id);
}
*/
package org.onap.usecaseui.server.service;
+import java.util.List;
+
+import org.onap.usecaseui.server.bean.AlarmsHeader;
import org.onap.usecaseui.server.bean.AlarmsInformation;
import org.onap.usecaseui.server.util.Page;
int getAllCount();
- Page<AlarmsInformation> queryAlarmsInformation(AlarmsInformation alarmsInformation,int currentPage,int pageSize);
+ Page<AlarmsInformation> queryAlarmsInformation(AlarmsInformation alarmsInformation, int currentPage, int pageSize);
+
+ List<AlarmsInformation> queryId(String[] id);
}
*/
package org.onap.usecaseui.server.service;
+import java.util.List;
+
+import org.onap.usecaseui.server.bean.AlarmsHeader;
import org.onap.usecaseui.server.bean.PerformanceHeader;
import org.onap.usecaseui.server.util.Page;
int getAllCount();
- Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder,int currentPage,int pageSize);
+ Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage, int pageSize);
+
+ List<PerformanceHeader> queryId(String[] id);
}
*/
package org.onap.usecaseui.server.service;
+import java.util.List;
+
+import org.onap.usecaseui.server.bean.AlarmsInformation;
import org.onap.usecaseui.server.bean.PerformanceInformation;
import org.onap.usecaseui.server.util.Page;
int getAllCount();
- Page<PerformanceInformation> queryPerformanceInformation(PerformanceInformation performanceInformation,int currentPage,int pageSize);
+ Page<PerformanceInformation> queryPerformanceInformation(PerformanceInformation performanceInformation, int currentPage, int pageSize);
+
+ List<PerformanceInformation> queryId(String[] id);
}
+++ /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.
- */
-package org.onap.usecaseui.server.service.impl;
-
-import java.util.UUID;
-
-import javax.transaction.Transactional;
-
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.onap.usecaseui.server.bean.ActiveAlarmInfo;
-import org.onap.usecaseui.server.service.AlarmService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.stereotype.Service;
-
-
-@Service("AlarmService")
-@Transactional
-@org.springframework.context.annotation.Configuration
-@EnableAspectJAutoProxy
-public class AlarmServiceImpl implements AlarmService
-{
- private static final Logger logger = LoggerFactory.getLogger(AlarmServiceImpl.class);
-
- @Autowired
- private SessionFactory sessionFactory;
-
- public String hello()
- {
- return "Hello";
- }
-
-
- @Transactional
- public String saveActiveAlarmInfo(ActiveAlarmInfo acAlarmInfo)
- {
- try
- {
- if (null == acAlarmInfo)
- {
- logger.error("AlarmServiceImpl saveActiveAlarmInfo acAlarmInfo is null!");
- }
- logger.info("AlarmServiceImpl saveActiveAlarmInfo: acAlarmInfo={}", acAlarmInfo);
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- acAlarmInfo.setId(UUID.randomUUID().toString());
- session.save(acAlarmInfo);
- tx.commit();
- session.flush();
- session.close();
- }
- catch (Exception e)
- {
- logger.error("Exception occurred while performing AlarmServiceImpl saveActiveAlarmInfo. Details:" + e.getMessage());
- }
-
- return acAlarmInfo.getId();
- }
-
-}
package org.onap.usecaseui.server.service.impl;
-import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
int offset = page.countOffset(currentPage, pageSize);
try{
- Date date = new Date();
+// Date date = new Date();
// SimpleDateFormat date = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
StringBuffer hql =new StringBuffer("from AlarmsHeader a where 1=1");
if (null == alarmsHeader) {
hql.append(" and a.status like '%"+ver+"%'");
}else if(null!=alarmsHeader.getCreateTime()) {
Date ver =alarmsHeader.getCreateTime();
- hql.append(" and a.createTime like '%"+ver+"%'");
+ hql.append(" and a.createTime > '%"+ver+"%'");
}else if(null!=alarmsHeader.getUpdateTime()) {
Date ver =alarmsHeader.getUpdateTime();
hql.append(" and a.updateTime like '%"+ver+"%'");
}
logger.info("AlarmsHeaderServiceImpl saveAlarmsHeader: alarmsHeader={}", alarmsHeader);
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
Query query = session.createQuery(hql.toString());
query.setFirstResult(offset);
query.setMaxResults(pageSize);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
- tx.commit();
session.flush();
session.close();
return page;
}
+ @Override
+ public List<AlarmsHeader> queryId(String[] id) {
+ try {
+ if(id.length==0) {
+ logger.error("AlarmsHeaderServiceImpl queryId is null!");
+ }
+
+ AlarmsHeader alarm = new AlarmsHeader();
+ List<AlarmsHeader> list = new ArrayList<AlarmsHeader>();
+ Session session = sessionFactory.openSession();
+ for(String b:id) {
+ Query query = session.createQuery("from AlarmsHeader a where a.eventId =?0");
+ alarm=(AlarmsHeader) query.setParameter("0", b).uniqueResult();
+ list.add(alarm);
+ }
+ session.flush();
+ session.close();
+ return list;
+ } catch (Exception e) {
+ logger.error("Exception occurred while performing AlarmsHeaderServiceImpl queryId. Details:" + e.getMessage());
+ return null;
+ }
+ }
+
+
package org.onap.usecaseui.server.service.impl;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public int getAllCount() {
try{
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
long q=(long)session.createQuery("select count(*) from AlarmsInformation").uniqueResult();
- tx.commit();
session.flush();
session.close();
return (int)q;
hql.append(" and a.value like '%"+ver+"%'");
}else if(null!=alarmsInformation.getEventId()) {
String ver=alarmsInformation.getEventId();
- hql.append(" and a.eventId like '%"+ver+"%'");
+ hql.append(" and a.eventId = '"+ver+"'");
}else if(null!=alarmsInformation.getCreateTime()) {
Date ver =alarmsInformation.getCreateTime();
- hql.append(" and a.createTime like '%"+ver+"%'");
+ hql.append(" and a.createTime > '%"+ver+"%'");
}else if(null!=alarmsInformation.getUpdateTime()) {
Date ver =alarmsInformation.getUpdateTime();
hql.append(" and a.updateTime like '%"+ver+"%'");
}
logger.info("AlarmsInformationServiceImpl queryAlarmsInformation: alarmsInformation={}", alarmsInformation);
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
Query query = session.createQuery(hql.toString());
query.setFirstResult(offset);
query.setMaxResults(pageSize);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
- tx.commit();
session.flush();
session.close();
return page;
}
}
+ @Override
+ public List<AlarmsInformation> queryId(String[] id) {
+ try {
+ if(id.length==0) {
+ logger.error("AlarmsInformationServiceImpl queryId is null!");
+ }
+ List<AlarmsInformation> list = new ArrayList<AlarmsInformation>();
+ Session session = sessionFactory.openSession();
+ Query query = session.createQuery("from AlarmsInformation a where a.eventId IN (:alist)");
+ list = query.setParameterList("alist", id).list();
+ session.close();
+ return list;
+ } catch (Exception e) {
+ logger.error("Exception occurred while performing AlarmsInformationServiceImpl queryId. Details:" + e.getMessage());
+ return null;
+ }
+ }
+
package org.onap.usecaseui.server.service.impl;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public int getAllCount() {
try{
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
long q=(long)session.createQuery("select count(*) from PerformanceHeader").uniqueResult();
- tx.commit();
session.flush();
session.close();
return (int)q;
hql.append(" and a.eventSourceType like '%"+ver+"%'");
}else if(null!=performanceHeder.getCreateTime()) {
Date ver =performanceHeder.getCreateTime();
- hql.append(" and a.createTime like '%"+ver+"%'");
+ hql.append(" and a.createTime > '%"+ver+"%'");
}else if(null!=performanceHeder.getUpdateTime()) {
Date ver =performanceHeder.getUpdateTime();
hql.append(" and a.updateTime like '%"+ver+"%'");
}
logger.info("PerformanceHeaderServiceImpl queryPerformanceHeader: performanceHeder={}", performanceHeder);
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
Query query = session.createQuery(hql.toString());
query.setFirstResult(offset);
query.setMaxResults(pageSize);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
- tx.commit();
session.flush();
session.close();
return page;
}
+ @Override
+ public List<PerformanceHeader> queryId(String[] id) {
+ try {
+ if(id.length==0) {
+ logger.error("PerformanceHeaderServiceImpl queryId is null!");
+ }
+ PerformanceHeader performance = new PerformanceHeader();
+ List<PerformanceHeader> list = new ArrayList<PerformanceHeader>();
+ Session session = sessionFactory.openSession();
+ Query query = session.createQuery("from PerformanceHeader a where a.eventId = ?0");
+ for(String b:id) {
+ performance=(PerformanceHeader) query.setParameter("0", b).uniqueResult();
+ list.add(performance);
+ }
+ session.flush();
+ session.close();
+ return list;
+ } catch (Exception e) {
+ logger.error("Exception occurred while performing PerformanceHeaderServiceImpl queryId. Details:" + e.getMessage());
+ return null;
+ }
+ }
+
+
}
package org.onap.usecaseui.server.service.impl;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public int getAllCount() {
try{
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
long q=(long)session.createQuery("select count(*) from PerformanceInformation").uniqueResult();
- tx.commit();
session.flush();
session.close();
return (int)q;
hql.append(" and a.eventId like '%"+ver+"%'");
}else if(null!=performanceInformation.getCreateTime()) {
Date ver =performanceInformation.getCreateTime();
- hql.append(" and a.createTime like '%"+ver+"%'");
+ hql.append(" and a.createTime > '%"+ver+"%'");
}else if(null!=performanceInformation.getUpdateTime()) {
Date ver =performanceInformation.getUpdateTime();
hql.append(" and a.updateTime like '%"+ver+"%'");
}
logger.info("PerformanceInformationServiceImpl queryPerformanceInformation: performanceInformation={}", performanceInformation);
Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
Query query = session.createQuery(hql.toString());
query.setFirstResult(offset);
query.setMaxResults(pageSize);
page.setPageSize(pageSize);
page.setTotalRecords(allRow);
page.setList(list);
- tx.commit();
session.flush();
session.close();
return page;
}
+ @Override
+ public List<PerformanceInformation> queryId(String[] id) {
+ try {
+ if(id.length==0) {
+ logger.error("PerformanceInformationServiceImpl queryId is null!");
+ }
+ PerformanceInformation performance = new PerformanceInformation();
+ List<PerformanceInformation> list = new ArrayList<>();
+ Session session = sessionFactory.openSession();
+ Query query = session.createQuery("from PerformanceInformation a where a.eventId = ?0");
+ for(String b:id) {
+ performance=(PerformanceInformation) query.setParameter("0", b).uniqueResult();
+ list.add(performance);
+ }
+ session.flush();
+ session.close();
+ return list;
+ } catch (Exception e) {
+ logger.error("Exception occurred while performing PerformanceInformationServiceImpl queryId. Details:" + e.getMessage());
+ return null;
+ }
+ }
+
+
public class CSVUtils {
- //CSV文件分隔符
- private final static String NEW_LINE_SEPARATOR="\n";
- private static Logger logger = LoggerFactory.getLogger(CSVUtils.class);
+ private static Logger logger = LoggerFactory.getLogger(CSVUtils.class);
- /**写入csv文件
- * @param headers 列头
- * @param data 数据内容
- * @param filePath 创建的csv文件路径
- * **/
public static void writeCsv(String[] headers,List<String[]> data,String filePath) {
try{
CSVFormat formator = CSVFormat.DEFAULT.withHeader(headers);
}
}
- /**读取csv文件
- * @param filePath 文件路径
- * @param headers csv列头
- * @return CSVRecord 列表
- * @throws IOException **/
+
+ public static boolean wCsv(){
+
+ return false;
+ }
+
public static List<CSVRecord> readCSV(String filePath, String[] headers) throws IOException{
//创建CSVFormat
CSVFormat formator = CSVFormat.DEFAULT.withHeader(headers);
+++ /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.
- */
-package org.onap.usecaseui.server.util;
-
-public class DataUtils {
-}
--- /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.
+ */
+package org.onap.usecaseui.server.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.Calendar;
+import java.util.Date;
+
+public class DateUtils {
+
+
+
+
+ public static String initDate(Date d,int year,int month,int day,int hour,int minute,int second) throws ParseException {
+ Instant instant = d.toInstant();
+ ZoneId zone = ZoneId.systemDefault();
+ LocalDateTime ldt = LocalDateTime.ofInstant(instant,zone);
+ if(year >= 0){
+ if(year == 0)
+ ldt = ldt.withYear(1);
+ } else
+ ldt = ldt.withYear(ldt.getYear()-1);
+ if(month >= 0){
+ if(month == 0)
+ ldt = ldt.withMonth(1);
+ } else
+ ldt = ldt.withMonth(ldt.getMonthValue()-1);
+ if(day >= 0){
+ if(day == 0)
+ ldt = ldt.withDayOfMonth(1);
+ } else
+ ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()-1);
+ if(hour >= 0){
+ if(hour == 0)
+ ldt = ldt.withHour(1);
+ } else
+ ldt = ldt.withHour(ldt.getHour()-1);
+ if(minute >= 0){
+ if(minute == 0)
+ ldt = ldt.withMinute(0);
+ } else
+ ldt = ldt.withMinute(ldt.getMinute()-1);
+ if(second >= 0){
+ if(second == 0)
+ ldt = ldt.withSecond(0);
+ } else
+ ldt = ldt.withMinute(ldt.getSecond()-1);
+ return ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ }
+
+
+
+
+ /**
+ * param except data ,if int equal 0 then cleared zero,
+ * if equal -1 then minus 1 ,else unchanging
+ * @param d
+ * @param year
+ * @param month
+ * @param hour
+ * @param minute
+ * @param second
+ * @return
+ * @throws ParseException
+ */
+ public static Date initProcessDate(Date d,int year,int month,int day,int hour,int minute,int second) throws ParseException {
+ SimpleDateFormat sdf = new SimpleDateFormat("yy:MM:dd hh:mm:ss");
+ Calendar c = Calendar.getInstance();
+ c.setTime(d);
+ if(year >= 0){
+ if(year == 0)
+ c.set(Calendar.YEAR,0);
+ } else
+ c.set(Calendar.YEAR,c.get(Calendar.YEAR)-1);
+ if(month >= 0){
+ if(month == 0)
+ c.set(Calendar.MONTH,0);
+ } else
+ c.set(Calendar.MONTH,c.get(Calendar.MONTH)-1);
+ if(day >= 0){
+ if(day == 0)
+ c.set(Calendar.DAY_OF_MONTH,0);
+ } else
+ c.set(Calendar.DAY_OF_MONTH,c.get(Calendar.DAY_OF_MONTH)-1);
+ if(hour >= 0){
+ if(hour == 0)
+ c.set(Calendar.HOUR_OF_DAY,0);
+ } else
+ c.set(Calendar.HOUR_OF_DAY,c.get(Calendar.HOUR_OF_DAY)-1);
+ if(minute >= 0){
+ if(minute == 0)
+ c.set(Calendar.MINUTE,0);
+ } else
+ c.set(Calendar.MINUTE,c.get(Calendar.MINUTE)-1);
+ if(second >= 0){
+ if(second == 0)
+ c.set(Calendar.SECOND,0);
+ } else
+ c.set(Calendar.SECOND,c.get(Calendar.SECOND)-1);
+ return sdf.parse(sdf.format(c.getTime()));
+ }
+
+ /**
+ *
+ * @param d
+ * @param unit time unit
+ * @param addVal add value
+ * @return
+ * @throws ParseException
+ */
+ public static String addDate(Date d,String unit,int addVal) throws ParseException {
+ Instant instant = d.toInstant();
+ ZoneId zone = ZoneId.systemDefault();
+ LocalDateTime ldt = LocalDateTime.ofInstant(instant,zone);
+ switch (unit.toLowerCase()){
+ case "month":
+ ldt = ldt.withMonth(ldt.getMonthValue()+addVal);
+ break;
+ case "day":
+ ldt = ldt.withDayOfMonth(ldt.getDayOfMonth()+addVal);
+ break;
+ case "hour":
+ ldt = ldt.withHour(ldt.getHour()+addVal);
+ break;
+ case "minute":
+ ldt = ldt.withMinute(ldt.getMinute()+addVal);
+ break;
+ }
+ return ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ }
+
+ public static String dateToString(Date d){
+ return new SimpleDateFormat("yy:MM:dd HH:mm:ss").format(d);
+ }
+
+ public static Date stringToDate(String d) throws ParseException {
+ return new SimpleDateFormat("yy:MM:dd HH:mm:ss").parse(d);
+ }
+
+ public static Date now() throws ParseException {
+ return new SimpleDateFormat("yy:MM:dd HH:mm:ss").parse(dateToString(new Date()));
+ }
+
+}
--- /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.
+ */
+package org.onap.usecaseui.server.wrapper;
+
+import org.onap.usecaseui.server.bean.AlarmsHeader;
+import org.onap.usecaseui.server.bean.AlarmsInformation;
+
+public class AlarmWrapper {
+
+ private AlarmsHeader alarmsHeader;
+
+ private AlarmsInformation alarmsInformation;
+
+ private int currentPage = 1;
+
+ private int pageSize = 100;
+
+
+ public AlarmsHeader getAlarmsHeader() {
+ return alarmsHeader;
+ }
+
+ public void setAlarmsHeader(AlarmsHeader alarmsHeader) {
+ this.alarmsHeader = alarmsHeader;
+ }
+
+ public AlarmsInformation getAlarmsInformation() {
+ return alarmsInformation;
+ }
+
+ public void setAlarmsInformation(AlarmsInformation alarmsInformation) {
+ this.alarmsInformation = alarmsInformation;
+ }
+
+ public int getCurrentPage() {
+ return currentPage;
+ }
+
+ public void setCurrentPage(int currentPage) {
+ this.currentPage = currentPage;
+ }
+
+ public int getPageSize() {
+ return pageSize;
+ }
+
+ public void setPageSize(int pageSize) {
+ this.pageSize = pageSize;
+ }
+}
## limitations under the License.
##
## General App Properties
-server.contextPath=/usecase
+server.contextPath=/api/usecaseui/server/v1
server.port=8082
spring.http.multipart.max-file-size=128MB
spring.http.multipart.max-request-size=128MB
*/
package org.onap.usecaseui.server;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.junit.Assert;
+import com.fasterxml.jackson.core.JsonProcessingException;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.onap.usecaseui.server.bean.AlarmsHeader;
-import org.onap.usecaseui.server.bean.AlarmsInformation;
-import org.onap.usecaseui.server.service.AlarmsHeaderService;
-import org.onap.usecaseui.server.service.AlarmsInformationService;
-import org.onap.usecaseui.server.service.impl.AlarmsHeaderServiceImpl;
-import org.onap.usecaseui.server.service.impl.AlarmsInformationServiceImpl;
-import org.onap.usecaseui.server.util.Page;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
+import java.text.ParseException;
+
@RunWith(SpringRunner.class)
@SpringBootTest
public class UsecaseuiServerApplicationTests {
-
-// @Autowired
-// AlarmsInformationService info;
-
- @Autowired
- AlarmsHeaderService alarm;
-
+
+
+
+
@Test
- public void contextLoads() throws ParseException {
-// AlarmsInformation in= new AlarmsInformation();
-// Date date =new Date();
-// in.setName("name");
-// in.setEventId("eventId");
-// in.setValue("value");
-// in.setCreateTime(date);
-// in.setUpdateTime(date);
-// String d=info.saveAlarmsInformation(in);
-// String d=info.updateAlarmsInformation(in);
-
-// int c=alarm.getAllCount();
-
- AlarmsHeader a = new AlarmsHeader();
-// a.setVersion("1");
- a.setDomain("3");
-// SimpleDateFormat e =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-// a.setCreateTime(e.parse("2017-09-03 15:25:11"));
- Page<AlarmsHeader> b = alarm.queryAlarmsHeader(a, 1, 5);
- String c =b.getList().get(0).getEventName();
- System.out.println("============"+c);
- Assert.assertEquals("2", c);
-
+ public void contextLoads() throws JsonProcessingException, ParseException {
+ /*ObjectMapper objectMapper = new ObjectMapper();
+ AlarmsHeader alarmsHeader = new AlarmsHeader();
+ alarmsHeader.setAlarmCondition("send to my phone");
+ alarmsHeader.setAlarmInterfaceA("Baby have no fear");
+ alarmsHeader.setCreateTime(new Date());
+ alarmsHeader.setDomain("Hope they ready");
+ List<AlarmsHeader> alarmsHeaders = new ArrayList<>();
+ alarmsHeaders.add(alarmsHeader);
+ alarmsHeaders.add(alarmsHeader);
+ alarmsHeaders.add(alarmsHeader);
+ Map<String,Object> map = new HashMap<>();
+ map.put("alarms",alarmsHeaders);
+ map.put("asd",alarmsHeader);
+ String jsonStr = objectMapper.writeValueAsString(map);
+ System.out.println(jsonStr);*/
+ //System.out.println(alarmsInformationService.saveAlarmsInformation(new AlarmsInformation("11","22","123",new Date(),new Date())));
}
}
--- /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.
+ */
+package org.onap.usecaseui.server.controller;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.usecaseui.server.bean.AlarmsHeader;
+import org.onap.usecaseui.server.bean.AlarmsInformation;
+import org.onap.usecaseui.server.service.AlarmsHeaderService;
+import org.onap.usecaseui.server.service.AlarmsInformationService;
+import org.onap.usecaseui.server.util.CSVUtils;
+import org.onap.usecaseui.server.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class AlarmControllerTest {
+
+ @Autowired
+ AlarmController alarmController;
+
+ @Resource(name = "AlarmsHeaderService")
+ AlarmsHeaderService alarmsHeaderService;
+
+ @Resource(name = "AlarmsInformationService")
+ AlarmsInformationService alarmsInformationService;
+
+ @Test
+ public void getDataNotParam(){
+ System.out.println(alarmController.getAlarmData(null,null,null,null,null,1,1100));
+ }
+
+ @Test
+ public void getDataCarryParam(){
+ System.out.println(alarmController.getAlarmData("110","a","drop","down","1506331166000",1,1100));
+ }
+
+ @Test
+ public void genCsvFile(){
+ String[] eventId = new String[]{"110"};
+ String csvFile = "csvFiles/vnf_alarm_"+new SimpleDateFormat("yy-MM-ddHH:mm:ss").format(new Date())+".csv";
+ String[] headers = new String[]{"version",
+ "eventName","domain","eventId","eventType","nfcNamingCode",
+ "nfNamingCode","sourceId","sourceName","reportingEntityId",
+ "reportingEntityName","priority","startEpochMicrosec","lastEpochMicroSec",
+ "sequence","faultFieldsVersion","eventServrity","eventSourceType",
+ "eventCategory","alarmCondition","specificProblem","vfStatus",
+ "alarmInterfaceA","status",
+ "createTime","updateTime","name","value"};
+ List<AlarmsHeader> alarmsHeaders = alarmsHeaderService.queryId(eventId);
+ List<String[]> csvData = new ArrayList<>();
+ alarmsHeaders.forEach(ala ->{
+ List<AlarmsInformation> information = alarmsInformationService.queryAlarmsInformation(new AlarmsInformation(ala.getEventId()),1,100).getList();
+ String names = new String();
+ String values = new String();
+ if (0 < information.size() && null != information){
+ for (AlarmsInformation a : information){
+ names += a.getName()+",";
+ values += a.getValue()+",";
+ }
+ names = names.substring(0,names.lastIndexOf(','));
+ values = values.substring(0,values.lastIndexOf(','));
+ }
+ csvData.add(new String[]{
+ ala.getVersion(),ala.getEventName(),ala.getDomain(),ala.getEventId(),ala.getEventType(),
+ ala.getNfcNamingCode(),ala.getNfNamingCode(),ala.getSourceId(),ala.getSourceName(),
+ ala.getReportingEntityId(),ala.getReportingEntityName(),ala.getPriority(),ala.getStartEpochMicrosec(),
+ ala.getLastEpochMicroSec(),ala.getSequence(),ala.getFaultFieldsVersion(),ala.getEventServrity(),
+ ala.getEventSourceType(),ala.getEventCategory(),ala.getAlarmCondition(),ala.getSpecificProblem(),
+ ala.getVfStatus(),ala.getAlarmInterfaceA(),ala.getStatus(), DateUtils.dateToString(ala.getCreateTime()),
+ DateUtils.dateToString(ala.getUpdateTime()),names,values
+ });
+ });
+ CSVUtils.writeCsv(headers,csvData,csvFile);
+ }
+
+
+}
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.onap.usecaseui.server.service;
+package org.onap.usecaseui.server.controller;
-import org.onap.usecaseui.server.bean.ActiveAlarmInfo;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
-public interface AlarmService
-{
- String hello();
-
- String saveActiveAlarmInfo(ActiveAlarmInfo acAlarmInfo);
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class PerformanceControllerTest {
}
--- /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.
+ */
+package org.onap.usecaseui.server.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.usecaseui.server.bean.AlarmsHeader;
+import org.onap.usecaseui.server.util.DateUtils;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class AlarmsHeaderServiceTest {
+
+ @Resource(name = "AlarmsHeaderService")
+ private AlarmsHeaderService alarmsHeaderService;
+
+
+
+ @Test
+ public void save() throws ParseException {
+ AlarmsHeader a = new AlarmsHeader();
+ a.setEventName("a");
+ a.setStatus("1");
+ a.setVfStatus("1");
+ a.setEventId("1101");
+ a.setDomain("asb");
+ a.setEventCategory("s");
+ a.setAlarmCondition("ea");
+ a.setAlarmInterfaceA("cs");
+ a.setCreateTime(DateUtils.now());
+ a.setEventServrity("s");
+ a.setEventSourceType("q");
+ a.setEventType("q");
+ a.setFaultFieldsVersion("v1");
+ a.setLastEpochMicroSec("csa");
+ a.setNfcNamingCode("std");
+ a.setNfNamingCode("cout");
+ a.setPriority("cs");
+ a.setReportingEntityId("112");
+ a.setReportingEntityName("asfs");
+ a.setSequence("cgg");
+ a.setSourceId("123");
+ a.setSourceName("eggs");
+ a.setSpecificProblem("especially");
+ a.setStartEpochMicrosec("wallet");
+ a.setUpdateTime(DateUtils.now());
+ a.setVersion("va2");
+ System.out.println(alarmsHeaderService.saveAlarmsHeader(a));
+
+ }
+ @Test
+ public void update() throws ParseException {
+ AlarmsHeader a = new AlarmsHeader();
+ a.setEventName("a");
+ a.setStatus("1");
+ a.setVfStatus("1");
+ a.setEventId("1101");
+ a.setDomain("asb");
+ a.setEventCategory("s");
+ a.setAlarmCondition("ea");
+ a.setAlarmInterfaceA("cs");
+ a.setCreateTime(DateUtils.now());
+ a.setEventServrity("s");
+ a.setEventSourceType("q");
+ a.setEventType("q");
+ a.setFaultFieldsVersion("v1");
+ a.setLastEpochMicroSec("csa");
+ a.setNfcNamingCode("std");
+ a.setNfNamingCode("cout");
+ a.setPriority("cs");
+ a.setReportingEntityId("112");
+ a.setReportingEntityName("asfs");
+ a.setSequence("cgg");
+ a.setSourceId("123");
+ a.setSourceName("eggs");
+ a.setSpecificProblem("especially");
+ a.setStartEpochMicrosec("wallet");
+ a.setUpdateTime(DateUtils.now());
+ a.setVersion("va2");
+ System.out.println(alarmsHeaderService.updateAlarmsHeader(a));
+ }
+
+ @Test
+ public void get(){
+
+ alarmsHeaderService.queryId(new String[]{"110"}).forEach( a -> System.out.println(a));
+ }
+
+ @Test
+ public void query() throws ParseException {
+ AlarmsHeader a=new AlarmsHeader();
+ a.setEventName("a");
+ a.setStatus("1");
+ a.setVfStatus("1");
+ a.setEventId("1101");
+ a.setDomain("asb");
+ a.setEventCategory("s");
+ a.setAlarmCondition("ea");
+ a.setAlarmInterfaceA("cs");
+ a.setCreateTime(DateUtils.now());
+ a.setEventServrity("s");
+ a.setEventSourceType("q");
+ a.setEventType("q");
+ a.setFaultFieldsVersion("v1");
+ a.setLastEpochMicroSec("csa");
+ a.setNfcNamingCode("std");
+ a.setNfNamingCode("cout");
+ a.setPriority("cs");
+ a.setReportingEntityId("112");
+ a.setReportingEntityName("asfs");
+ a.setSequence("cgg");
+ a.setSourceId("123");
+ a.setSourceName("eggs");
+ a.setSpecificProblem("especially");
+ a.setStartEpochMicrosec("wallet");
+ a.setUpdateTime(DateUtils.now());
+ a.setVersion("va2");
+ System.out.println(alarmsHeaderService.queryAlarmsHeader(a,1,100).getList().size());
+ }
+
+}
--- /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.
+ */
+package org.onap.usecaseui.server.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.usecaseui.server.bean.AlarmsHeader;
+import org.onap.usecaseui.server.bean.AlarmsInformation;
+import org.onap.usecaseui.server.util.DateUtils;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class AlarmsInformationServiceTest {
+
+
+ @Resource(name = "AlarmsInformationService")
+ AlarmsInformationService alarmsInformationService;
+
+ @Test
+ public void save() throws ParseException {
+ AlarmsInformation a = new AlarmsInformation();
+ a.setEventId("110");
+ a.setName("efw");
+ a.setValue("fre");
+ a.setCreateTime(DateUtils.now());
+ a.setUpdateTime(DateUtils.now());
+ System.out.println(alarmsInformationService.saveAlarmsInformation(a));
+ }
+
+ @Test
+ public void update() throws ParseException {
+ AlarmsInformation a = new AlarmsInformation();
+ a.setEventId("110");
+ a.setName("fw");
+ a.setValue("fko");
+ a.setUpdateTime(DateUtils.now());
+ a.setCreateTime(DateUtils.now());
+ System.out.println(alarmsInformationService.updateAlarmsInformation(a));
+ }
+
+ @Test
+ public void get() throws ParseException {
+ alarmsInformationService.queryId(new String[]{"110"}).forEach(ai -> System.out.println(ai));
+ }
+
+ @Test
+ public void query() throws ParseException {
+ AlarmsInformation a = new AlarmsInformation();
+ a.setEventId("110");
+ alarmsInformationService.queryAlarmsInformation(a,1,100)
+ .getList().forEach( al -> System.out.println(al.getEventId()));
+ }
+
+}
+
+
--- /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.
+ */
+package org.onap.usecaseui.server.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+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.util.DateUtils;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+
+import static org.apache.coyote.http11.Constants.a;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class PerformanceHeaderServiceTest {
+
+
+ @Resource(name = "PerformanceHeaderService")
+ PerformanceHeaderService performanceHeaderService;
+
+ @Test
+ public void save() throws ParseException {
+ PerformanceHeader p = new PerformanceHeader();
+ p.setCreateTime(DateUtils.now());
+ p.setEventId("110");
+ p.setDomain("asb");
+ p.setCreateTime(DateUtils.now());
+ p.setEventType("q");
+ p.setLastEpochMicroSec("csa");
+ p.setNfcNamingCode("std");
+ p.setNfNamingCode("cout");
+ p.setPriority("cs");
+ p.setReportingEntityId("112");
+ p.setReportingEntityName("asfs");
+ p.setSequence("cgg");
+ p.setSourceId("123");
+ p.setSourceName("eggs");
+ p.setStartEpochMicrosec("wallet");
+ p.setUpdateTime(DateUtils.now());
+ p.setVersion("va2");
+ p.setMeasurementInterval("12");
+ p.setMeasurementsForVfScalingVersion("12");
+
+ System.out.println(performanceHeaderService.savePerformanceHeader(p));
+ }
+
+ @Test
+ public void update() throws ParseException {
+ PerformanceHeader p = new PerformanceHeader();
+ p.setEventId("110");
+ p.setPriority("we");
+ p.setReportingEntityName("xddw");
+ p.setSequence("dwd");
+ p.setSourceName("swde");
+ p.setStartEpochMicrosec("lala");
+ p.setVersion("bgf3");
+ p.setEventName("ds");
+ p.setDomain("ef");
+ p.setEventType("l");
+ p.setLastEpochMicroSec("vf");
+ p.setNfcNamingCode("vds");
+ p.setNfNamingCode("f");
+ p.setCreateTime(DateUtils.now());
+ p.setMeasurementInterval("cdhs");
+ System.out.println(performanceHeaderService.updatePerformanceHeader(p));
+ }
+
+ @Test
+ public void get() throws ParseException {
+ performanceHeaderService.queryId(new String[]{"110"})
+ .forEach(pe -> System.out.println(pe));
+ }
+
+ @Test
+ public void query() throws ParseException {
+ PerformanceHeader p = new PerformanceHeader();
+ p.setEventId("110");
+ p.setPriority("we");
+ p.setReportingEntityName("xddw");
+ p.setSequence("dwd");
+ p.setSourceName("swde");
+ p.setStartEpochMicrosec("lala");
+ p.setVersion("bgf3");
+ p.setEventName("ds");
+ p.setDomain("ef");
+ p.setEventType("l");
+ p.setLastEpochMicroSec("vf");
+ p.setNfcNamingCode("vds");
+ p.setNfNamingCode("f");
+ p.setCreateTime(DateUtils.now());
+ performanceHeaderService.queryPerformanceHeader(p,1,100)
+ .getList().forEach(per -> System.out.println(per));
+ }
+
+}
+
--- /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.
+ */
+package org.onap.usecaseui.server.service;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.usecaseui.server.bean.PerformanceInformation;
+import org.onap.usecaseui.server.util.DateUtils;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class PerformanceInformationServiceTest {
+
+
+ @Resource(name = "PerformanceInformationService")
+ PerformanceInformationService performanceInformationService;
+
+ @Test
+ public void save() throws ParseException {
+ PerformanceInformation a = new PerformanceInformation();
+ a.setEventId("110");
+ a.setName("efw");
+ a.setValue("fre");
+ a.setCreateTime(DateUtils.now());
+ a.setUpdateTime(DateUtils.now());
+ System.out.println(performanceInformationService.savePerformanceInformation(a));
+ }
+
+ @Test
+ public void update() throws ParseException {
+ PerformanceInformation a = new PerformanceInformation();
+ a.setEventId("110");
+ a.setName("fw");
+ a.setValue("fko");
+ a.setUpdateTime(DateUtils.now());
+ a.setCreateTime(DateUtils.now());
+ System.out.println(performanceInformationService.updatePerformanceInformation(a));
+ }
+
+ @Test
+ public void get() throws ParseException {
+ performanceInformationService.queryId(new String[]{"110"})
+ .forEach(ai -> System.out.println(ai));
+ }
+
+ @Test
+ public void query() throws ParseException {
+ PerformanceInformation a = new PerformanceInformation();
+ a.setEventId("110");
+ a.setName("kl");
+ a.setUpdateTime(DateUtils.now());
+ a.setValue("yue");
+ a.setCreateTime(DateUtils.now());
+ performanceInformationService.queryPerformanceInformation(a,1,100)
+ .getList().forEach( al -> System.out.println(al));
+ }
+
+}
--- /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.
+ */
+package org.onap.usecaseui.server.util;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class CSVUtilsTest {
+
+ @Test
+ public void CSVTest(){
+ String[] headers = new String[]{"name","age","birthday"};
+ List<String[]> data = new ArrayList<>();
+ data.add(new String[]{"Tom","15","2001-1-12"});
+ data.add(new String[]{"Jerry","18","2005-1-12"});
+ data.add(new String[]{"John","20","2011-1-12"});
+ String csvPath = "csvFiles/data.csv";
+ CSVUtils.writeCsv(headers,data,csvPath);
+ }
+
+
+}
--- /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.
+ */
+package org.onap.usecaseui.server.util;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class DateUtilsTest {
+
+
+ @Test
+ public void DateTest(){
+ SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+ LocalDateTime ldt = LocalDateTime.now();
+ ldt = ldt.withMonth(2);
+ ldt = ldt.withDayOfMonth(30);
+ //ldt = ldt.withMonth(1);
+ ldt = ldt.withHour(1);
+ ZoneId zone = ZoneId.systemDefault();
+ Instant instant = ldt.atZone(zone).toInstant();
+ System.out.println(ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ }
+
+}