X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Fimpl%2FNetworkCmProxyDataServiceImpl.java;h=62a0922d03246e9394d5ffacf005f775f6b51b3a;hb=3aeb338680572b151e88c4065a541fc859f585be;hp=fb929a234579427951aab1208a0b7723c1ed7238;hpb=7c483c72e3643abb0d425f0092c15310c5359276;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java index fb929a234..62a0922d0 100755 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/NetworkCmProxyDataServiceImpl.java @@ -24,6 +24,7 @@ package org.onap.cps.ncmp.api.impl; import static org.onap.cps.ncmp.api.impl.operations.DmiRequestBody.OperationEnum; +import static org.onap.cps.spi.CascadeDeleteAllowed.CASCADE_DELETE_ALLOWED; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -289,13 +290,14 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService } protected void syncModulesAndCreateAnchor(final PersistenceCmHandle persistenceCmHandle) { - fetchAndSyncModules(persistenceCmHandle); + syncAndCreateSchemaSet(persistenceCmHandle); createAnchor(persistenceCmHandle); } private void parseAndRemoveCmHandlesInDmiRegistration(final DmiPluginRegistration dmiPluginRegistration) { for (final String cmHandle : dmiPluginRegistration.getRemovedCmHandles()) { try { + attemptToDeleteSchemaSetWithCascade(cmHandle); cpsDataService.deleteListOrListElement(NCMP_DATASPACE_NAME, NCMP_DMI_REGISTRY_ANCHOR, "/dmi-registry/cm-handles[@id='" + cmHandle + "']", NO_TIMESTAMP); } catch (final DataNodeNotFoundException e) { @@ -304,7 +306,16 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService } } - private void fetchAndSyncModules(final PersistenceCmHandle persistenceCmHandle) { + 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 moduleReferencesFromCmHandle = toModuleReferences(dmiModelOperations.getModuleReferences(persistenceCmHandle)); @@ -365,12 +376,7 @@ public class NetworkCmProxyDataServiceImpl implements NetworkCmProxyDataService final YangResource yangResource = new YangResource(); yangResource.setModuleName(yangResourceAsJson.get("moduleName").getAsString()); yangResource.setRevision(yangResourceAsJson.get("revision").getAsString()); - final String yangSourceJson = yangResourceAsJson.get("yangSource").getAsString(); - - String yangSource = JsonUtils.removeWrappingTokens(yangSourceJson); - yangSource = JsonUtils.removeRedundantEscapeCharacters(yangSource); - yangResource.setYangSource(yangSource); - + yangResource.setYangSource(yangResourceAsJson.get("yangSource").getAsString()); return yangResource; }