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;
}
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) {
}
}
- 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<ModuleReference> moduleReferencesFromCmHandle =
toModuleReferences(dmiModelOperations.getModuleReferences(persistenceCmHandle));
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;
}