40ebd27ca5578015215aa8fb600dda5dd6bedf30
[aai/esr-server.git] / esr-mgr / src / main / java / org / onap / aai / esr / util / EmsManagerUtil.java
1 /**
2  * Copyright 2017 ZTE Corporation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.aai.esr.util;
17
18 import java.util.ArrayList;
19
20 import org.onap.aai.esr.common.SystemType;
21 import org.onap.aai.esr.entity.aai.EsrSystemInfo;
22 import org.onap.aai.esr.entity.aai.EsrEmsDetail;
23 import org.onap.aai.esr.entity.rest.AlarmAddr;
24 import org.onap.aai.esr.entity.rest.EmsRegisterInfo;
25 import org.onap.aai.esr.entity.rest.FtpAddr;
26
27 public class EmsManagerUtil {
28   
29   public static EsrEmsDetail emsRegisterInfo2EsrEms(EmsRegisterInfo emsRegisterInfo) {
30     EsrEmsDetail esrEms = new EsrEmsDetail();
31     esrEms.setEmsId(ExtsysUtil.generateId());
32     ArrayList<EsrSystemInfo> authInfos = new ArrayList<EsrSystemInfo>();
33     authInfos = getAuthInfosFromRegisterData(emsRegisterInfo);
34     esrEms.setEsrSystemInfoList(ExtsysUtil.getEsrSystemInfoListFromAuthInfoList(authInfos));
35     return esrEms;
36   }
37
38   private static ArrayList<EsrSystemInfo> getAuthInfosFromRegisterData(EmsRegisterInfo emsRegisterInfo) {
39     ArrayList<EsrSystemInfo> authInfos = new ArrayList<EsrSystemInfo>();
40     EsrSystemInfo resouceAuthInfo = new EsrSystemInfo();
41     EsrSystemInfo performanceAuthInfo = new EsrSystemInfo();
42     EsrSystemInfo alarmAuthInfo = new EsrSystemInfo();
43     resouceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_RESOUCE.toString());
44     performanceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_PERFORMANCE.toString());
45     alarmAuthInfo = getAuthInfoFromAlarmAddr(emsRegisterInfo);
46     authInfos.add(resouceAuthInfo);
47     authInfos.add(performanceAuthInfo);
48     authInfos.add(alarmAuthInfo);
49     return authInfos;
50   }
51   
52   private static EsrSystemInfo getAuthInfoFromFtpAddr(EmsRegisterInfo emsRegisterInfo, String systemType) {
53     EsrSystemInfo authInfo = new EsrSystemInfo();
54     FtpAddr ftpAddr = new FtpAddr();
55     if(systemType.equals(SystemType.EMS_RESOUCE.toString())) {
56       ftpAddr = emsRegisterInfo.getResourceAddr();
57     } else if(systemType.equals(SystemType.EMS_PERFORMANCE.toString())) {
58       ftpAddr = emsRegisterInfo.getPerformanceAddr();
59     }
60     authInfo.setType(ftpAddr.getFtptype());
61     authInfo.setIpAddress(ftpAddr.getIp());
62     authInfo.setPort(ftpAddr.getPort());
63     authInfo.setUserName(ftpAddr.getUser());
64     authInfo.setPassword(ftpAddr.getPassword());
65     authInfo.setRemotePath(ftpAddr.getRemotepath());
66     authInfo.setPassive(ftpAddr.getPassive());
67     authInfo.setEsrSystemInfoId(ExtsysUtil.generateId());
68     authInfo.setSystemType(systemType);
69     authInfo.setSystemName(emsRegisterInfo.getName());
70     authInfo.setVendor(emsRegisterInfo.getVendor());
71     authInfo.setVersion(emsRegisterInfo.getVersion());
72     return authInfo;
73   }
74   
75   private static EsrSystemInfo getAuthInfoFromAlarmAddr(EmsRegisterInfo emsRegisterInfo) {
76     EsrSystemInfo authInfo = new EsrSystemInfo();
77     AlarmAddr alarmAddr = new AlarmAddr();
78     alarmAddr = emsRegisterInfo.getAlarmAddr();
79     authInfo.setEsrSystemInfoId(ExtsysUtil.generateId());
80     authInfo.setIpAddress(alarmAddr.getIp());
81     authInfo.setPort(alarmAddr.getPort());
82     authInfo.setUserName(alarmAddr.getUser());
83     authInfo.setPassword(alarmAddr.getPassword());
84     authInfo.setSystemType(SystemType.EMS_ALARM.toString());
85     authInfo.setSystemName(emsRegisterInfo.getName());
86     authInfo.setVendor(emsRegisterInfo.getVendor());
87     authInfo.setVersion(emsRegisterInfo.getVersion());
88     return authInfo;
89   }
90   
91   public static EmsRegisterInfo EsrEms2EmsRegisterInfo(EsrEmsDetail esrEms) {
92     EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
93     ArrayList<EsrSystemInfo> esrSystemInfo = new ArrayList<EsrSystemInfo>();
94     EsrSystemInfo authInfo = new EsrSystemInfo();
95     esrSystemInfo = esrEms.getEsrSystemInfoList().getEsrSystemInfo();
96     emsRegisterInfo.setEmsId(esrEms.getEmsId());
97     
98     for(int i=0; i<esrSystemInfo.size(); i++) {
99       authInfo = esrSystemInfo.get(i);
100       if(authInfo.getSystemType().equals(SystemType.EMS_RESOUCE.toString())){
101         FtpAddr resourceAddr = new FtpAddr();
102         resourceAddr = getFtpAddrFromAuthInfo(authInfo);
103         emsRegisterInfo.setResourceAddr(resourceAddr);
104       } else if(authInfo.getSystemType().equals(SystemType.EMS_PERFORMANCE.toString())) {
105         FtpAddr performanceAddr = new FtpAddr();
106         performanceAddr = getFtpAddrFromAuthInfo(authInfo);
107         emsRegisterInfo.setPerformanceAddr(performanceAddr);
108       } else if(authInfo.getSystemType().equals(SystemType.EMS_ALARM.toString())) {
109         AlarmAddr alarmAddr = new AlarmAddr();
110         alarmAddr = getAlarmAddrFromAuthInfo(authInfo);
111         emsRegisterInfo.setAlarmAddr(alarmAddr);
112       }
113     }
114     emsRegisterInfo.setName(authInfo.getSystemName());
115     emsRegisterInfo.setVendor(authInfo.getVendor());
116     emsRegisterInfo.setVersion(authInfo.getVersion());
117     return emsRegisterInfo;
118   }
119   
120   private static FtpAddr getFtpAddrFromAuthInfo(EsrSystemInfo authInfo) {
121     FtpAddr ftpAddr = new FtpAddr();
122     ftpAddr.setFtptype(authInfo.getType());
123     ftpAddr.setIp(authInfo.getIpAddress());
124     ftpAddr.setPassive(authInfo.getPassive());
125     ftpAddr.setPassword(authInfo.getPassword());
126     ftpAddr.setPort(authInfo.getPort());
127     ftpAddr.setRemotepath(authInfo.getRemotePath());
128     ftpAddr.setUser(authInfo.getUserName());
129     return ftpAddr;
130   }
131   
132   private static AlarmAddr getAlarmAddrFromAuthInfo(EsrSystemInfo authInfo) {
133     AlarmAddr alarmAddr = new AlarmAddr();
134     alarmAddr.setIp(authInfo.getIpAddress());
135     alarmAddr.setPassword(authInfo.getPassword());
136     alarmAddr.setPort(authInfo.getPort());
137     alarmAddr.setUser(authInfo.getUserName());
138     return alarmAddr;
139   }
140 }