public static void getGUIConfigFromXml(InputStream is, GUIConfig config) { try { DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); Document doc = docBuilder.parse(is); validateSchema(doc, Constants.CONFIG_SCHEMA_FILE_PATH); // normalize text representation doc.getDocumentElement().normalize(); NodeList language = doc.getElementsByTagName("language").item(0).getChildNodes(); for (int s = 0; s < language.getLength(); s++) { Node nodeAux = language.item(s); config.setLanguage(nodeAux.getTextContent().trim()); } NodeList recentConfigFiles = doc.getElementsByTagName("recentConfigFiles").item(0).getChildNodes(); for (int s = 0; s < recentConfigFiles.getLength(); s++) { Node nodeAux = recentConfigFiles.item(s); if (nodeAux.getNodeType() == Node.ELEMENT_NODE) { if (nodeAux.getNodeName().equals("configFile")) { config.addRecentConfigFile(nodeAux.getTextContent().trim()); } } } } catch (SAXParseException err) { logger.error( "** Parsing error" + ", line " + err.getLineNumber() + ", uri " + err.getSystemId()); logger.error(" " + err.getMessage()); throw new ConfigException(err); } catch (SAXException e) { throw new ConfigException(e); } catch (Throwable t) { throw new ConfigException(t); } } // end of main