diff options
author | 2018-04-03 17:28:44 +0100 | |
---|---|---|
committer | 2018-04-03 17:28:44 +0100 | |
commit | 7b1f813441f94261f43ec4f5bb0944ad2570fbdf (patch) | |
tree | 7c5a2d1f378b2a0b358905e82d21cce73f3e1d6d /src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java | |
parent | 4dd316529148d07059d844197cdb676806bdc0c6 (diff) |
Revisions made to the Model Loader to use Babel
Change the Model Loader to use the Babel micro service.
Responsibility for transformation of ASDC TOSCA models,
the yaml files, has been moved from ASDC and placed into
the Bable microservice. Model Loader will forward any
CSAR received from ASDC and delegate transformation to
Babel. Babel will return the transformed TOSCA models
to Model Loader which will then ingest them into the
A&AI Inventory.
Issue-ID: AAI-987
Change-Id: I99594770b51b00cb7dcc0f30706060ae27cd94c5
Signed-off-by: Blackwell, Ian (ib733q) <IanB@amdocs.com>
Diffstat (limited to 'src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java')
-rw-r--r-- | src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java | 74 |
1 files changed, 31 insertions, 43 deletions
diff --git a/src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java b/src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java index 570d8fe..157ac8d 100644 --- a/src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java +++ b/src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java @@ -20,6 +20,8 @@ */ package org.onap.aai.modelloader.entity.model; +import java.util.List; + import org.onap.aai.modelloader.config.ModelLoaderConfig; import org.onap.aai.modelloader.entity.Artifact; import org.onap.aai.modelloader.entity.ArtifactHandler; @@ -28,56 +30,42 @@ import org.onap.aai.modelloader.service.ModelLoaderMsgs; import org.onap.aai.cl.api.Logger; import org.onap.aai.cl.eelf.LoggerFactory; -import java.util.ArrayList; -import java.util.List; - - public class ModelArtifactHandler extends ArtifactHandler { - private static Logger logger = LoggerFactory.getInstance().getLogger(ModelArtifactHandler.class.getName()); - - public ModelArtifactHandler(ModelLoaderConfig config) { - super(config); - } + private static Logger logger = LoggerFactory.getInstance().getLogger(ModelArtifactHandler.class.getName()); - @Override - public boolean pushArtifacts(List<Artifact> artifacts, String distributionID) { - ModelSorter modelSorter = new ModelSorter(); - List<Artifact> sortedModelArtifacts; - try { - sortedModelArtifacts = modelSorter.sort(artifacts); - } - catch (RuntimeException ex) { - logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, "Unable to resolve models: " + ex.getMessage()); - return false; + public ModelArtifactHandler(ModelLoaderConfig config) { + super(config); } - - // Push the ordered list of model artifacts to A&AI. If one fails, we need to roll back - // the changes. - List<AbstractModelArtifact> completedModels = new ArrayList<>(); - AaiRestClient aaiClient = new AaiRestClient(config); - for (Artifact art : sortedModelArtifacts) { - AbstractModelArtifact model = (AbstractModelArtifact)art; - if (model.push(aaiClient, config, distributionID, completedModels) != true) { - for (AbstractModelArtifact modelToDelete : completedModels) { - modelToDelete.rollbackModel(aaiClient, config, distributionID); + @Override + public boolean pushArtifacts(List<Artifact> artifacts, String distributionID, List<Artifact> completedArtifacts, + AaiRestClient aaiClient) { + ModelSorter modelSorter = new ModelSorter(); + List<Artifact> sortedModelArtifacts; + try { + sortedModelArtifacts = modelSorter.sort(artifacts); + } catch (RuntimeException ex) { + logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, "Unable to resolve models: " + ex.getMessage()); + return false; } - return false; - } - } + // Push the ordered list of model artifacts to A&AI. If one fails, we need to roll back the changes. + for (Artifact art : sortedModelArtifacts) { + AbstractModelArtifact model = (AbstractModelArtifact) art; + if (!model.push(aaiClient, config, distributionID, completedArtifacts)) { + return false; + } + } - return true; - } + return true; + } - // This method is used for the test REST interface to load models without an ASDC - public void loadModelTest(byte[] payload) { - List<Artifact> modelArtifacts = new ArrayList<Artifact>(); - ModelArtifactParser parser = new ModelArtifactParser(); - modelArtifacts.addAll(parser.parse(payload, "Test-Artifact")); - ModelSorter modelSorter = new ModelSorter(); - List<Artifact> sortedModelArtifacts = modelSorter.sort(modelArtifacts); - pushArtifacts(sortedModelArtifacts, "Test-Distribution"); - } + @Override + public void rollback(List<Artifact> completedArtifacts, String distributionId, AaiRestClient aaiClient) { + for (Artifact artifactToDelete : completedArtifacts) { + AbstractModelArtifact model = (AbstractModelArtifact) artifactToDelete; + model.rollbackModel(aaiClient, config, distributionId); + } + } } |