Fix sonar issues
[vfc/nfvo/driver/vnfm/svnfm.git] / nokiav2 / driver / src / main / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / nokia / onap / direct / notification / VnfcManager.java
index 8a4dbdd..bc31f4f 100644 (file)
  */
 package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.notification;
 
-import com.google.common.base.Splitter;
-import org.onap.aai.domain.yang.v11.RelationshipList;
-import org.onap.aai.domain.yang.v11.Vnfc;
+import io.reactivex.Observable;
+import java.util.ArrayList;
+import org.onap.aai.model.Vnfc;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.spring.Conditions;
-import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.CbamRestApiProvider;
 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.DriverProperties;
 import org.slf4j.Logger;
@@ -28,8 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.stereotype.Component;
 
-import static java.lang.String.format;
-import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.onap.direct.AAIRestApiProvider.AAIService.NETWORK;
 import static org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.util.CbamUtils.SEPARATOR;
 
 /**
@@ -45,15 +42,6 @@ public class VnfcManager extends AbstractManager {
         super(aaiRestApiProvider, cbamRestApiProvider, driverProperties);
     }
 
-    public static String buildUrl(String vnfId, String cbamVnfcId) {
-        return format("/vnfcs/vnfc/%s", buildId(vnfId, cbamVnfcId));
-    }
-
-    public static String getCbamVnfcId(String vnfcId) {
-        String vnfId = Splitter.on(CbamUtils.SEPARATOR).split(vnfcId).iterator().next();
-        return vnfcId.replaceFirst(vnfId + SEPARATOR, "");
-    }
-
     private static String buildId(String vnfId, String cbamVnfcId) {
         return vnfId + SEPARATOR + cbamVnfcId;
     }
@@ -64,16 +52,20 @@ public class VnfcManager extends AbstractManager {
     }
 
     void delete(String vnfId, com.nokia.cbam.lcm.v32.model.AffectedVnfc cbamVnfc) {
-        aaiRestApiProvider.delete(logger, NETWORK, buildUrl(vnfId, cbamVnfc.getId()));
+        Vnfc vnfc = getVnfc(buildId(vnfId, cbamVnfc.getId())).blockingFirst();
+        aaiRestApiProvider.getNetworkApi().deleteNetworkVnfcsVnfc(vnfc.getVnfcName(), vnfc.getResourceVersion()).blockingFirst();
+    }
+
+    private Observable<Vnfc> getVnfc(String vnfcId) {
+        return aaiRestApiProvider.getNetworkApi().getNetworkVnfcsVnfc(vnfcId, null, null, null, null, null, null, null, null, null);
     }
 
     void update(String vimId, String tenantId, String vnfId, com.nokia.cbam.lcm.v32.model.AffectedVnfc cbamVnfc, boolean inMaintenance) {
-        String url = buildUrl(vnfId, cbamVnfc.getId());
-        Vnfc vnfc = createOrGet(NETWORK, url, OBJECT_FACTORY.createVnfc());
-        updateFields(vimId, tenantId, vnfc, cbamVnfc, vnfId, url, inMaintenance);
+        Vnfc vnfc = createOrGet(getVnfc(buildId(vnfId, cbamVnfc.getId())), new Vnfc());
+        updateFields(vimId, tenantId, vnfc, cbamVnfc, vnfId, inMaintenance);
     }
 
-    private void updateFields(String vimId, String tenantId, Vnfc aaiVnfc, com.nokia.cbam.lcm.v32.model.AffectedVnfc cbamVnfc, String vnfId, String url, boolean inMaintenance) {
+    private void updateFields(String vimId, String tenantId, Vnfc aaiVnfc, com.nokia.cbam.lcm.v32.model.AffectedVnfc cbamVnfc, String vnfId, boolean inMaintenance) {
         aaiVnfc.setInMaint(inMaintenance);
         aaiVnfc.setIsClosedLoopDisabled(inMaintenance);
         //FIXME would be good to know what is this mandatory parameter
@@ -81,9 +73,11 @@ public class VnfcManager extends AbstractManager {
         //FIXME would be good to know what is this mandatory parameter
         aaiVnfc.setNfcNamingCode(cbamVnfc.getId());
         aaiVnfc.setVnfcName(buildId(vnfId, cbamVnfc.getId()));
-        aaiVnfc.setRelationshipList(new RelationshipList());
+        if (aaiVnfc.getRelationshipList() == null) {
+            aaiVnfc.setRelationshipList(new ArrayList<>());
+        }
         addSingletonRelation(aaiVnfc.getRelationshipList(), VserverManager.linkTo(vimId, tenantId, cbamVnfc.getComputeResource().getResourceId()));
         addSingletonRelation(aaiVnfc.getRelationshipList(), GenericVnfManager.linkTo(vnfId));
-        aaiRestApiProvider.put(logger, NETWORK, url, aaiVnfc, Void.class);
+        aaiRestApiProvider.getNetworkApi().createOrUpdateNetworkVnfcsVnfc(aaiVnfc.getVnfcName(), aaiVnfc).blockingFirst();
     }
 }
\ No newline at end of file