X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fmodelloader%2Fentity%2Fmodel%2FAbstractModelArtifact.java;h=c21a285d94aa0793f498d6538116797642bf8880;hb=refs%2Fchanges%2F06%2F73706%2F1;hp=a942cf6e8c09b5dc991f3799cbefaa6563211bdd;hpb=059f42e1a2289ecb2cb5835b8b14a0d098c9e1d3;p=aai%2Fmodel-loader.git diff --git a/src/main/java/org/onap/aai/modelloader/entity/model/AbstractModelArtifact.java b/src/main/java/org/onap/aai/modelloader/entity/model/AbstractModelArtifact.java index a942cf6..c21a285 100644 --- a/src/main/java/org/onap/aai/modelloader/entity/model/AbstractModelArtifact.java +++ b/src/main/java/org/onap/aai/modelloader/entity/model/AbstractModelArtifact.java @@ -2,15 +2,14 @@ * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. - * Copyright © 2017 Amdocs - * All rights reserved. + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright © 2017-2018 European Software Marketing Ltd. * ================================================================================ * 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 + * 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, @@ -18,69 +17,107 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. */ package org.onap.aai.modelloader.entity.model; import java.util.HashSet; import java.util.List; import java.util.Set; - +import javax.ws.rs.core.MediaType; +import org.onap.aai.cl.api.Logger; +import org.onap.aai.cl.eelf.LoggerFactory; 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.modelloader.util.GizmoTranslator; +import org.onap.aai.restclient.client.OperationResult; +import org.springframework.http.HttpStatus; + + +public abstract class AbstractModelArtifact extends Artifact implements IModelArtifact { + + private static Logger logger = LoggerFactory.getInstance().getLogger(AbstractModelArtifact.class.getName()); + + private String modelNamespace; + private String modelNamespaceVersion; + private Set referencedModelIds = new HashSet<>(); + + public AbstractModelArtifact(ArtifactType type) { + super(type); + } + + public Set getDependentModelIds() { + return referencedModelIds; + } + + @Override + public void addDependentModelId(String dependentModelId) { + this.referencedModelIds.add(dependentModelId); + } + + public String getModelNamespace() { + return modelNamespace; + } + + @Override + public void setModelNamespace(String modelNamespace) { + this.modelNamespace = modelNamespace; + + // Get the version from the namespace (in format 'http://org.openecomp.aai.inventory/v9') + String[] parts = modelNamespace.split("/"); + modelNamespaceVersion = parts[parts.length - 1].trim(); + } + + public String getModelNamespaceVersion() { + return modelNamespaceVersion; + } + + public abstract String getUniqueIdentifier(); + + public abstract boolean push(AaiRestClient aaiClient, ModelLoaderConfig config, String distId, + List completedArtifacts); + + public abstract void rollbackModel(AaiRestClient aaiClient, ModelLoaderConfig config, String distId); + + protected boolean pushToGizmo(AaiRestClient aaiClient, ModelLoaderConfig config, String distId) { + try { + String gizmoPayload = GizmoTranslator.translate(getPayload()); + OperationResult postResponse = aaiClient.postResource(config.getAaiBaseUrl().trim(), gizmoPayload, distId, + MediaType.APPLICATION_JSON_TYPE); + + if (postResponse.getResultCode() != HttpStatus.OK.value()) { + return false; + } + + } catch (Exception e) { + logErrorMsg( + "Ingest failed for " + getType().toString() + " " + getUniqueIdentifier() + ": " + e.getMessage()); + return false; + } + + return true; + } + + protected void logInfoMsg(String infoMsg) { + logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, infoMsg); + } + + protected void logErrorMsg(String errorMsg) { + logger.error(ModelLoaderMsgs.DISTRIBUTION_EVENT_ERROR, errorMsg); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("\nType=" + getType().toString() + "\nId=" + getUniqueIdentifier() + "\nVersion=" + + getModelNamespaceVersion() + "\nDependant models: "); + for (String dep : referencedModelIds) { + sb.append(dep + " "); + } + + return sb.toString(); + } -public abstract class AbstractModelArtifact extends Artifact { - - private String modelNamespace; - private String modelNamespaceVersion; - private Set referencedModelIds = new HashSet(); - - public AbstractModelArtifact(ArtifactType type) { - super(type); - } - - public Set getDependentModelIds() { - return referencedModelIds; - } - - public void addDependentModelId(String dependentModelId) { - this.referencedModelIds.add(dependentModelId); - } - - public String getModelNamespace() { - return modelNamespace; - } - - public void setModelNamespace(String modelNamespace) { - this.modelNamespace = modelNamespace; - - // Get the version from the namespace (in format 'http://org.openecomp.aai.inventory/v9') - String[] parts = modelNamespace.split("/"); - modelNamespaceVersion = parts[parts.length-1].trim(); - } - - public String getModelNamespaceVersion() { - return modelNamespaceVersion; - } - - public abstract String getUniqueIdentifier(); - - public abstract boolean push(AaiRestClient aaiClient, ModelLoaderConfig config, String distId, List addedModels); - - public abstract void rollbackModel(AaiRestClient aaiClient, ModelLoaderConfig config, String distId); - - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("\nType=" + getType().toString() +"\nId=" + getUniqueIdentifier() +"\nVersion=" + getModelNamespaceVersion() + "\nDependant models: "); - for (String dep : referencedModelIds) { - sb.append(dep + " "); - } - - return sb.toString(); - } - - }