X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=plans%2Fso%2Fintegration-etsi-testing%2Fso-simulators%2Fsdc-simulator%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fso%2Fsdcsimulator%2Fmodels%2FAssetType.java;h=a86e0630fb2d31ce68d81a3ab2943067f6045005;hb=5c4fc23ce2d42abac893c8a462bba8c6872d7b60;hp=749a714f095ae840b8aef4689e8ae4aed5989c5c;hpb=87a7fca8a3db019e191447526b3e291514aa0725;p=integration%2Fcsit.git diff --git a/plans/so/integration-etsi-testing/so-simulators/sdc-simulator/src/main/java/org/onap/so/sdcsimulator/models/AssetType.java b/plans/so/integration-etsi-testing/so-simulators/sdc-simulator/src/main/java/org/onap/so/sdcsimulator/models/AssetType.java index 749a714f..a86e0630 100644 --- a/plans/so/integration-etsi-testing/so-simulators/sdc-simulator/src/main/java/org/onap/so/sdcsimulator/models/AssetType.java +++ b/plans/so/integration-etsi-testing/so-simulators/sdc-simulator/src/main/java/org/onap/so/sdcsimulator/models/AssetType.java @@ -19,13 +19,96 @@ */ package org.onap.so.sdcsimulator.models; - /** +import static org.onap.so.sdcsimulator.utils.Constants.CATALOG_URL; +import static org.onap.so.sdcsimulator.utils.Constants.FORWARD_SLASH; +import java.io.File; +import java.io.IOException; +import org.springframework.core.io.Resource; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** * * @author Waqas Ikram (waqas.ikram@est.tech) * */ public enum AssetType { - RESOURCES, SERVICES; + RESOURCES { + @Override + public AssetInfo getAssetInfo(final Resource resource) throws IOException { + return OBJ_MAPPER.readValue(resource.getInputStream(), ResourceAssetInfo.class); + } + + @Override + public AssetInfo getAssetInfo(final File file) throws IOException { + return OBJ_MAPPER.readValue(file, ResourceAssetInfo.class); + } + + @Override + public Metadata getMetadata(final Resource resource) throws IOException { + return OBJ_MAPPER.readValue(resource.getInputStream(), ResourceMetadata.class); + } + + @Override + public Metadata getMetadata(final File file) throws IOException { + return OBJ_MAPPER.readValue(file, ResourceMetadata.class); + } + + }, + SERVICES { + @Override + public AssetInfo getAssetInfo(final Resource resource) throws IOException { + return OBJ_MAPPER.readValue(resource.getInputStream(), ServiceAssetInfo.class); + } + + @Override + public AssetInfo getAssetInfo(final File file) throws IOException { + return OBJ_MAPPER.readValue(file, ServiceAssetInfo.class); + } + + @Override + public Metadata getMetadata(final Resource resource) throws IOException { + return OBJ_MAPPER.readValue(resource.getInputStream(), ServiceMetadata.class); + } + + @Override + public Metadata getMetadata(final File file) throws IOException { + return OBJ_MAPPER.readValue(file, ServiceMetadata.class); + } + + }; + + private static final ObjectMapper OBJ_MAPPER = + new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + + public abstract AssetInfo getAssetInfo(final Resource resource) throws IOException; + + public abstract AssetInfo getAssetInfo(final File file) throws IOException; + + public abstract Metadata getMetadata(final Resource resource) throws IOException; + + public abstract Metadata getMetadata(final File file) throws IOException; + + public String getToscaModelUrl(final String filename) { + return CATALOG_URL + FORWARD_SLASH + this.toString().toLowerCase() + FORWARD_SLASH + filename + "/toscaModel"; + } + + public AssetInfo getDefaultAssetInfo(final String filename) { + AssetInfo defaultValue = null; + + if (this.equals(RESOURCES)) { + defaultValue = new ResourceAssetInfo().subCategory("Network Service"); + } else if (this.equals(SERVICES)) { + defaultValue = new ServiceAssetInfo().distributionStatus("DISTRIBUTED"); + } else { + defaultValue = new AssetInfo(); + } + + return defaultValue.uuid(filename).invariantUuid(filename).name(filename).version("1.0") + .toscaModelUrl(getToscaModelUrl(filename)).category("Generic").lifecycleState("CERTIFIED") + .lastUpdaterUserId("SDC_SIMULATOR"); + } }