X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fesr-server.git;a=blobdiff_plain;f=esr-mgr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fesr%2Fwrapper%2FPnfManagerWrapper.java;h=30d66ccb5e4f2cae35899a7c53e51059485296c4;hp=c017ebaca90994c1f42071bce30e8abf1785944f;hb=0836ecdc1d78e7fb3c5c8c9be5bd48c4d70e234f;hpb=d5eb2430bf0013b8be832eb02813c3844c0cef91 diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/PnfManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/PnfManagerWrapper.java index c017eba..30d66cc 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/PnfManagerWrapper.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/PnfManagerWrapper.java @@ -18,14 +18,13 @@ package org.onap.aai.esr.wrapper; import java.util.ArrayList; import java.util.List; import javax.ws.rs.core.Response; -import org.onap.aai.esr.entity.aai.EsrVnfmList; import org.onap.aai.esr.entity.aai.Pnf; import org.onap.aai.esr.entity.aai.PnfList; import org.onap.aai.esr.entity.rest.PnfRegisterInfo; -import org.onap.aai.esr.entity.rest.VnfmRegisterInfo; import org.onap.aai.esr.exception.ExceptionUtil; import org.onap.aai.esr.exception.ExtsysException; import org.onap.aai.esr.externalservice.aai.NetworkProxy; +import org.onap.aai.esr.util.ExtsysUtil; import org.onap.aai.esr.util.PnfManagerUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +37,7 @@ public class PnfManagerWrapper { private static PnfManagerUtil pnfManagerUtil = new PnfManagerUtil(); private static NetworkProxy networkProxy = new NetworkProxy(); + ExtsysUtil extsysUtil = new ExtsysUtil(); /** * get PnfManagerWrapper instance. * @@ -114,8 +114,32 @@ public class PnfManagerWrapper { * @return */ public Response delPnf(String pnfId) { - // TODO Auto-generated method stub - return null; + String resourceVersion = getResourceVersion(pnfId); + try { + networkProxy.deletePnf(pnfId, resourceVersion); + return Response.noContent().build(); + } catch (ExtsysException e) { + LOG.error("Delete PNF from A&AI failed! PNF ID: " + pnfId + "resouce-version:" + resourceVersion, e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } + } + + /** + * @param pnfId + * @return + */ + private String getResourceVersion(String pnfId) { + String resourceVersion = null; + try { + String pnfStr = networkProxy.queryPNF(pnfId); + Pnf pnf = new Gson().fromJson(pnfStr, Pnf.class); + if (pnf != null && pnf.getResourceVersion() != null) { + resourceVersion = pnf.getResourceVersion(); + } + } catch (ExtsysException e) { + LOG.error("Query PNF detail failed! PNF ID: " + pnfId, e); + } + return resourceVersion; } /** @@ -123,9 +147,17 @@ public class PnfManagerWrapper { * @param pnfId * @return */ - public Response updatePnf(PnfRegisterInfo pnf, String pnfId) { - // TODO Auto-generated method stub - return null; + public Response updatePnf(PnfRegisterInfo pnfRegisterInfo, String pnfId) { + String resourceVersion = getResourceVersion(pnfId); + Pnf pnf = pnfManagerUtil.pnfRegisterInfo2pnf(pnfRegisterInfo); + pnf.setResourceVersion(resourceVersion); + try { + networkProxy.registerPnf(pnfId, pnf); + return Response.ok().build(); + } catch (ExtsysException e) { + LOG.error("Update PNF failed !", e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } } /** @@ -133,7 +165,9 @@ public class PnfManagerWrapper { * @return */ public Response registerPnf(PnfRegisterInfo pnfRegisterInfo) { + LOG.info("Register PNF with ESR, register info: " + extsysUtil.objectToString(pnfRegisterInfo)); Pnf pnf = pnfManagerUtil.pnfRegisterInfo2pnf(pnfRegisterInfo); + LOG.info("Register PNF with AAI, register info: " + extsysUtil.objectToString(pnf)); String pnfName = pnf.getPnfName(); try { networkProxy.registerPnf(pnfName, pnf);