X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fbabel%2Fxml%2Fgenerator%2Fapi%2FAaiArtifactGenerator.java;h=8da541f561badd1499ee59d09b8a10d293c86696;hb=e3de90587ada88dcb3cb0a87fbfe283b2ae9f08b;hp=32237b5524a39b395e0b8c7fddcb8a180c389240;hpb=c1824169b0cfa25101c1efa8118d6b0b085edd15;p=aai%2Fbabel.git diff --git a/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java b/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java index 32237b5..8da541f 100644 --- a/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java +++ b/src/main/java/org/onap/aai/babel/xml/generator/api/AaiArtifactGenerator.java @@ -105,7 +105,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator { ISdcCsarHelper csarHelper = SdcToscaParserFactory.getInstance().getSdcCsarHelper(csarPath.toAbsolutePath().toString()); return generateAllArtifacts(validateServiceVersion(additionalParams), csarHelper); - } catch (SdcToscaParserException | XmlArtifactGenerationException e) { + } catch (SdcToscaParserException | ClassCastException | XmlArtifactGenerationException e) { log.error(ApplicationMsgs.INVALID_CSAR_FILE, e); return createErrorData(e); } finally { @@ -131,17 +131,11 @@ public class AaiArtifactGenerator implements ArtifactGenerator { */ public GenerationData generateAllArtifacts(final String serviceVersion, ISdcCsarHelper csarHelper) throws XmlArtifactGenerationException { - List serviceNodeTemplates = - ToscaParser.getServiceNodeTemplates(csarHelper).collect(Collectors.toList()); - if (serviceNodeTemplates == null) { - throw new IllegalArgumentException(GENERATOR_AAI_ERROR_MISSING_SERVICE_TOSCA); - } - Service serviceModel = createServiceModel(serviceVersion, csarHelper.getServiceMetadataAllProperties()); MDC.put(MDC_PARAM_MODEL_INFO, serviceModel.getModelName() + "," + getArtifactLabel(serviceModel)); - List resources = generateResourceModels(csarHelper, serviceNodeTemplates, serviceModel); + List resources = generateResourceModels(csarHelper, serviceModel); // Generate the A&AI XML model for the Service. final String serviceArtifact = modelGenerator.generateModelFor(serviceModel); @@ -183,18 +177,21 @@ public class AaiArtifactGenerator implements ArtifactGenerator { /** * @param csarHelper - * @param serviceNodeTemplates * @param serviceModel * @return the generated Models * @throws XmlArtifactGenerationException * if the configured widget mappings do not support processed widget type(s) */ - private List generateResourceModels(ISdcCsarHelper csarHelper, List serviceNodeTemplates, - Service serviceModel) throws XmlArtifactGenerationException { - final ArtifactGeneratorToscaParser parser = new ArtifactGeneratorToscaParser(csarHelper); + private List generateResourceModels(ISdcCsarHelper csarHelper, Service serviceModel) + throws XmlArtifactGenerationException { + List serviceNodeTemplates = + ToscaParser.getServiceNodeTemplates(csarHelper).collect(Collectors.toList()); + if (serviceNodeTemplates == null) { + throw new IllegalArgumentException(GENERATOR_AAI_ERROR_MISSING_SERVICE_TOSCA); + } + final ArtifactGeneratorToscaParser parser = new ArtifactGeneratorToscaParser(csarHelper); List resources = new ArrayList<>(); - final List serviceGroups = ToscaParser.getServiceLevelGroups(csarHelper); for (NodeTemplate nodeTemplate : serviceNodeTemplates) { if (nodeTemplate.getMetaData() != null) { @@ -436,15 +433,17 @@ public class AaiArtifactGenerator implements ArtifactGenerator { private int hashCodeUuId(String uuId) { int hashcode = 0; - for (int i = 0; i < uuId.length(); i++) { - hashcode = 31 * hashcode + uuId.charAt(i); + if (uuId != null) { + for (int i = 0; i < uuId.length(); i++) { + hashcode = 31 * hashcode + uuId.charAt(i); + } } return hashcode; } private String truncateName(String name) { String truncatedName = name; - if (name.length() >= 200) { + if (name != null && name.length() >= 200) { truncatedName = name.substring(0, 199); } return truncatedName; @@ -455,7 +454,7 @@ public class AaiArtifactGenerator implements ArtifactGenerator { if (serviceVersion == null) { throw new IllegalArgumentException(GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION); } else { - String versionRegex = "^[1-9]\\d*(\\.0)$"; + String versionRegex = "^\\d*\\.\\d*$"; if (!(serviceVersion.matches(versionRegex))) { throw new IllegalArgumentException(String.format(GENERATOR_AAI_INVALID_SERVICE_VERSION)); }