Resolved below sonar issues: 59/14559/2
authorBharat saraswal <bharat.saraswal@huawei.com>
Fri, 22 Sep 2017 10:30:17 +0000 (16:00 +0530)
committerBharat saraswal <bharat.saraswal@huawei.com>
Fri, 22 Sep 2017 10:50:20 +0000 (16:20 +0530)
reduced method complexitity.
removed redundant code.

Issue-Id:AAI-211
Change-Id: If4f8f53cc01fdfb6cc9d0efea5e144fef9941720
Signed-off-by: Bharat saraswal <bharat.saraswal@huawei.com>
ajsc-aai/src/main/java/org/openecomp/aai/workarounds/LegacyURLTransformer.java
ajsc-aai/src/main/java/org/openecomp/aai/workarounds/ModifyOXMProperties.java

index 2775af0..0060d70 100644 (file)
 package org.openecomp.aai.workarounds;
 
 import java.net.MalformedURLException;
-import java.net.URI;
 import java.net.URL;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import com.att.aft.dme2.internal.javaxwsrs.core.UriBuilder;
-
 public class LegacyURLTransformer {
 
-       /**
-        * Instantiates a new legacy URL transformer.
-        */
-       private LegacyURLTransformer() {
-               
-       }
-       
-       private static class Helper {
-               private static final LegacyURLTransformer INSTANCE = new LegacyURLTransformer();
-       }
-       
-       /**
-        * Gets the single instance of LegacyURLTransformer.
-        *
-        * @return single instance of LegacyURLTransformer
-        */
-       public static LegacyURLTransformer getInstance() {
-               return Helper.INSTANCE;
-       }
-       
-       /**
-        * Gets the legacy URL.
-        *
-        * @param url the url
-        * @return the legacy URL
-        * @throws MalformedURLException the malformed URL exception
-        */
-       public URL getLegacyURL(URL url) throws MalformedURLException {
-               String substring = "/aai/(?<version>v\\d+)/cloud-infrastructure/tenants/tenant/(?<tenantKey>.*?)/vservers/vserver/(?<vserverKey>[^/]*?$)";
-               String replacement = "/aai/servers/${version}/${tenantKey}/vservers/${vserverKey}";
-               Pattern p = Pattern.compile(substring);
-               String result = url.toString();
-               Matcher m = p.matcher(result);
-               if (m.find()) {
-                       result = m.replaceFirst(replacement);
+    /**
+     * Instantiates a new legacy URL transformer.
+     */
+    private LegacyURLTransformer() {
+
+    }
+
+    private static class Helper {
+
+        private static final LegacyURLTransformer INSTANCE = new LegacyURLTransformer();
+    }
+
+    /**
+     * Gets the single instance of LegacyURLTransformer.
+     *
+     * @return single instance of LegacyURLTransformer
+     */
+    public static LegacyURLTransformer getInstance() {
+        return Helper.INSTANCE;
+    }
+
+    /**
+     * Gets the legacy URL.
+     *
+     * @param url the url
+     * @return the legacy URL
+     * @throws MalformedURLException the malformed URL exception
+     */
+    public URL getLegacyURL(URL url) throws MalformedURLException {
+        String substring = "/aai/(?<version>v\\d+)/cloud-infrastructure/tenants/tenant/(?<tenantKey>.*?)/vservers/"
+            + "vserver/(?<vserverKey>[^/]*?$)";
+        String replacement = "/aai/servers/${version}/${tenantKey}/vservers/${vserverKey}";
+        Pattern p = Pattern.compile(substring);
+        String result = url.toString();
+        Matcher m = p.matcher(result);
+        if (m.find()) {
+            result = m.replaceFirst(replacement);
+        }
+        return new URL(result);
+    }
 
-               }
-               URL resultUrl = new URL(result);
-               return resultUrl;
-               
-       }
-       
-       /**
-        * Gets the current URL.
-        *
-        * @param url the url
-        * @return the current URL
-        * @throws MalformedURLException the malformed URL exception
-        */
-       public URL getCurrentURL(URL url) throws MalformedURLException {
-               String substring = "/aai/servers/(?<version>v[23])/(?<tenantKey>.*?)/vservers/(?<vserverKey>[^/]*?$)";
-               String replacement = "/aai/${version}/cloud-infrastructure/tenants/tenant/${tenantKey}/vservers/vserver/${vserverKey}";
-               Pattern p = Pattern.compile(substring);
-               String result = url.toString();
-               Matcher m = p.matcher(result);
-               if (m.find()) {
-                       result = m.replaceFirst(replacement);
+    /**
+     * Gets the current URL.
+     *
+     * @param url the url
+     * @return the current URL
+     * @throws MalformedURLException the malformed URL exception
+     */
+    public URL getCurrentURL(URL url) throws MalformedURLException {
+        String substring = "/aai/servers/(?<version>v[23])/(?<tenantKey>.*?)/vservers/(?<vserverKey>[^/]*?$)";
+        String replacement = "/aai/${version}/cloud-infrastructure/tenants/tenant/${tenantKey}/vservers/vserver/${vserverKey}";
+        Pattern p = Pattern.compile(substring);
+        String result = url.toString();
+        Matcher m = p.matcher(result);
+        if (m.find()) {
+            result = m.replaceFirst(replacement);
+        }
 
-               }
-               
-               URL resultUrl = new URL(result);
-               return resultUrl;
-       }
+        return new URL(result);
+    }
 }
index 4f42afb..494ada3 100644 (file)
 
 package org.openecomp.aai.workarounds;
 
+import com.google.common.base.CaseFormat;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import javax.xml.XMLConstants;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -41,180 +41,180 @@ import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpression;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-import com.google.common.base.CaseFormat;
-
 public class ModifyOXMProperties {
 
-       private static String[] versions = new String[]{"v8"};
-       
-       /**
-        * The main method.
-        *
-        * @param args the arguments
-        * @throws SAXException the SAX exception
-        * @throws IOException Signals that an I/O exception has occurred.
-        * @throws ParserConfigurationException the parser configuration exception
-        * @throws XPathExpressionException the x path expression exception
-        * @throws TransformerException the transformer exception
-        */
-       public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException, XPathExpressionException, TransformerException {
-
-               for (int i = 0; i < versions.length; i++) {
-                       process(versions[i]);
-               }
-               
-               
-               
-       }
-       
-       /**
-        * Process.
-        *
-        * @param version the version
-        * @throws SAXException the SAX exception
-        * @throws IOException Signals that an I/O exception has occurred.
-        * @throws ParserConfigurationException the parser configuration exception
-        * @throws XPathExpressionException the x path expression exception
-        * @throws TransformerException the transformer exception
-        */
-       private static void process(String version) throws SAXException, IOException, ParserConfigurationException, XPathExpressionException, TransformerException {
-
-
-               
-               String filepath = "bundleconfig-local/etc/oxm/aai_oxm_" + version + ".xml";
-               DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
-               docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-               DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
-               Document doc = docBuilder.parse(filepath);
-               XPath xpath = XPathFactory.newInstance().newXPath();
-               NodeList list = doc.getElementsByTagName("java-type");
-               //Find namespaces - restrict to inventory
-               //XPathExpression expr = xpath.compile("//java-type[java-attributes[count(xml-element[contains(@type, 'aai.openecomp.org')])=count(./xml-element)][count(xml-element) > 1]]/xml-root-element");
-               XPathExpression expr = xpath.compile("//java-type[@name='Inventory']/java-attributes/xml-element/@name");
-               Object result = expr.evaluate(doc, XPathConstants.NODESET);
-               NodeList nodes = (NodeList) result;
-               String[] temp = null;
-               List<String> itemsUnderInventory = new ArrayList<>();
-               for (int i = 0; i < nodes.getLength(); i++) {
-                       itemsUnderInventory.add(nodes.item(i).getTextContent());
-               }
-               Map<String, String> namespaces = new HashMap<>();
-
-               itemsUnderInventory.remove("Search");
-               for (String item : itemsUnderInventory) {
-                       expr = xpath.compile("//java-type[xml-root-element/@name='" + item + "']");
-                       result = expr.evaluate(doc, XPathConstants.NODESET);
-                       nodes = (NodeList) result;
-                       for (int i = 0; i < nodes.getLength(); i++) {
-                               String a = "java-attributes/xml-element/@type[contains(.,'aai.openecomp.org')]";
-                               XPathExpression expr2 = xpath.compile(a);
-                               Object result2 = expr2.evaluate(nodes.item(i), XPathConstants.NODESET);
-
-                               NodeList node2 = (NodeList) result2;
-                               for (int j = 0; j < node2.getLength(); j++) {
-                                       temp = node2.item(j).getTextContent().split("\\.");
-                                       namespaces.put(temp[temp.length-1], item);
-                               }
-                       }
-               }
-               
-               
-               
-               //go through plurals
-               expr = xpath.compile("//java-type[java-attributes[count(xml-element) = 1]/xml-element[contains(@type, 'aai.openecomp.org')]]/xml-root-element");
-
-               result = expr.evaluate(doc, XPathConstants.NODESET);
-               nodes = (NodeList) result;
-               List<String> children = new ArrayList<>();
-               for (int i = 0; i < nodes.getLength(); i++) {
-                       XPathExpression expr2 = xpath.compile("../java-attributes/xml-element[1]/@type[contains(.,'aai.openecomp.org')]");
-                       Object result2 = expr2.evaluate(nodes.item(i), XPathConstants.NODESET);
-
-                       NodeList node2 = (NodeList) result2;
-                       temp = node2.item(0).getTextContent().split("\\.");
-                       String containerName = nodes.item(i).getAttributes().getNamedItem("name").getTextContent();
-                       String childrenTuple = containerName + "," + temp[temp.length-1];
-                       if (namespaces.containsKey(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL,containerName))) {
-                               childrenTuple += "," + namespaces.get(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL,containerName));
-                       }
-                       children.add(childrenTuple);
-               }
-               
-               //match types up with plurals
-               String[] split = null;
-               for (String s : children) {
-                       split = s.split(",");
-                       expr = xpath.compile("//java-type[@name='"+split[1]+"']/xml-properties");
-                       result = expr.evaluate(doc, XPathConstants.NODESET);
-                       nodes = (NodeList) result;
-                       if (nodes.getLength() > 0) {
-                               Element property = null;
-                               
-                               if (!hasChild(nodes.item(0), "name", "container")) {
-
-                                       property = doc.createElement("xml-property");
-                                       
-                                       property.setAttribute("name", "container");
-                                       property.setAttribute("value",split[0]);
-                                       nodes.item(0).appendChild(property);
-
-                               }
-                               
-                               if (split.length == 3) {
-                                       Element property2 = null;
-                                       if (!hasChild(nodes.item(0), "name", "namespace")) {
-                                               property2 = doc.createElement("xml-property");
-                                               property2.setAttribute("name", "namespace");
-                                               property2.setAttribute("value",split[2]);
-                                               nodes.item(0).appendChild(property2);
-                                       }
-
-                               }
-                       }
-
-
-               }
-               
-               filepath = "bundleconfig-local/etc/oxm/aai_oxm_" + version + ".xml";
-               TransformerFactory transformerFactory = TransformerFactory.newInstance();
-               transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-               Transformer transformer = transformerFactory.newTransformer();
-               DOMSource source = new DOMSource(doc);
-               StreamResult file = new StreamResult(new File(filepath));
-               transformer.transform(source, file);
-       }
-       
-       /**
-        * Checks for child.
-        *
-        * @param node the node
-        * @param name the name
-        * @param value the value
-        * @return true, if successful
-        */
-       private static boolean hasChild(Node node, String name, String value) {
-               boolean result = false;
-               NodeList list = node.getChildNodes();
-               Node temp = null;
-               for (int i = 0; i < list.getLength(); i++) {
-
-                       if (list.item(i).hasAttributes()) {
-                               temp = list.item(i).getAttributes().getNamedItem(name);
-                       }
-                       
-                       if (temp != null && temp.getTextContent().equals(value)) {
-                               result =  true;
-                       }
-               }
-               
-               return result;
-       }
-
+    private static String[] versions = new String[]{"v8"};
+
+    /**
+     * The main method.
+     *
+     * @param args the arguments
+     * @throws SAXException the SAX exception
+     * @throws IOException Signals that an I/O exception has occurred.
+     * @throws ParserConfigurationException the parser configuration exception
+     * @throws XPathExpressionException the x path expression exception
+     * @throws TransformerException the transformer exception
+     */
+    public static void main(String[] args)
+        throws SAXException, IOException, ParserConfigurationException, XPathExpressionException, TransformerException {
+
+        for (String version : versions) {
+            process(version);
+        }
+    }
+
+    /**
+     * Process.
+     *
+     * @param version the version
+     * @throws SAXException the SAX exception
+     * @throws IOException Signals that an I/O exception has occurred.
+     * @throws ParserConfigurationException the parser configuration exception
+     * @throws XPathExpressionException the x path expression exception
+     * @throws TransformerException the transformer exception
+     */
+    private static void process(String version)
+        throws SAXException, IOException, ParserConfigurationException, XPathExpressionException, TransformerException {
+
+        String filepath = "bundleconfig-local/etc/oxm/aai_oxm_" + version + ".xml";
+        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+        docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+        Document doc = docBuilder.parse(filepath);
+        XPath xpath = XPathFactory.newInstance().newXPath();
+        //Find namespaces - restrict to inventory
+        //XPathExpression expr = xpath.compile("//java-type[java-attributes[count(xml-element[contains(@type, 'aai.openecomp.org')])=count(./xml-element)][count(xml-element) > 1]]/xml-root-element");
+        XPathExpression expr = xpath.compile("//java-type[@name='Inventory']/java-attributes/xml-element/@name");
+        Object result = expr.evaluate(doc, XPathConstants.NODESET);
+        NodeList nodes = (NodeList) result;
+        List<String> itemsUnderInventory = new ArrayList<>();
+        for (int i = 0; i < nodes.getLength(); i++) {
+            itemsUnderInventory.add(nodes.item(i).getTextContent());
+        }
+        Map<String, String> namespaces = new HashMap<>();
+
+        itemsUnderInventory.remove("Search");
+        for (String item : itemsUnderInventory) {
+            expr = xpath.compile("//java-type[xml-root-element/@name='" + item + "']");
+            result = expr.evaluate(doc, XPathConstants.NODESET);
+            nodes = (NodeList) result;
+            handleItemsUnderInventory(nodes, namespaces, xpath, item);
+        }
+
+        //go through plurals
+        expr = xpath.compile(
+            "//java-type[java-attributes[count(xml-element) = 1]/xml-element[contains(@type, 'aai.openecomp.org')]]/xml-root-element");
+
+        result = expr.evaluate(doc, XPathConstants.NODESET);
+        nodes = (NodeList) result;
+        List<String> children = new ArrayList<>();
+        for (int i = 0; i < nodes.getLength(); i++) {
+            XPathExpression expr2 = xpath
+                .compile("../java-attributes/xml-element[1]/@type[contains(.,'aai.openecomp.org')]");
+            Object result2 = expr2.evaluate(nodes.item(i), XPathConstants.NODESET);
+
+            NodeList node2 = (NodeList) result2;
+            String[] temp = node2.item(0).getTextContent().split("\\.");
+            String containerName = nodes.item(i).getAttributes().getNamedItem("name").getTextContent();
+            String childrenTuple = containerName + "," + temp[temp.length - 1];
+            if (namespaces.containsKey(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, containerName))) {
+                childrenTuple +=
+                    "," + namespaces.get(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, containerName));
+            }
+            children.add(childrenTuple);
+        }
+
+        //match types up with plurals
+        handleChildrenNodes(children, xpath, doc);
+
+        filepath = "bundleconfig-local/etc/oxm/aai_oxm_" + version + ".xml";
+        TransformerFactory transformerFactory = TransformerFactory.newInstance();
+        transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        Transformer transformer = transformerFactory.newTransformer();
+        DOMSource source = new DOMSource(doc);
+        StreamResult file = new StreamResult(new File(filepath));
+        transformer.transform(source, file);
+    }
+
+    private static void handleItemsUnderInventory(NodeList nodes, Map<String, String> namespaces, XPath xpath,
+        String item) throws XPathExpressionException {
+        String[] temp;
+        for (int i = 0; i < nodes.getLength(); i++) {
+            String a = "java-attributes/xml-element/@type[contains(.,'aai.openecomp.org')]";
+            XPathExpression expr2 = xpath.compile(a);
+            Object result2 = expr2.evaluate(nodes.item(i), XPathConstants.NODESET);
+
+            NodeList node2 = (NodeList) result2;
+            for (int j = 0; j < node2.getLength(); j++) {
+                temp = node2.item(j).getTextContent().split("\\.");
+                namespaces.put(temp[temp.length - 1], item);
+            }
+        }
+    }
+
+    private static void handleChildrenNodes(List<String> children, XPath xpath, Document doc)
+        throws XPathExpressionException {
+        NodeList nodes;
+        XPathExpression expr;
+        Object result;
+        String[] split;
+        for (String s : children) {
+            split = s.split(",");
+            expr = xpath.compile("//java-type[@name='" + split[1] + "']/xml-properties");
+            result = expr.evaluate(doc, XPathConstants.NODESET);
+            nodes = (NodeList) result;
+            if (nodes.getLength() > 0) {
+
+                if (!hasChild(nodes.item(0), "name", "container")) {
+
+                    Element property = doc.createElement("xml-property");
+                    property.setAttribute("name", "container");
+                    property.setAttribute("value", split[0]);
+                    nodes.item(0).appendChild(property);
+                }
+
+                if (split.length == 3) {
+                    Element property;
+                    if (!hasChild(nodes.item(0), "name", "namespace")) {
+                        property = doc.createElement("xml-property");
+                        property.setAttribute("name", "namespace");
+                        property.setAttribute("value", split[2]);
+                        nodes.item(0).appendChild(property);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Checks for child.
+     *
+     * @param node the node
+     * @param name the name
+     * @param value the value
+     * @return true, if successful
+     */
+    private static boolean hasChild(Node node, String name, String value) {
+        boolean result = false;
+        NodeList list = node.getChildNodes();
+        Node temp = null;
+        for (int i = 0; i < list.getLength(); i++) {
+
+            if (list.item(i).hasAttributes()) {
+                temp = list.item(i).getAttributes().getNamedItem(name);
+            }
+
+            if (temp != null && temp.getTextContent().equals(value)) {
+                result = true;
+            }
+        }
+
+        return result;
+    }
 }