Add the EMS data transformation function.
[aai/esr-server.git] / esr-mgr / src / main / java / org / onap / aai / esr / util / EmsManagerUtil.java
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/util/EmsManagerUtil.java b/esr-mgr/src/main/java/org/onap/aai/esr/util/EmsManagerUtil.java
new file mode 100644 (file)
index 0000000..decd2da
--- /dev/null
@@ -0,0 +1,139 @@
+/**
+ * Copyright 2017 ZTE Corporation.
+ *
+ * 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.aai.esr.util;
+
+import java.util.ArrayList;
+
+import org.onap.aai.esr.common.SystemType;
+import org.onap.aai.esr.entity.aai.AuthInfo;
+import org.onap.aai.esr.entity.aai.EsrEms;
+import org.onap.aai.esr.entity.rest.AlarmAddr;
+import org.onap.aai.esr.entity.rest.EmsRegisterInfo;
+import org.onap.aai.esr.entity.rest.FtpAddr;
+
+public class EmsManagerUtil {
+  
+  public static EsrEms emsRegisterInfo2EsrEms(EmsRegisterInfo emsRegisterInfo) {
+    EsrEms esrEms = new EsrEms();
+    esrEms.setEmsId(ExtsysUtil.generateId());
+    ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
+    authInfos = getAuthInfosFromRegisterData(emsRegisterInfo);
+    esrEms.setEsrSystemInfoList(ExtsysUtil.getEsrSystemInfoListFromAuthInfoList(authInfos));
+    return esrEms;
+  }
+
+  private static ArrayList<AuthInfo> getAuthInfosFromRegisterData(EmsRegisterInfo emsRegisterInfo) {
+    ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
+    AuthInfo resouceAuthInfo = new AuthInfo();
+    AuthInfo performanceAuthInfo = new AuthInfo();
+    AuthInfo alarmAuthInfo = new AuthInfo();
+    resouceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_RESOUCE.toString());
+    performanceAuthInfo = getAuthInfoFromFtpAddr(emsRegisterInfo, SystemType.EMS_PERFORMANCE.toString());
+    alarmAuthInfo = getAuthInfoFromAlarmAddr(emsRegisterInfo);
+    authInfos.add(resouceAuthInfo);
+    authInfos.add(performanceAuthInfo);
+    authInfos.add(alarmAuthInfo);
+    return authInfos;
+  }
+  
+  private static AuthInfo getAuthInfoFromFtpAddr(EmsRegisterInfo emsRegisterInfo, String systemType) {
+    AuthInfo authInfo = new AuthInfo();
+    FtpAddr ftpAddr = new FtpAddr();
+    if(systemType.equals(SystemType.EMS_RESOUCE.toString())) {
+      ftpAddr = emsRegisterInfo.getResourceAddr();
+    } else if(systemType.equals(SystemType.EMS_PERFORMANCE.toString())) {
+      ftpAddr = emsRegisterInfo.getPerformanceAddr();
+    }
+    authInfo.setType(ftpAddr.getFtptype());
+    authInfo.setIpAddress(ftpAddr.getIp());
+    authInfo.setPort(ftpAddr.getPort());
+    authInfo.setUserName(ftpAddr.getUser());
+    authInfo.setPassword(ftpAddr.getPassword());
+    authInfo.setRemotePath(ftpAddr.getRemotepath());
+    authInfo.setPassive(ftpAddr.getPassive());
+    authInfo.setEsrSystemInfoId(ExtsysUtil.generateId());
+    authInfo.setSystemType(systemType);
+    authInfo.setSystemName(emsRegisterInfo.getName());
+    authInfo.setVendor(emsRegisterInfo.getVendor());
+    authInfo.setVersion(emsRegisterInfo.getVersion());
+    return authInfo;
+  }
+  
+  private static AuthInfo getAuthInfoFromAlarmAddr(EmsRegisterInfo emsRegisterInfo) {
+    AuthInfo authInfo = new AuthInfo();
+    AlarmAddr alarmAddr = new AlarmAddr();
+    alarmAddr = emsRegisterInfo.getAlarmAddr();
+    authInfo.setIpAddress(alarmAddr.getIp());
+    authInfo.setPort(alarmAddr.getPort());
+    authInfo.setUserName(alarmAddr.getUser());
+    authInfo.setPassword(alarmAddr.getPassword());
+    authInfo.setSystemType(SystemType.EMS_ALARM.toString());
+    authInfo.setSystemName(emsRegisterInfo.getName());
+    authInfo.setVendor(emsRegisterInfo.getVendor());
+    authInfo.setVersion(emsRegisterInfo.getVersion());
+    return authInfo;
+  }
+  
+  public static EmsRegisterInfo EsrEms2EmsRegisterInfo(EsrEms esrEms) {
+    EmsRegisterInfo emsRegisterInfo = new EmsRegisterInfo();
+    ArrayList<AuthInfo> authInfos = new ArrayList<AuthInfo>();
+    AuthInfo authInfo = new AuthInfo();
+    authInfos = esrEms.getEsrSystemInfoList().getEsrSystemInfo().getEsrSystemInfo();
+    emsRegisterInfo.setEmsId(esrEms.getEmsId());
+    
+    for(int i=0; i<authInfos.size(); i++) {
+      authInfo = authInfos.get(i);
+      if(authInfo.getSystemType().equals(SystemType.EMS_RESOUCE.toString())){
+        FtpAddr resourceAddr = new FtpAddr();
+        resourceAddr = getFtpAddrFromAuthInfo(authInfo);
+        emsRegisterInfo.setResourceAddr(resourceAddr);
+      } else if(authInfo.getSystemType().equals(SystemType.EMS_PERFORMANCE.toString())) {
+        FtpAddr performanceAddr = new FtpAddr();
+        performanceAddr = getFtpAddrFromAuthInfo(authInfo);
+        emsRegisterInfo.setResourceAddr(performanceAddr);
+      } else if(authInfo.getSystemType().equals(SystemType.EMS_ALARM.toString())) {
+        AlarmAddr alarmAddr = new AlarmAddr();
+        alarmAddr = getAlarmAddrFromAuthInfo(authInfo);
+        emsRegisterInfo.setAlarmAddr(alarmAddr);
+      }
+    }
+    emsRegisterInfo.setName(authInfo.getSystemName());
+    emsRegisterInfo.setVendor(authInfo.getVendor());
+    emsRegisterInfo.setVersion(authInfo.getVersion());
+    return emsRegisterInfo;
+  }
+  
+  private static FtpAddr getFtpAddrFromAuthInfo(AuthInfo authInfo) {
+    FtpAddr ftpAddr = new FtpAddr();
+    ftpAddr.setFtptype(authInfo.getType());
+    ftpAddr.setIp(authInfo.getIpAddress());
+    ftpAddr.setPassive(authInfo.getPassive());
+    ftpAddr.setPassword(authInfo.getPassword());
+    ftpAddr.setPort(authInfo.getPort());
+    ftpAddr.setRemotepath(authInfo.getRemotePath());
+    ftpAddr.setUser(authInfo.getUserName());
+    return ftpAddr;
+  }
+  
+  private static AlarmAddr getAlarmAddrFromAuthInfo(AuthInfo authInfo) {
+    AlarmAddr alarmAddr = new AlarmAddr();
+    alarmAddr.setIp(authInfo.getIpAddress());
+    alarmAddr.setPassword(authInfo.getPassword());
+    alarmAddr.setPort(authInfo.getPort());
+    alarmAddr.setUser(authInfo.getUserName());
+    return alarmAddr;
+  }
+}