Merge "Changing putOperationWithJson to postOperationWithJson"
authorToine Siebelink <toine.siebelink@est.tech>
Tue, 14 Dec 2021 16:23:49 +0000 (16:23 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 14 Dec 2021 16:23:49 +0000 (16:23 +0000)
1  2 
cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java

@@@ -28,10 -28,6 +28,6 @@@ import static org.onap.cps.spi.CascadeD
  
  import com.fasterxml.jackson.core.JsonProcessingException;
  import com.fasterxml.jackson.databind.ObjectMapper;
- import com.google.gson.Gson;
- import com.google.gson.JsonArray;
- import com.google.gson.JsonElement;
- import com.google.gson.JsonObject;
  import java.time.OffsetDateTime;
  import java.util.ArrayList;
  import java.util.Collection;
@@@ -52,7 -48,6 +48,6 @@@ import org.onap.cps.ncmp.api.models.CmH
  import org.onap.cps.ncmp.api.models.DmiPluginRegistration;
  import org.onap.cps.ncmp.api.models.PersistenceCmHandle;
  import org.onap.cps.ncmp.api.models.PersistenceCmHandlesList;
- import org.onap.cps.ncmp.api.models.YangResource;
  import org.onap.cps.spi.FetchDescendantsOption;
  import org.onap.cps.spi.exceptions.DataNodeNotFoundException;
  import org.onap.cps.spi.exceptions.DataValidationException;
@@@ -297,7 -292,8 +292,7 @@@ public class NetworkCmProxyDataServiceI
      private void parseAndRemoveCmHandlesInDmiRegistration(final DmiPluginRegistration dmiPluginRegistration) {
          for (final String cmHandle : dmiPluginRegistration.getRemovedCmHandles()) {
              try {
 -                cpsModuleService.deleteSchemaSet(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, cmHandle,
 -                    CASCADE_DELETE_ALLOWED);
 +                attemptToDeleteSchemaSetWithCascade(cmHandle);
                  cpsDataService.deleteListOrListElement(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR,
                      "/dmi-registry/cm-handles[@id='" + cmHandle + "']", NO_TIMESTAMP);
              } catch (final DataNodeNotFoundException e) {
          }
      }
  
 +    private void attemptToDeleteSchemaSetWithCascade(final String schemaSetName) {
 +        try {
 +            cpsModuleService.deleteSchemaSet(NFP_OPERATIONAL_DATASTORE_DATASPACE_NAME, schemaSetName,
 +                CASCADE_DELETE_ALLOWED);
 +        } catch (final Exception e) {
 +            log.warn("Schema set {} delete failed, reason {}", schemaSetName, e.getMessage());
 +        }
 +    }
 +
      private void syncAndCreateSchemaSet(final PersistenceCmHandle persistenceCmHandle) {
          final List<ModuleReference> moduleReferencesFromCmHandle =
-             toModuleReferences(dmiModelOperations.getModuleReferences(persistenceCmHandle));
+             dmiModelOperations.getModuleReferences(persistenceCmHandle);
          final List<ModuleReference> existingModuleReferences = new ArrayList<>();
          final List<ModuleReference> unknownModuleReferences = new ArrayList<>();
          prepareModuleSubsets(moduleReferencesFromCmHandle, existingModuleReferences, unknownModuleReferences);
          if (unknownModuleReferences.isEmpty()) {
              newYangResourcesModuleNameToContentMap = new HashMap<>();
          } else {
-             newYangResourcesModuleNameToContentMap = getNewYangResourcesFromDmi(persistenceCmHandle,
+             newYangResourcesModuleNameToContentMap = dmiModelOperations.getNewYangResourcesFromDmi(persistenceCmHandle,
                  unknownModuleReferences);
          }
          cpsModuleService
              persistenceCmHandle.getId());
      }
  
-     private Map<String, String> getNewYangResourcesFromDmi(final PersistenceCmHandle persistenceCmHandle,
-                                                            final List<ModuleReference> unknownModuleReferences) {
-         final ResponseEntity<String> responseEntity =
-             dmiModelOperations.getNewYangResourcesFromDmi(persistenceCmHandle, unknownModuleReferences);
-         final JsonArray moduleResources = new Gson().fromJson(responseEntity.getBody(),
-             JsonArray.class);
-         final Map<String, String> newYangResourcesModuleNameToContentMap = new HashMap<>();
-         for (final JsonElement moduleResource : moduleResources) {
-             final YangResource yangResource = toYangResource((JsonObject) moduleResource);
-             newYangResourcesModuleNameToContentMap.put(yangResource.getModuleName(), yangResource.getYangSource());
-         }
-         return newYangResourcesModuleNameToContentMap;
-     }
-     private static YangResource toYangResource(final JsonObject yangResourceAsJson) {
-         final YangResource yangResource = new YangResource();
-         yangResource.setModuleName(yangResourceAsJson.get("moduleName").getAsString());
-         yangResource.setRevision(yangResourceAsJson.get("revision").getAsString());
-         yangResource.setYangSource(yangResourceAsJson.get("yangSource").getAsString());
-         return yangResource;
-     }
  
-     private static List<ModuleReference> toModuleReferences(
-             final ResponseEntity<String> dmiFetchModulesResponseEntity) {
-         final List<ModuleReference> moduleReferences = new ArrayList<>();
-         final JsonObject bodyAsJsonObject = new Gson().fromJson(dmiFetchModulesResponseEntity.getBody(),
-             JsonObject.class);
-         final JsonArray moduleReferencesAsJson = bodyAsJsonObject.getAsJsonArray("schemas");
-         for (final JsonElement moduleReferenceAsJson : moduleReferencesAsJson) {
-             final ModuleReference moduleReference = toModuleReference((JsonObject) moduleReferenceAsJson);
-             moduleReferences.add(moduleReference);
-         }
-         return moduleReferences;
-     }
  
-     private static ModuleReference toModuleReference(final JsonObject moduleReferenceAsJson) {
-         final ModuleReference moduleReference = new ModuleReference();
-         moduleReference.setModuleName(moduleReferenceAsJson.get("moduleName").getAsString());
-         moduleReference.setRevision(moduleReferenceAsJson.get("revision").getAsString());
-         return moduleReference;
-     }
  }