X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Finit%2FAbstractModelLoader.java;h=a3ebec3c541439a48c6961ddabd8d07e436b5970;hb=83433140bac9358aef50036081d1f7079ac10c01;hp=cb2e15a3cebe47aad39bab99a90c0b825b03b6db;hpb=c1183d7d14f1257b5dfa3dc67fa2f0814d1f4598;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/AbstractModelLoader.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/AbstractModelLoader.java index cb2e15a3c..a3ebec3c5 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/AbstractModelLoader.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/init/AbstractModelLoader.java @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2023 Nordix Foundation + * Copyright (C) 2023-2024 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,12 +24,14 @@ import com.fasterxml.jackson.databind.ObjectMapper; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.time.OffsetDateTime; +import java.util.HashMap; import java.util.Map; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.onap.cps.api.CpsAdminService; +import org.onap.cps.api.CpsAnchorService; import org.onap.cps.api.CpsDataService; +import org.onap.cps.api.CpsDataspaceService; import org.onap.cps.api.CpsModuleService; import org.onap.cps.ncmp.api.impl.exception.NcmpStartUpException; import org.onap.cps.spi.CascadeDeleteAllowed; @@ -43,9 +45,10 @@ import org.springframework.boot.context.event.ApplicationReadyEvent; @RequiredArgsConstructor abstract class AbstractModelLoader implements ModelLoader { - private final CpsAdminService cpsAdminService; + private final CpsDataspaceService cpsDataspaceService; private final CpsModuleService cpsModuleService; - private final CpsDataService cpsDataService; + private final CpsAnchorService cpsAnchorService; + protected final CpsDataService cpsDataService; private static final int EXIT_CODE_ON_ERROR = 1; @@ -70,7 +73,7 @@ abstract class AbstractModelLoader implements ModelLoader { void waitUntilDataspaceIsAvailable(final String dataspaceName) { log.info("Model Loader start-up, waiting for database to be ready"); int attemptCount = 0; - while (cpsAdminService.getDataspace(dataspaceName) == null) { + while (cpsDataspaceService.getDataspace(dataspaceName) == null) { if (attemptCount < maximumAttemptCount) { try { Thread.sleep(attemptCount * retryTimeMs); @@ -85,10 +88,10 @@ abstract class AbstractModelLoader implements ModelLoader { } } - void createSchemaSet(final String dataspaceName, final String schemaSetName, final String resourceName) { + void createSchemaSet(final String dataspaceName, final String schemaSetName, final String... resourceNames) { try { - final Map yangResourceContentMap = createYangResourceToContentMap(resourceName); - cpsModuleService.createSchemaSet(dataspaceName, schemaSetName, yangResourceContentMap); + final Map yangResourcesContentMap = createYangResourcesToContentMap(resourceNames); + cpsModuleService.createSchemaSet(dataspaceName, schemaSetName, yangResourcesContentMap); } catch (final AlreadyDefinedException alreadyDefinedException) { log.warn("Creating new schema set failed as schema set already exists"); } catch (final Exception exception) { @@ -110,7 +113,7 @@ abstract class AbstractModelLoader implements ModelLoader { void createAnchor(final String dataspaceName, final String schemaSetName, final String anchorName) { try { - cpsAdminService.createAnchor(dataspaceName, schemaSetName, anchorName); + cpsAnchorService.createAnchor(dataspaceName, schemaSetName, anchorName); } catch (final AlreadyDefinedException alreadyDefinedException) { log.warn("Creating new anchor failed as anchor already exists"); } catch (final Exception exception) { @@ -133,15 +136,19 @@ abstract class AbstractModelLoader implements ModelLoader { void updateAnchorSchemaSet(final String dataspaceName, final String anchorName, final String schemaSetName) { try { - cpsAdminService.updateAnchorSchemaSet(dataspaceName, anchorName, schemaSetName); + cpsAnchorService.updateAnchorSchemaSet(dataspaceName, anchorName, schemaSetName); } catch (final Exception exception) { log.error("Updating schema set failed: {}", exception.getMessage()); throw new NcmpStartUpException("Updating schema set failed", exception.getMessage()); } } - Map createYangResourceToContentMap(final String resourceName) { - return Map.of(resourceName, getFileContentAsString("models/" + resourceName)); + Map createYangResourcesToContentMap(final String... resourceNames) { + final Map yangResourcesToContentMap = new HashMap<>(); + for (final String resourceName: resourceNames) { + yangResourcesToContentMap.put(resourceName, getFileContentAsString("models/" + resourceName)); + } + return yangResourcesToContentMap; } private String getFileContentAsString(final String fileName) {