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;
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;
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;
register = false;
}
-
public String getConfigDevice() {
return operToConfig();
}
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()));
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());
}
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 = tmpwriter.toString();
- LOG.info("DeviceConfiguration - operToCconfig - result = {}", result);
} catch (TransformerException e) {
- LOG.error("Transformer failed ");
+ LOG.error("Transformer failed ", e);
}
return result;
}