aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java
diff options
context:
space:
mode:
authorBlackwell, Ian (ib733q) <IanB@amdocs.com>2018-04-03 17:28:44 +0100
committerBlackwell, Ian (ib733q) <IanB@amdocs.com>2018-04-03 17:28:44 +0100
commit7b1f813441f94261f43ec4f5bb0944ad2570fbdf (patch)
tree7c5a2d1f378b2a0b358905e82d21cce73f3e1d6d /src/main/java/org/onap/aai/modelloader/entity/model/ModelArtifactHandler.java
parent4dd316529148d07059d844197cdb676806bdc0c6 (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.java74
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);
+ }
+ }
}