diff options
4 files changed, 125 insertions, 28 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogic.java index 1983e32d7c..f34f3a6c00 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogic.java @@ -65,6 +65,7 @@ import org.openecomp.sdc.be.components.impl.artifact.PayloadTypeEnum; import org.openecomp.sdc.be.components.impl.exceptions.ByActionStatusComponentException; import org.openecomp.sdc.be.components.impl.exceptions.ByResponseFormatComponentException; import org.openecomp.sdc.be.components.impl.exceptions.ComponentException; +import org.openecomp.sdc.be.components.utils.ArtifactUtils; import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic; import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction; import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction.LifecycleChanceActionEnum; @@ -4657,7 +4658,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic { String origMd5; try { for (ArtifactDefinition artifact : artifactsToHandle) { - originData = buildJsonStringForCsarVfcArtifact(artifact); + originData = ArtifactUtils.buildJsonStringForCsarVfcArtifact(artifact); origMd5 = GeneralUtility.calculateMD5Base64EncodedByString(originData); actionResult = handleArtifactRequest(component.getUniqueId(), user.getUserId(), componentType, operation, artifact .getUniqueId(), artifact, origMd5, originData, null, null, null, null, shouldLock, inTransaction); @@ -4846,19 +4847,6 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic { return checkoutRes.left().value(); } - private String buildJsonStringForCsarVfcArtifact(ArtifactDefinition artifact) { - Map<String, Object> json = new HashMap<>(); - String artifactName = artifact.getArtifactName(); - json.put(Constants.ARTIFACT_NAME, artifactName); - json.put(Constants.ARTIFACT_LABEL, artifact.getArtifactLabel()); - json.put(Constants.ARTIFACT_TYPE, artifact.getArtifactType()); - json.put(Constants.ARTIFACT_GROUP_TYPE, ArtifactGroupTypeEnum.DEPLOYMENT.getType()); - json.put(Constants.ARTIFACT_DESCRIPTION, artifact.getDescription()); - json.put(Constants.ARTIFACT_PAYLOAD_DATA, artifact.getPayloadData()); - json.put(Constants.ARTIFACT_DISPLAY_NAME, artifact.getArtifactDisplayName()); - return gson.toJson(json); - } - @Autowired void setNodeTemplateOperation(NodeTemplateOperation nodeTemplateOperation) { this.nodeTemplateOperation = nodeTemplateOperation; @@ -4867,6 +4855,4 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic { public List<ArtifactConfiguration> getConfiguration() { return ConfigurationManager.getConfigurationManager().getConfiguration().getArtifacts(); } - } - diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/ArtifactUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/ArtifactUtils.java new file mode 100644 index 0000000000..9f95caa2fa --- /dev/null +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/utils/ArtifactUtils.java @@ -0,0 +1,51 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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========================================================= + * Modifications copyright (c) 2019 Nokia + * ================================================================================ + */ + +package org.openecomp.sdc.be.components.utils; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import java.util.HashMap; +import java.util.Map; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; +import org.openecomp.sdc.common.api.Constants; + +public final class ArtifactUtils { + + private ArtifactUtils() { + } + + public static String buildJsonStringForCsarVfcArtifact(ArtifactDefinition artifact) { + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + Map<String, Object> json = new HashMap<>(); + String artifactName = artifact.getArtifactName(); + json.put(Constants.ARTIFACT_NAME, artifactName); + json.put(Constants.ARTIFACT_LABEL, artifact.getArtifactLabel()); + json.put(Constants.ARTIFACT_TYPE, artifact.getArtifactType()); + json.put(Constants.ARTIFACT_GROUP_TYPE, ArtifactGroupTypeEnum.DEPLOYMENT.getType()); + json.put(Constants.ARTIFACT_DESCRIPTION, artifact.getDescription()); + json.put(Constants.ARTIFACT_PAYLOAD_DATA, artifact.getPayloadData()); + json.put(Constants.ARTIFACT_DISPLAY_NAME, artifact.getArtifactDisplayName()); + return gson.toJson(json); + } +} diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java index cfbc06234c..cd171d9b65 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ArtifactsBusinessLogicTest.java @@ -845,17 +845,6 @@ public class ArtifactsBusinessLogicTest extends BaseBusinessLogicMock { } @Test - public void testBuildJsonStringForCsarVfcArtifact() throws Exception { - ArtifactsBusinessLogic testSubject; - ArtifactDefinition artifact = new ArtifactDefinition(); - String result; - - // default test - testSubject = createTestSubject(); - result = Deencapsulation.invoke(testSubject, "buildJsonStringForCsarVfcArtifact", new Object[]{artifact}); - } - - @Test public void testCheckArtifactInComponent() throws Exception { ArtifactsBusinessLogic testSubject; Component component = new Resource(); @@ -869,7 +858,6 @@ public class ArtifactsBusinessLogicTest extends BaseBusinessLogicMock { new Object[]{component, artifactId}); } - @Test public void testCheckCreateFields() throws Exception { ArtifactsBusinessLogic testSubject; diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ArtifactUtilsTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ArtifactUtilsTest.java new file mode 100644 index 0000000000..137af04ef3 --- /dev/null +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/utils/ArtifactUtilsTest.java @@ -0,0 +1,72 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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========================================================= + * Modifications copyright (c) 2019 Nokia + * ================================================================================ + */ + +package org.openecomp.sdc.be.components.utils; + +import static org.junit.Assert.assertEquals; +import static org.openecomp.sdc.be.components.utils.ArtifactUtils.buildJsonStringForCsarVfcArtifact; + +import org.junit.Test; +import org.openecomp.sdc.be.model.ArtifactDefinition; +import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum; + +public class ArtifactUtilsTest { + + private static final String JSON = + "{\n" + + " \"artifactType\": \"artifactType\",\n" + + " \"artifactDisplayName\": \"displayName\",\n" + + " \"artifactName\": \"artifactName\",\n" + + " \"artifactGroupType\": \"DEPLOYMENT\",\n" + + " \"description\": \"description\",\n" + + " \"payloadData\": [\n" + + " 112,\n" + + " 97,\n" + + " 121,\n" + + " 108,\n" + + " 111,\n" + + " 97,\n" + + " 100,\n" + + " 68,\n" + + " 97,\n" + + " 116,\n" + + " 97\n" + + " ],\n" + + " \"artifactLabel\": \"label\"\n" + + "}"; + + @Test + public void artifactDefinitionShouldBeDeserializedProperly() { + ArtifactDefinition ad = new ArtifactDefinition(); + ad.setArtifactName("artifactName"); + ad.setArtifactLabel("label"); + ad.setArtifactType("artifactType"); + ad.setDescription("description"); + ad.setPayloadData("payloadData"); + ad.setArtifactDisplayName("displayName"); + ad.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT); + + String actual = buildJsonStringForCsarVfcArtifact(ad); + + assertEquals(actual, JSON); + } +} |