*/
package io.fd.honeycomb.transportpce.device.tools;
-import io.fd.honeycomb.transportpce.binding.converter.XMLDataObjectConverter;
-import io.fd.honeycomb.transportpce.test.common.DataStoreContext;
-
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.File;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import io.fd.honeycomb.transportpce.binding.converter.XMLDataObjectConverter;
+import io.fd.honeycomb.transportpce.test.common.DataStoreContext;
+
/**
- * Factory for creating the default device from the XML stored in
- * classpath.
+ * Factory for creating the default device from the XML stored in classpath.
*
* @author Martial COULIBALY ( martial.coulibaly@gfi.com ) on behalf of Orange
*/
private static final Logger LOG = LoggerFactory.getLogger(DefaultPmListFactory.class);
/**
- * Returns a new instance of {@link CurrentPmlist} from the loaded XML stored
- * in File.
+ * Returns a new instance of {@link CurrentPmlist} from the loaded XML stored in
+ * File.
*
* @return {@link CurrentPmlist}
*/
try {
targetStream = new FileInputStream(pm_data_config);
Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = null;
- transformIntoNormalizedNode =
- XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
+ transformIntoNormalizedNode = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
.transformIntoNormalizedNode(targetStream);
if (!transformIntoNormalizedNode.isPresent()) {
- throw new IllegalStateException(String.format("Could not transform the input %s into normalized nodes",
- config));
+ throw new IllegalStateException(
+ String.format("Could not transform the input %s into normalized nodes", config));
}
Optional<DataObject> dataObject = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
.getDataObject(transformIntoNormalizedNode.get(), CurrentPmlist.QNAME);
if (!dataObject.isPresent()) {
- throw new IllegalStateException("Could not transform normalized nodes into data object");
+ LOG.warn("Could not transform normalized nodes into data object");
+ return null;
}
- result = (CurrentPmlist) dataObject.get();
- } catch (FileNotFoundException | IllegalStateException e) {
- LOG.error("File not found : {} at {}", e);
+ result = (CurrentPmlist) dataObject.get();
+ } catch (FileNotFoundException e) {
+ LOG.error("File not found : {} at {}", e.getMessage(), e.getLocalizedMessage());
+ } catch (IllegalStateException e) {
+ LOG.warn("Could not transform the input PM into normalized nodes");
}
} else {
LOG.info("xml file not existed at : '{}'", pm_data_config.getAbsolutePath());
}
return result;
}
+
/**
- * Returns a new instance of {@link CurrentPmlist} from the loaded XML stored
- * in String.
+ * Returns a new instance of {@link CurrentPmlist} from the loaded XML stored in
+ * String.
*
* @return {@link CurrentPmlist}
*/
if (pm_data_config != null) {
LOG.info("Pm List data config string is ok ");
InputStream targetStream;
- targetStream = new ByteArrayInputStream(pm_data_config.getBytes());
- Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = null;
- transformIntoNormalizedNode =
- XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
- .transformIntoNormalizedNode(targetStream);
- if (!transformIntoNormalizedNode.isPresent()) {
- throw new IllegalStateException(String.format("Could not transform the input %s into normalized nodes"));
- }
- Optional<DataObject> dataObject = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
- .getDataObject(transformIntoNormalizedNode.get(), CurrentPmlist.QNAME);
- if (!dataObject.isPresent()) {
- throw new IllegalStateException("Could not transform normalized nodes into data object");
+ try {
+ targetStream = new ByteArrayInputStream(pm_data_config.getBytes());
+ Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = null;
+ transformIntoNormalizedNode = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
+ .transformIntoNormalizedNode(targetStream);
+ if (!transformIntoNormalizedNode.isPresent()) {
+ throw new IllegalStateException(
+ String.format("Could not transform the input %s into normalized nodes"));
+ }
+ Optional<DataObject> dataObject = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
+ .getDataObject(transformIntoNormalizedNode.get(), CurrentPmlist.QNAME);
+ if (!dataObject.isPresent()) {
+ LOG.warn("Could not transform normalized nodes into data object");
+ return null;
+ }
+ result = (CurrentPmlist) dataObject.get();
+ } catch (IllegalStateException e) {
+ LOG.warn("Could not transform the input pm into normalized nodes");
}
- result = (CurrentPmlist) dataObject.get();
} else {
LOG.info("device data config string is null!");
}
return result;
}
-
/**
* create an XML String from an instance of {@link CurrentPmlist}.
*
public void createXMLFromPmList(DataStoreContext dataStoreContextUtil, CurrentPmlist pm_list, String output) {
if (pm_list != null) {
Optional<NormalizedNode<?, ?>> transformIntoNormalizedNode = null;
- transformIntoNormalizedNode =
- XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
+ transformIntoNormalizedNode = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil)
.toNormalizedNodes(pm_list, CurrentPmlist.class);
if (!transformIntoNormalizedNode.isPresent()) {
- throw new IllegalStateException(String.format("Could not transform the input %s into normalized nodes",
- pm_list));
+ throw new IllegalStateException(
+ String.format("Could not transform the input %s into normalized nodes", pm_list));
}
- XMLDataObjectConverter createWithDataStoreUtil = XMLDataObjectConverter.createWithDataStoreUtil(dataStoreContextUtil);
- Writer writerFromDataObject =
- createWithDataStoreUtil.writerFromDataObject(pm_list, CurrentPmlist.class, createWithDataStoreUtil.dataContainer());
+ XMLDataObjectConverter createWithDataStoreUtil = XMLDataObjectConverter
+ .createWithDataStoreUtil(dataStoreContextUtil);
+ Writer writerFromDataObject = createWithDataStoreUtil.writerFromDataObject(pm_list, CurrentPmlist.class,
+ createWithDataStoreUtil.dataContainer());
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(output));
writer.write(writerFromDataObject.toString());