Add the EMS data transformation function.
[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.AuthInfo;
22 import org.onap.aai.esr.entity.aai.EsrEms;
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 EsrEms emsRegisterInfo2EsrEms(EmsRegisterInfo emsRegisterInfo) {
30     EsrEms esrEms = new EsrEms();
31     esrEms.setEmsId(ExtsysUtil.generateId());
32     ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
33     authInfos = getAuthInfosFromRegisterData(emsRegisterInfo);
34     esrEms.setEsrSystemInfoList(ExtsysUtil.getEsrSystemInfoListFromAuthInfoList(authInfos));
35     return esrEms;
36   }
37
38   private static ArrayList<AuthInfo> getAuthInfosFromRegisterData(EmsRegisterInfo emsRegisterInfo) {
39     ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
40     AuthInfo resouceAuthInfo = new AuthInfo();
41     AuthInfo performanceAuthInfo = new AuthInfo();
42     AuthInfo alarmAuthInfo = new AuthInfo();
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 AuthInfo getAuthInfoFromFtpAddr(EmsRegisterInfo emsRegisterInfo, String systemType) {
53     AuthInfo authInfo = new AuthInfo();
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 AuthInfo getAuthInfoFromAlarmAddr(EmsRegisterInfo emsRegisterInfo) {
76     AuthInfo authInfo = new AuthInfo();
77     AlarmAddr alarmAddr = new AlarmAddr();
78     alarmAddr = emsRegisterInfo.getAlarmAddr();
79     authInfo.setIpAddress(alarmAddr.getIp());
80     authInfo.setPort(alarmAddr.getPort());
81     authInfo.setUserName(alarmAddr.getUser());
82     authInfo.setPassword(alarmAddr.getPassword());
83     authInfo.setSystemType(SystemType.EMS_ALARM.toString());
84     authInfo.setSystemName(emsRegisterInfo.getName());
85     authInfo.setVendor(emsRegisterInfo.getVendor());
86     authInfo.setVersion(emsRegisterInfo.getVersion());
87     return authInfo;
88   }
89   
90   public static EmsRegisterInfo EsrEms2EmsRegisterInfo(EsrEms esrEms) {
91     EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
92     ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
93     AuthInfo authInfo = new AuthInfo();
94     authInfos = esrEms.getEsrSystemInfoList().getEsrSystemInfo().getEsrSystemInfo();
95     emsRegisterInfo.setEmsId(esrEms.getEmsId());
96     
97     for(int i=0; i<authInfos.size(); i++) {
98       authInfo = authInfos.get(i);
99       if(authInfo.getSystemType().equals(SystemType.EMS_RESOUCE.toString())){
100         FtpAddr resourceAddr = new FtpAddr();
101         resourceAddr = getFtpAddrFromAuthInfo(authInfo);
102         emsRegisterInfo.setResourceAddr(resourceAddr);
103       } else if(authInfo.getSystemType().equals(SystemType.EMS_PERFORMANCE.toString())) {
104         FtpAddr performanceAddr = new FtpAddr();
105         performanceAddr = getFtpAddrFromAuthInfo(authInfo);
106         emsRegisterInfo.setResourceAddr(performanceAddr);
107       } else if(authInfo.getSystemType().equals(SystemType.EMS_ALARM.toString())) {
108         AlarmAddr alarmAddr = new AlarmAddr();
109         alarmAddr = getAlarmAddrFromAuthInfo(authInfo);
110         emsRegisterInfo.setAlarmAddr(alarmAddr);
111       }
112     }
113     emsRegisterInfo.setName(authInfo.getSystemName());
114     emsRegisterInfo.setVendor(authInfo.getVendor());
115     emsRegisterInfo.setVersion(authInfo.getVersion());
116     return emsRegisterInfo;
117   }
118   
119   private static FtpAddr getFtpAddrFromAuthInfo(AuthInfo authInfo) {
120     FtpAddr ftpAddr = new FtpAddr();
121     ftpAddr.setFtptype(authInfo.getType());
122     ftpAddr.setIp(authInfo.getIpAddress());
123     ftpAddr.setPassive(authInfo.getPassive());
124     ftpAddr.setPassword(authInfo.getPassword());
125     ftpAddr.setPort(authInfo.getPort());
126     ftpAddr.setRemotepath(authInfo.getRemotePath());
127     ftpAddr.setUser(authInfo.getUserName());
128     return ftpAddr;
129   }
130   
131   private static AlarmAddr getAlarmAddrFromAuthInfo(AuthInfo authInfo) {
132     AlarmAddr alarmAddr = new AlarmAddr();
133     alarmAddr.setIp(authInfo.getIpAddress());
134     alarmAddr.setPassword(authInfo.getPassword());
135     alarmAddr.setPort(authInfo.getPort());
136     alarmAddr.setUser(authInfo.getUserName());
137     return alarmAddr;
138   }
139 }