76f968159681648f0c6462cbe004b1ac35323030
[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   private static ExtsysUtil extsysUtil = new ExtsysUtil();
29   
30   public EsrEmsDetail emsRegisterInfo2EsrEms(EmsRegisterInfo emsRegisterInfo) {
31     EsrEmsDetail esrEms = new EsrEmsDetail();
32     esrEms.setEmsId(extsysUtil.generateId());
33     ArrayList<EsrSystemInfo> authInfos = new ArrayList<EsrSystemInfo>();
34     authInfos = getAuthInfosFromRegisterData(emsRegisterInfo);
35     esrEms.setEsrSystemInfoList(extsysUtil.getEsrSystemInfoListFromAuthInfoList(authInfos));
36     return esrEms;
37   }
38
39   private ArrayList<EsrSystemInfo> getAuthInfosFromRegisterData(EmsRegisterInfo emsRegisterInfo) {
40     ArrayList<EsrSystemInfo> authInfos = new ArrayList<EsrSystemInfo>();
41     EsrSystemInfo resouceAuthInfo = new EsrSystemInfo();
42     EsrSystemInfo performanceAuthInfo = new EsrSystemInfo();
43     EsrSystemInfo alarmAuthInfo = new EsrSystemInfo();
44     resouceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_RESOUCE.toString());
45     performanceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_PERFORMANCE.toString());
46     alarmAuthInfo = getAuthInfoFromAlarmAddr(emsRegisterInfo);
47     authInfos.add(resouceAuthInfo);
48     authInfos.add(performanceAuthInfo);
49     authInfos.add(alarmAuthInfo);
50     return authInfos;
51   }
52   
53   private EsrSystemInfo getAuthInfoFromFtpAddr(EmsRegisterInfo emsRegisterInfo, String systemType) {
54     EsrSystemInfo authInfo = new EsrSystemInfo();
55     FtpAddr ftpAddr = new FtpAddr();
56     if(systemType.equals(SystemType.EMS_RESOUCE.toString())) {
57       ftpAddr = emsRegisterInfo.getResourceAddr();
58     } else if(systemType.equals(SystemType.EMS_PERFORMANCE.toString())) {
59       ftpAddr = emsRegisterInfo.getPerformanceAddr();
60     }
61     authInfo.setType(ftpAddr.getFtptype());
62     authInfo.setIpAddress(ftpAddr.getIp());
63     authInfo.setPort(ftpAddr.getPort());
64     authInfo.setUserName(ftpAddr.getUser());
65     authInfo.setPassword(ftpAddr.getPassword());
66     authInfo.setRemotePath(ftpAddr.getRemotepath());
67     authInfo.setPassive(ftpAddr.getPassive());
68     authInfo.setEsrSystemInfoId(extsysUtil.generateId());
69     authInfo.setSystemType(systemType);
70     authInfo.setSystemName(emsRegisterInfo.getName());
71     authInfo.setVendor(emsRegisterInfo.getVendor());
72     authInfo.setVersion(emsRegisterInfo.getVersion());
73     return authInfo;
74   }
75   
76   private EsrSystemInfo getAuthInfoFromAlarmAddr(EmsRegisterInfo emsRegisterInfo) {
77     EsrSystemInfo authInfo = new EsrSystemInfo();
78     AlarmAddr alarmAddr = new AlarmAddr();
79     alarmAddr = emsRegisterInfo.getAlarmAddr();
80     authInfo.setEsrSystemInfoId(extsysUtil.generateId());
81     authInfo.setIpAddress(alarmAddr.getIp());
82     authInfo.setPort(alarmAddr.getPort());
83     authInfo.setUserName(alarmAddr.getUser());
84     authInfo.setPassword(alarmAddr.getPassword());
85     authInfo.setSystemType(SystemType.EMS_ALARM.toString());
86     authInfo.setSystemName(emsRegisterInfo.getName());
87     authInfo.setVendor(emsRegisterInfo.getVendor());
88     authInfo.setVersion(emsRegisterInfo.getVersion());
89     return authInfo;
90   }
91   
92   public EmsRegisterInfo EsrEms2EmsRegisterInfo(EsrEmsDetail esrEms) {
93     EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
94     ArrayList<EsrSystemInfo> esrSystemInfo = new ArrayList<EsrSystemInfo>();
95     EsrSystemInfo authInfo = new EsrSystemInfo();
96     esrSystemInfo = esrEms.getEsrSystemInfoList().getEsrSystemInfo();
97     emsRegisterInfo.setEmsId(esrEms.getEmsId());
98     
99     for(int i=0; i<esrSystemInfo.size(); i++) {
100       authInfo = esrSystemInfo.get(i);
101       if(authInfo.getSystemType().equals(SystemType.EMS_RESOUCE.toString())){
102         FtpAddr resourceAddr = new FtpAddr();
103         resourceAddr = getFtpAddrFromAuthInfo(authInfo);
104         emsRegisterInfo.setResourceAddr(resourceAddr);
105       } else if(authInfo.getSystemType().equals(SystemType.EMS_PERFORMANCE.toString())) {
106         FtpAddr performanceAddr = new FtpAddr();
107         performanceAddr = getFtpAddrFromAuthInfo(authInfo);
108         emsRegisterInfo.setPerformanceAddr(performanceAddr);
109       } else if(authInfo.getSystemType().equals(SystemType.EMS_ALARM.toString())) {
110         AlarmAddr alarmAddr = new AlarmAddr();
111         alarmAddr = getAlarmAddrFromAuthInfo(authInfo);
112         emsRegisterInfo.setAlarmAddr(alarmAddr);
113       }
114     }
115     emsRegisterInfo.setName(authInfo.getSystemName());
116     emsRegisterInfo.setVendor(authInfo.getVendor());
117     emsRegisterInfo.setVersion(authInfo.getVersion());
118     return emsRegisterInfo;
119   }
120   
121   private FtpAddr getFtpAddrFromAuthInfo(EsrSystemInfo authInfo) {
122     FtpAddr ftpAddr = new FtpAddr();
123     ftpAddr.setFtptype(authInfo.getType());
124     ftpAddr.setIp(authInfo.getIpAddress());
125     ftpAddr.setPassive(authInfo.getPassive());
126     ftpAddr.setPassword(authInfo.getPassword());
127     ftpAddr.setPort(authInfo.getPort());
128     ftpAddr.setRemotepath(authInfo.getRemotePath());
129     ftpAddr.setUser(authInfo.getUserName());
130     return ftpAddr;
131   }
132   
133   private AlarmAddr getAlarmAddrFromAuthInfo(EsrSystemInfo authInfo) {
134     AlarmAddr alarmAddr = new AlarmAddr();
135     alarmAddr.setIp(authInfo.getIpAddress());
136     alarmAddr.setPassword(authInfo.getPassword());
137     alarmAddr.setPort(authInfo.getPort());
138     alarmAddr.setUser(authInfo.getUserName());
139     return alarmAddr;
140   }
141 }