package org.opennaas.extensions.ofertie.ncl.provisioner.components.mockup; import java.io.BufferedReader; import java.io.CharArrayWriter; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.opennaas.core.resources.ObjectSerializer; import org.opennaas.core.resources.SerializationException; import org.opennaas.extensions.sdnnetwork.model.Route; public abstract class PathLoader { private static Log LOG = LogFactory.getLog(PathLoader.class); public static Map<String, Route> getRoutesFromXml(String xmlWithPaths) throws SerializationException { LOG.debug("Parsing routes from xml."); Map<String, Route> finalPaths = new HashMap<String, Route>(); List<Route> routes = ObjectSerializer.fromXML(xmlWithPaths, Route.class); for (Route route : routes) { finalPaths.put(route.getId(), route); } LOG.debug(routes.size() + " routes parsed from xml."); return finalPaths; } public static String readXMLFile(String filePath) throws IOException { LOG.debug("Reading content of file " + filePath); InputStreamReader reader = null; BufferedReader bufferReader = null; try { URL url = new URL(filePath); reader = new InputStreamReader(url.openStream()); bufferReader = new BufferedReader(reader); } catch (MalformedURLException ignore) { // They try a file File file = new File(filePath); bufferReader = new BufferedReader(new FileReader(file)); } CharArrayWriter w = new CharArrayWriter(); int n; char[] buf = new char[8192]; while ((n = bufferReader.read(buf)) > 0) { w.write(buf, 0, n); } bufferReader.close(); String fileContent = w.toString(); LOG.debug("Readed content of file " + filePath); return fileContent; } }