Realize the update EMS API. 23/13123/1
authorlizi00164331 <li.zi30@zte.com.cn>
Mon, 18 Sep 2017 11:49:29 +0000 (19:49 +0800)
committerlizi00164331 <li.zi30@zte.com.cn>
Mon, 18 Sep 2017 11:49:29 +0000 (19:49 +0800)
Change-Id: If8ad34360d9d0ea9213db33b0008931d3def293f
Issue-ID: AAI-323
Signed-off-by: lizi00164331 <li.zi30@zte.com.cn>
esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/EmsManagerWrapper.java

index 7897eb2..ba51f43 100644 (file)
@@ -124,7 +124,7 @@ public class EmsManager {
   public Response updateEms(@ApiParam(value = "ems", required = true) EmsRegisterInfo ems,
       @ApiParam(value = "ems id", required = true) @PathParam("emsId") String emsId) {
     LOGGER.info("start update ems .id:" + emsId + " info:" + ExtsysUtil.objectToString(ems));
-    return RestResponseUtil.getSuccessResponse(new EmsRegisterInfo());
+    return EmsManagerWrapper.getInstance().updateEms(ems, emsId);
   }
   
   /**
index f3ae511..36f7963 100644 (file)
@@ -24,6 +24,7 @@ import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy;
 import org.onap.aai.esr.util.EmsManagerUtil;
 import org.onap.aai.esr.entity.aai.EsrEmsDetail;
 import org.onap.aai.esr.entity.aai.EsrEmsList;
+import org.onap.aai.esr.entity.aai.EsrSystemInfo;
 import org.onap.aai.esr.entity.rest.CommonRegisterResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -61,9 +62,19 @@ public class EmsManagerWrapper {
     }
   }
 
-  public Response updateEms(EmsRegisterInfo ems) {
-    //TODO
-    return Response.ok().build();
+  public Response updateEms(EmsRegisterInfo emsRegisterInfo, String emsId) {
+    CommonRegisterResponse result = new CommonRegisterResponse();
+    EsrEmsDetail esrEmsDetail = new EsrEmsDetail();
+    esrEmsDetail = getNewEsrEmsDetail(emsRegisterInfo, emsId);
+    try {
+      ExternalSystemProxy.registerEms(emsId, esrEmsDetail);
+      result.setId(emsId);
+      return Response.ok(result).build();
+    } catch (Exception e) {
+      e.printStackTrace();
+      LOG.error("Update VNFM failed !" + e.getMessage());
+      return Response.serverError().build();
+    }
   }
   
   public Response queryEmsList() {
@@ -153,4 +164,35 @@ public class EmsManagerWrapper {
     }
     return esrEmsDetail;
   }
+  
+  private EsrEmsDetail getNewEsrEmsDetail(EmsRegisterInfo emsRegisterInfo, String emsId) {
+    EsrEmsDetail esrEmsDetail = new EsrEmsDetail();
+    ArrayList<EsrSystemInfo> newEsrSysInfoList = new ArrayList<EsrSystemInfo>();
+    EsrSystemInfo newEsrSystemInfo = new EsrSystemInfo();
+    EsrEmsDetail oriEsrEmsDetail = new EsrEmsDetail();
+    ArrayList<EsrSystemInfo> oriEsrSysInfoList = new ArrayList<EsrSystemInfo>();
+    EsrSystemInfo originalEsrSystemInfo = new EsrSystemInfo();
+    
+    oriEsrEmsDetail = queryEsrEmsDetail(emsId);
+    esrEmsDetail = EmsManagerUtil.emsRegisterInfo2EsrEms(emsRegisterInfo);
+    String emsResourceVersion = oriEsrEmsDetail.getResourceVersion();
+    esrEmsDetail.setResourceVersion(emsResourceVersion);
+    esrEmsDetail.setEmsId(emsId);
+    newEsrSysInfoList = esrEmsDetail.getEsrSystemInfoList().getEsrSystemInfo();
+    oriEsrSysInfoList = oriEsrEmsDetail.getEsrSystemInfoList().getEsrSystemInfo();
+    for (int i = 0; i < oriEsrSysInfoList.size(); i++) {
+      originalEsrSystemInfo = oriEsrSysInfoList.get(i);
+      for (int j = 0; j < newEsrSysInfoList.size(); j++) {
+        newEsrSystemInfo = newEsrSysInfoList.get(j);
+        if (originalEsrSystemInfo.getSystemType().equals(newEsrSystemInfo.getSystemType())) {
+          esrEmsDetail.getEsrSystemInfoList().getEsrSystemInfo().get(j)
+              .setResouceVersion(originalEsrSystemInfo.getResouceVersion());
+          esrEmsDetail.getEsrSystemInfoList().getEsrSystemInfo().get(j)
+              .setEsrSystemInfoId(originalEsrSystemInfo.getEsrSystemInfoId());
+          break;
+        }
+      }
+    }
+    return esrEmsDetail;
+  }
 }