From fa1e0f7b61954a21240c567495d1113bba6148d2 Mon Sep 17 00:00:00 2001 From: "mark.j.leonard" Date: Mon, 18 Mar 2019 18:31:05 +0000 Subject: Refactor GizmoTranslator.translate() Address Sonar violation for the translate() method throwing multiple types of checked Exception. Add a JUnit test case for this. Change-Id: If3c18460895f8193c7b759da4537aad0a2cbf485 Issue-ID: AAI-2264 Signed-off-by: mark.j.leonard --- .../entity/model/AbstractModelArtifact.java | 26 +++++++++++----------- .../onap/aai/modelloader/util/GizmoTranslator.java | 16 ++++++------- 2 files changed, 21 insertions(+), 21 deletions(-) (limited to 'src/main/java') 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 c21a285..ee70939 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,8 +2,8 @@ * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 European Software Marketing Ltd. + * Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (c) 2017-2019 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. @@ -18,8 +18,10 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.aai.modelloader.entity.model; +import java.io.IOException; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -35,7 +37,6 @@ 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()); @@ -65,7 +66,7 @@ public abstract class AbstractModelArtifact extends Artifact implements IModelAr public void setModelNamespace(String modelNamespace) { this.modelNamespace = modelNamespace; - // Get the version from the namespace (in format 'http://org.openecomp.aai.inventory/v9') + // Get the version from the namespace (in format 'http://org.onap.aai.inventory/v14') String[] parts = modelNamespace.split("/"); modelNamespaceVersion = parts[parts.length - 1].trim(); } @@ -90,10 +91,8 @@ public abstract class AbstractModelArtifact extends Artifact implements IModelAr if (postResponse.getResultCode() != HttpStatus.OK.value()) { return false; } - - } catch (Exception e) { - logErrorMsg( - "Ingest failed for " + getType().toString() + " " + getUniqueIdentifier() + ": " + e.getMessage()); + } catch (IOException e) { + logErrorMsg("Ingest failed for " + getType() + " " + getUniqueIdentifier() + ": " + e.getMessage()); return false; } @@ -111,11 +110,12 @@ public abstract class AbstractModelArtifact extends Artifact implements IModelAr @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 + " "); - } + sb.append("\n").append("Type=").append(getType()) // + .append("\n").append("Id=").append(getUniqueIdentifier()) // + .append("\n").append("Version=").append(getModelNamespaceVersion()); + + sb.append("\n").append("Dependant models: "); + referencedModelIds.forEach(dep -> sb.append(dep).append(" ")); return sb.toString(); } diff --git a/src/main/java/org/onap/aai/modelloader/util/GizmoTranslator.java b/src/main/java/org/onap/aai/modelloader/util/GizmoTranslator.java index a8c5d17..1b03933 100644 --- a/src/main/java/org/onap/aai/modelloader/util/GizmoTranslator.java +++ b/src/main/java/org/onap/aai/modelloader/util/GizmoTranslator.java @@ -30,7 +30,6 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; -import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.onap.aai.cl.api.Logger; @@ -56,19 +55,20 @@ public class GizmoTranslator { private static Logger logger = LoggerFactory.getInstance().getLogger(GizmoTranslator.class.getName()); - public static String translate(String xmlPayload) throws ParserConfigurationException, SAXException, IOException { + public static String translate(String xmlPayload) throws IOException { logger.info(ModelLoaderMsgs.DISTRIBUTION_EVENT, "Process XML model artifact: " + xmlPayload); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); - DocumentBuilder builder = factory.newDocumentBuilder(); - InputSource is = new InputSource(new StringReader(xmlPayload)); - Document doc = builder.parse(is); + Document doc; + try { + factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + doc = factory.newDocumentBuilder().parse(new InputSource(new StringReader(xmlPayload))); + } catch (ParserConfigurationException | SAXException e) { + throw new IOException(e); + } GizmoBulkPayload gizmoPayload = new GizmoBulkPayload(); - processNode(doc.getDocumentElement(), null, null, gizmoPayload); - return gizmoPayload.toJson(); } -- cgit 1.2.3-korg