Realize the delete PNF list API. 31/61431/1
authorZi Li <li.zi30@zte.com.cn>
Tue, 21 Aug 2018 03:18:38 +0000 (03:18 +0000)
committerZi Li <li.zi30@zte.com.cn>
Tue, 21 Aug 2018 03:18:45 +0000 (03:18 +0000)
Issue-ID: AAI-1499

Change-Id: I443d9bb7459058b7387d2170d5e43530de1efece
Signed-off-by: Zi Li <li.zi30@zte.com.cn>
esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/NetworkProxy.java
esr-mgr/src/main/java/org/onap/aai/esr/wrapper/PnfManagerWrapper.java
esr-mgr/src/test/java/org/onap/aai/esr/wrapper/PnfManagerWrapperTest.java

index 42ee079..c891d19 100644 (file)
@@ -59,4 +59,12 @@ public class NetworkProxy {
             throw new ExtsysException("Query PNF List from A&AI failed.", e);
         }
     }
             throw new ExtsysException("Query PNF List from A&AI failed.", e);
         }
     }
+    
+    public void deletePnf(String pnfId, String resourceVersion) throws ExtsysException {
+        try {
+            network.deletePNF(transactionId, fromAppId, authorization, pnfId, resourceVersion);
+        } catch (Exception e) {
+            throw new ExtsysException("Delete PNF from A&AI failed.", e);
+        }
+    }
 }
 }
index c017eba..0683769 100644 (file)
@@ -18,11 +18,9 @@ package org.onap.aai.esr.wrapper;
 import java.util.ArrayList;
 import java.util.List;
 import javax.ws.rs.core.Response;
 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.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.exception.ExceptionUtil;
 import org.onap.aai.esr.exception.ExtsysException;
 import org.onap.aai.esr.externalservice.aai.NetworkProxy;
@@ -114,8 +112,32 @@ public class PnfManagerWrapper {
      * @return
      */
     public Response delPnf(String pnfId) {
      * @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;
     }
 
     /**
     }
 
     /**
index 038e275..aa6a364 100644 (file)
@@ -25,9 +25,7 @@ import org.mockito.Mockito;
 import org.onap.aai.esr.common.MsbConfig;
 import org.onap.aai.esr.entity.aai.Pnf;
 import org.onap.aai.esr.entity.rest.PnfRegisterInfo;
 import org.onap.aai.esr.common.MsbConfig;
 import org.onap.aai.esr.entity.aai.Pnf;
 import org.onap.aai.esr.entity.rest.PnfRegisterInfo;
-import org.onap.aai.esr.entity.rest.VnfmRegisterInfo;
 import org.onap.aai.esr.exception.ExtsysException;
 import org.onap.aai.esr.exception.ExtsysException;
-import org.onap.aai.esr.externalservice.aai.ExternalSystemProxy;
 import org.onap.aai.esr.externalservice.aai.NetworkProxy;
 import org.onap.aai.esr.util.ExtsysUtil;
 
 import org.onap.aai.esr.externalservice.aai.NetworkProxy;
 import org.onap.aai.esr.util.ExtsysUtil;
 
@@ -126,4 +124,15 @@ public class PnfManagerWrapperTest {
             assertEquals(extsysUtil.objectToString(esrPnfList), extsysUtil.objectToString(response.getEntity()));
         }
     }
             assertEquals(extsysUtil.objectToString(esrPnfList), extsysUtil.objectToString(response.getEntity()));
         }
     }
+    
+    @Test
+    public void test_delPnf() throws ExtsysException {
+        NetworkProxy mockNetworkProxy = Mockito.mock(NetworkProxy.class);
+        Mockito.doNothing().when(mockNetworkProxy).deletePnf(Mockito.anyString(), Mockito.anyString());
+        PnfManagerWrapper pnfManagerWrapper = new PnfManagerWrapper(mockNetworkProxy);
+        Response response = pnfManagerWrapper.delPnf("pnf1");
+        if (response != null) {
+            Assert.assertTrue(response.getStatus() == 204);
+        }
+    }
 }
 }