HoneyNode Java 11 support for 121 devices
[transportpce.git] / tests / honeynode / 1.2.1 / honeynode-plugin-impl / src / main / java / io / fd / honeycomb / transportpce / device / configuration / DeviceConfiguration.java
 
 package io.fd.honeycomb.transportpce.device.configuration;
 
-import io.fd.honeycomb.transportpce.device.tools.DefaultDeviceFactory;
-import io.fd.honeycomb.transportpce.test.common.DataStoreContext;
-import io.fd.honeycomb.transportpce.test.common.DataStoreContextImpl;
-
 import java.io.File;
 import java.io.StringReader;
 import java.io.StringWriter;
@@ -35,6 +31,10 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.open
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import io.fd.honeycomb.transportpce.device.tools.DefaultDeviceFactory;
+import io.fd.honeycomb.transportpce.device.tools.ExtractXMLTag;
+import io.fd.honeycomb.transportpce.test.common.DataStoreContext;
+import io.fd.honeycomb.transportpce.test.common.DataStoreContextImpl;
 import net.jmob.guice.conf.core.BindConfig;
 import net.jmob.guice.conf.core.InjectConfig;
 import net.jmob.guice.conf.core.Syntax;
@@ -50,8 +50,6 @@ public final class DeviceConfiguration {
     private static final Logger LOG = LoggerFactory.getLogger(DeviceConfiguration.class);
     private static final String DEVICE_XSL = "device/OperToConfig.xsl";
     private static final String CONFIG_XSL = "device/config.xsl";
-    private static final String NAMESPACE_TRIMER_XSL = "device/NamespaceTrimmer.xslt";
-    //private static final String DEVICE_DATA_SAMPLE_OPER_XML = "device/sample-config-ROADM.xml";
 
     public String config_device;
     public OrgOpenroadmDevice oper_device;
@@ -73,7 +71,6 @@ public final class DeviceConfiguration {
         register = false;
     }
 
-
     public String getConfigDevice() {
         return operToConfig();
     }
@@ -97,15 +94,17 @@ public final class DeviceConfiguration {
     public OrgOpenroadmDevice getDataDevice() {
         OrgOpenroadmDevice result = null;
         File device_data = new File(classLoader.getResource(DEVICE_DATA_SAMPLE_OPER_XML).getFile());
-        result = defaultDeviceFactory.createDefaultDevice(dataStoreContextUtil,device_data);
+        result = defaultDeviceFactory.createDefaultDevice(dataStoreContextUtil, device_data);
         if (result != null) {
             LOG.info("result info : {}", result.getInfo().getNodeId());
+        } else {
+            LOG.warn("Failed to get Device data !");
         }
         return result;
     }
 
     public OrgOpenroadmDevice getDeviceFromXML(String xml) {
-        String config_result =null;
+        String config_result = null;
         LOG.info("process to transform xml file to config data");
         TransformerFactory factory = TransformerFactory.newInstance();
         Source xslt = new StreamSource(new File(classLoader.getResource(CONFIG_XSL).getFile()));
@@ -119,8 +118,8 @@ public final class DeviceConfiguration {
             text = new StreamSource(new StringReader(xml));
             transformer.transform(text, new StreamResult(device_config));
             config_result = device_config.toString();
-            //LOG.info("config_result: {}",config_result);
-            result  = defaultDeviceFactory.createDefaultDevice(dataStoreContextUtil,config_result);
+            // LOG.info("config_result: {}",config_result);
+            result = defaultDeviceFactory.createDefaultDevice(dataStoreContextUtil, config_result);
             if (result != null) {
                 LOG.info("result info : {}", result.getInfo().getNodeId());
             }
@@ -131,36 +130,28 @@ public final class DeviceConfiguration {
         return result;
     }
 
-
-   /**
-    * Convert data xml to config xml device.
-    * @return String result
-    */
+    /**
+     * Convert data xml to config xml device.
+     *
+     * @return String result
+     */
     public String operToConfig() {
-        String result =null;
-        LOG.info("process to transform xml file ");
+        String result = null;
+        LOG.info("process to transform xml file {}",DEVICE_DATA_SAMPLE_OPER_XML);
         TransformerFactory factory = TransformerFactory.newInstance();
         Source xslt = new StreamSource(new File(classLoader.getResource(DEVICE_XSL).getFile()));
-        Transformer transformer;
-        Source text;
         StringWriter tmpwriter = new StringWriter();
-        StringReader reader;
         try {
             LOG.info("transforming xml data to config device ...");
-            transformer = factory.newTransformer(xslt);
-            text = new StreamSource(new File(classLoader.getResource(DEVICE_DATA_SAMPLE_OPER_XML).getFile()));
+            Transformer transformer = factory.newTransformer(xslt);
+            String extract_data = ExtractXMLTag.extractTagElement(DEVICE_DATA_SAMPLE_OPER_XML, "org-openroadm-device",
+                    "http://org/openroadm/device");
+            Source text = new StreamSource(new StringReader(extract_data));
+            LOG.info("text avant transform = {}", text.toString());
             transformer.transform(text, new StreamResult(tmpwriter));
-            LOG.info("removing namespace ...");
-            xslt = new StreamSource(new File(classLoader.getResource(NAMESPACE_TRIMER_XSL).getFile()));
-            transformer = factory.newTransformer(xslt);
-            reader = new StringReader(tmpwriter.toString());
-            StringWriter device_config = new StringWriter();
-            text = new StreamSource(reader);
-            transformer.transform(text, new StreamResult(device_config));
-            result = device_config.toString();
-            //LOG.info(result);
+            result = tmpwriter.toString();
         } catch (TransformerException e) {
-            LOG.error("Transformer failed ");
+            LOG.error("Transformer failed ", e);
         }
         return result;
     }