summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.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/ModelV8Artifact.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/ModelV8Artifact.java')
-rw-r--r--src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.java120
1 files changed, 0 insertions, 120 deletions
diff --git a/src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.java b/src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.java
deleted file mode 100644
index cd7afef..0000000
--- a/src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * ============LICENSE_START==========================================
- * org.onap.aai
- * ===================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
- * ===================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END============================================
- */
-package org.onap.aai.modelloader.entity.model;
-
-import java.util.List;
-
-import javax.ws.rs.core.Response;
-
-import org.onap.aai.modelloader.config.ModelLoaderConfig;
-import org.onap.aai.modelloader.entity.Artifact;
-import org.onap.aai.modelloader.entity.ArtifactType;
-import org.onap.aai.modelloader.restclient.AaiRestClient;
-import org.onap.aai.modelloader.service.ModelLoaderMsgs;
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.eelf.LoggerFactory;
-
-import com.sun.jersey.api.client.ClientResponse;
-
-public class ModelV8Artifact extends AbstractModelArtifact {
- private static String AAI_CONVERSION_URL = "/aai/tools/modeltransform";
-
- private static Logger logger = LoggerFactory.getInstance().getLogger(ModelArtifact.class.getName());
-
- private String modelNameVersionId;
- private ModelArtifact translatedModel;
-
- public ModelV8Artifact() {
- super(ArtifactType.MODEL_V8);
- }
-
- public String getModelNameVersionId() {
- return modelNameVersionId;
- }
-
- public void setModelNameVersionId(String modelNameVersionId) {
- this.modelNameVersionId = modelNameVersionId;
- }
-
- @Override
- public String getUniqueIdentifier() {
- return getModelNameVersionId();
- }
-
- @Override
- public boolean push(AaiRestClient aaiClient, ModelLoaderConfig config, String distId, List<AbstractModelArtifact> addedModels) {
- // For a legacy model (version <= v8), we need to call out to an A&AI endpoint to convert to the proper format
- ClientResponse response = aaiClient.postResource(getConversionUrl(config), constructTransformPayload(), distId, AaiRestClient.MimeType.XML);
- if ( (response == null) || (response.getStatus() != Response.Status.OK.getStatusCode()) ) {
- logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, "Ingestion failed for " +
- getType().toString() + " " + getModelNameVersionId() + ". Unable to convert model. Rolling back distribution.");
- return false;
- }
-
- String translatedPayload = response.getEntity(String.class);
-
- logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, "Translated artifact payload:\n" + translatedPayload);
-
- ModelArtifactParser parser = new ModelArtifactParser();
-
- List<Artifact> parsedArtifacts = parser.parse(translatedPayload.getBytes(), "translated-payload");
- if (parsedArtifacts == null || parsedArtifacts.isEmpty()) {
- return false;
- }
-
- translatedModel = (ModelArtifact)parsedArtifacts.get(0);
- return translatedModel.push(aaiClient, config, distId, addedModels);
- }
-
- @Override
- public void rollbackModel(AaiRestClient aaiClient, ModelLoaderConfig config, String distId) {
- if (translatedModel != null) {
- translatedModel.rollbackModel(aaiClient, config, distId);
- }
- }
-
-
- private String constructTransformPayload() {
- // A&AI requires that to transform a legacy model, we need to use the v8 namespace (even
- // if the version < 8)
- return getPayload().replaceFirst("aai.inventory/v.", "aai.inventory/v8");
- }
-
- private String getConversionUrl(ModelLoaderConfig config) {
- String baseUrl = config.getAaiBaseUrl().trim();
- String subUrl = AAI_CONVERSION_URL;
-
- if ( (!baseUrl.endsWith("/")) && (!subUrl.startsWith("/")) ) {
- baseUrl = baseUrl + "/";
- }
-
- if ( baseUrl.endsWith("/") && subUrl.startsWith("/") ) {
- baseUrl = baseUrl.substring(0, baseUrl.length()-1);
- }
-
- if (!subUrl.endsWith("/")) {
- subUrl = subUrl + "/";
- }
-
- String url = baseUrl + subUrl;
- return url;
- }
-}