/** * Return a XML with config * * @param path Path for saving de config * @param config GUIConfig */ public static void saveXMLFromGUIConfig(String path, GUIConfig config) { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder; Document doc = null; try { docBuilder = docFactory.newDocumentBuilder(); // root elements doc = docBuilder.newDocument(); Element rootElement = doc.createElement("gui-configuration"); doc.appendChild(rootElement); Element language = doc.createElement("language"); language.setTextContent(config.getLanguage()); rootElement.appendChild(language); Element recentConfigFiles = doc.createElement("recentConfigFiles"); rootElement.appendChild(recentConfigFiles); for (String configFilePath : config.getRecentConfigFiles()) { Element configFile = doc.createElement("configFile"); configFile.setTextContent(configFilePath); recentConfigFiles.appendChild(configFile); } // write the content into xml file TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); // At the moment we are not to validate Scheme // validateSchema(doc, Constants.configSchemaFilePath); // normalize text representation doc.getDocumentElement().normalize(); StreamResult result = new StreamResult(new File(path)); transformer.transform(source, result); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } }