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/ModelV8Artifact.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/ModelV8Artifact.java')
-rw-r--r-- | src/main/java/org/onap/aai/modelloader/entity/model/ModelV8Artifact.java | 120 |
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; - } -} |