X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=esr-mgr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fesr%2Fwrapper%2FVnfmManagerWrapper.java;h=512737175e0a06856e2d9d554efcb8c4134bde19;hb=66596a09241e9548bb2a286f2341705a3ddf26f2;hp=755fcf66f503a97020edd7bc120bdb48e1c81357;hpb=9fccad8f53ef43026a8632bfb6eabc32849a8c46;p=aai%2Fesr-server.git diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java index 755fcf6..5127371 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java @@ -19,14 +19,20 @@ import java.util.ArrayList; import javax.ws.rs.core.Response; +import org.onap.aai.esr.entity.aai.EsrVnfmDetail; +import org.onap.aai.esr.entity.aai.EsrVnfmList; import org.onap.aai.esr.entity.rest.CommonRegisterResponse; import org.onap.aai.esr.entity.rest.VnfmRegisterInfo; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; +import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy; +import org.onap.aai.esr.util.VnfmManagerUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; public class VnfmManagerWrapper { private static VnfmManagerWrapper vnfmManagerWrapper; -// private static final Logger LOG = LoggerFactory.getLogger(VnfmManagerWrapper.class); + private static final Logger LOG = LoggerFactory.getLogger(VnfmManagerWrapper.class); /** * get VnfmManagerWrapper instance. @@ -40,9 +46,18 @@ public class VnfmManagerWrapper { } public Response registerVnfm(VnfmRegisterInfo vnfm) { - //TODO - CommonRegisterResponse result = null; - return Response.ok(result).build(); + CommonRegisterResponse result = new CommonRegisterResponse(); + EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail(); + esrVnfmDetail = VnfmManagerUtil.vnfmRegisterInfo2EsrVnfm(vnfm); + String vnfmId = esrVnfmDetail.getVnfmId(); + try { + ExternalSystemProxy.registerVnfm(vnfmId, esrVnfmDetail); + result.setId(vnfmId); + return Response.ok(result).build(); + } catch (Exception e) { + LOG.error("Register VNFM failed !" + e.getMessage()); + return Response.serverError().build(); + } } public Response updateVnfm(VnfmRegisterInfo vnfm, String vnfmId) { @@ -52,18 +67,59 @@ public class VnfmManagerWrapper { public Response queryVnfmList() { ArrayList vnfmList = new ArrayList(); - //TODO - return Response.ok(vnfmList).build(); + EsrVnfmList esrVnfm = new EsrVnfmList(); + try { + String esrVnfmStr = ExternalSystemProxy.queryVnfmList(); + esrVnfm = new Gson().fromJson(esrVnfmStr, EsrVnfmList.class); + vnfmList = getVnfmDetailList(esrVnfm); + return Response.ok(vnfmList).build(); + } catch (Exception e) { + LOG.error("Query VNFM list failed !"); + return Response.serverError().build(); + } + } public Response queryVnfmById(String vnfmId) { VnfmRegisterInfo vnfm = new VnfmRegisterInfo(); - //TODO - return Response.ok(vnfm).build(); + vnfm = queryVnfmDetail(vnfmId); + if (vnfm != null) { + return Response.ok(vnfm).build(); + } else { + return Response.serverError().build(); + } } public Response delVnfm(String vnfmId) { //TODO return Response.noContent().build(); } + + private VnfmRegisterInfo queryVnfmDetail(String vnfmId) { + VnfmRegisterInfo vnfm = new VnfmRegisterInfo(); + EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail(); + try { + String esrVnfmstr = ExternalSystemProxy.queryVnfmDetail(vnfmId); + LOG.info("Response from AAI by query VNFM: " + esrVnfmstr); + esrVnfmDetail = new Gson().fromJson(esrVnfmstr, EsrVnfmDetail.class); + vnfm = VnfmManagerUtil.esrVnfm2VnfmRegisterInfo(esrVnfmDetail); + return vnfm; + } catch (Exception e) { + LOG.error("Query VNFM detail failed! VNFM ID: " + vnfmId, e.getMessage()); + return null; + } + } + + private ArrayList getVnfmDetailList(EsrVnfmList esrVnfm) { + ArrayList vnfmInfoList = new ArrayList(); + VnfmRegisterInfo vnfmInfo = new VnfmRegisterInfo(); + for (int i=0; i