From 0836ecdc1d78e7fb3c5c8c9be5bd48c4d70e234f Mon Sep 17 00:00:00 2001 From: Li Zi Date: Wed, 22 Aug 2018 06:31:00 +0000 Subject: [PATCH] Fix the nullpointer error when register PNF Issue-ID: AAI-1496 Change-Id: I2fac156cb35e0a2306abac104a11581f9e363b71 Signed-off-by: Li Zi --- .../externalservice/aai/PnfRegisterProvider.java | 35 +++++++++++++++++++++- .../java/org/onap/aai/esr/util/PnfManagerUtil.java | 1 + .../onap/aai/esr/wrapper/PnfManagerWrapper.java | 4 +++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/PnfRegisterProvider.java b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/PnfRegisterProvider.java index 596f062..ec83cc6 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/PnfRegisterProvider.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/PnfRegisterProvider.java @@ -15,6 +15,39 @@ */ package org.onap.aai.esr.externalservice.aai; -public class PnfRegisterProvider { +import java.io.IOException; +import java.io.OutputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import javax.ws.rs.WebApplicationException; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.MessageBodyWriter; +import org.onap.aai.esr.entity.aai.Pnf; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.google.gson.Gson; +public class PnfRegisterProvider implements MessageBodyWriter { + private static final Logger logger = LoggerFactory.getLogger(PnfRegisterProvider.class); + + @Override + public boolean isWriteable(Class type, Type genericType, Annotation[] annotations, MediaType mediaType) { + return Pnf.class.isAssignableFrom(type); + } + + @Override + public long getSize(Pnf t, Class type, Type genericType, Annotation[] annotations, + MediaType mediaType) { + return -1; + } + + @Override + public void writeTo(Pnf t, Class type, Type genericType, Annotation[] annotations, MediaType mediaType, + MultivaluedMap httpHeaders, OutputStream entityStream) + throws IOException, WebApplicationException { + String json = new Gson().toJson(t, Pnf.class); + logger.info("the param to register PNF input is:" + json); + entityStream.write(json.getBytes("UTF-8")); + } } diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/util/PnfManagerUtil.java b/esr-mgr/src/main/java/org/onap/aai/esr/util/PnfManagerUtil.java index bb9b47e..20b9bdc 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/util/PnfManagerUtil.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/util/PnfManagerUtil.java @@ -28,6 +28,7 @@ public class PnfManagerUtil { Pnf pnf = new Pnf(); pnf.setPnfName(pnfRegisterInfo.getPnfId()); pnf.setPnfName2(pnfRegisterInfo.getUserLabel()); + pnf.setInMaint(false); String pnfId = pnfRegisterInfo.getSubnetId() + "-" +pnfRegisterInfo.getNeId(); pnf.setPnfId(pnfId); pnf.setEquipType(pnfRegisterInfo.getManagementType()); 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 7b5cf29..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 @@ -24,6 +24,7 @@ import org.onap.aai.esr.entity.rest.PnfRegisterInfo; 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; @@ -36,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. * @@ -163,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); -- 2.16.6