List of usage examples for org.jdom2.input SAXBuilder build
@Override public Document build(final String systemId) throws JDOMException, IOException
This builds a document from the supplied URI.
From source file:delfos.group.io.xml.casestudy.GroupCaseStudyXML.java
License:Open Source License
/** * Carga la descripcin de un caso de estudio para sistemas de recomendacin * para grupos.// w ww . ja va 2 s . c om * * @param file Archivo donde se encuentra almacenado el caso de estudio. * @return Caso de estudio recuperado del archivo. * @throws org.jdom2.JDOMException Cuando se intenta cargar un xml que no * tiene la estructura esperada. Chequear si esta desfasada la versin. * @throws IOException Cuando no se puede leer el archivo indicado o existe * algun fallo de conversin de datos al leer el contenido del mismo. */ public static GroupCaseStudyConfiguration loadGroupCaseWithResults(File file) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(file); Element caseStudy = doc.getRootElement(); if (!caseStudy.getName().equals(CASE_ROOT_ELEMENT_NAME)) { throw new IllegalArgumentException("The XML does not contains a Case Study."); } GroupRecommenderSystem<Object, Object> groupRecommenderSystem = GroupRecommenderSystemXML .getGroupRecommenderSystem(caseStudy.getChild(GroupRecommenderSystemXML.ELEMENT_NAME)); GroupFormationTechnique groupFormationTechnique = GroupFormationTechniqueXML .getGroupFormationTechnique(caseStudy.getChild(GroupFormationTechniqueXML.ELEMENT_NAME)); ValidationTechnique validationTechnique = ValidationTechniqueXML .getValidationTechnique(caseStudy.getChild(ValidationTechniqueXML.ELEMENT_NAME)); GroupPredictionProtocol groupPredictionProtocol = GroupPredictionProtocolXML .getGroupPredictionProtocol(caseStudy.getChild(GroupPredictionProtocolXML.ELEMENT_NAME)); RelevanceCriteria relevanceCriteria = RelevanceCriteriaXML .getRelevanceCriteria(caseStudy.getChild(RelevanceCriteriaXML.ELEMENT_NAME)); DatasetLoader<? extends Rating> datasetLoader = DatasetLoaderXML .getDatasetLoader(caseStudy.getChild(DatasetLoaderXML.ELEMENT_NAME)); Map<GroupEvaluationMeasure, GroupEvaluationMeasureResult> groupEvaluationMeasuresResults = getEvaluationMeasures( caseStudy); long seed = Long.parseLong(caseStudy.getAttributeValue(SeedHolder.SEED.getName())); int numExecutions = Integer.parseInt(caseStudy.getAttributeValue(NUM_EXEC_ATTRIBUTE_NAME)); String caseStudyAlias = caseStudy.getAttributeValue(ParameterOwner.ALIAS.getName()); return new GroupCaseStudyConfiguration(groupRecommenderSystem, datasetLoader, groupFormationTechnique, validationTechnique, groupPredictionProtocol, relevanceCriteria, caseStudyAlias, numExecutions, seed, groupEvaluationMeasuresResults); }
From source file:delfos.group.io.xml.casestudy.GroupCaseStudyXML.java
License:Open Source License
public static int extractResultNumExec(File groupCaseStudyXML) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(groupCaseStudyXML); Element caseStudy = doc.getRootElement(); if (!caseStudy.getName().equals(CASE_ROOT_ELEMENT_NAME)) { throw new IllegalArgumentException("The XML does not contains a Case Study."); }/*from w ww . jav a2 s . c om*/ Integer numExec = new Integer(caseStudy.getAttributeValue(NUM_EXEC_ATTRIBUTE_NAME)); return numExec; }
From source file:delfos.io.xml.casestudy.CaseStudyXML.java
License:Open Source License
/** * Carga un caso de estudio desde un archivo XML * * @param file Archivo XML del que se carga la configuracin del caso de estudio. * @return//ww w. j av a 2 s . c o m * @throws org.jdom2.JDOMException * @throws java.io.IOException */ public static CaseStudyConfiguration loadCase(File file) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(file); Element caseStudy = doc.getRootElement(); if (!caseStudy.getName().equals(CASE_ROOT_ELEMENT_NAME)) { throw new IllegalArgumentException( "The XML does not contains a Case Study (" + file.getAbsolutePath() + ")"); } GenericRecommenderSystem<Object> recommenderSystem = RecommenderSystemXML .getRecommenderSystem(caseStudy.getChild(RecommenderSystemXML.ELEMENT_NAME)); DatasetLoader<? extends Rating> datasetLoader = DatasetLoaderXML .getDatasetLoader(caseStudy.getChild(DatasetLoaderXML.ELEMENT_NAME)); ValidationTechnique validationTechnique = ValidationTechniqueXML .getValidationTechnique(caseStudy.getChild(ValidationTechniqueXML.ELEMENT_NAME)); PredictionProtocol predictionProtocol = PredictionProtocolXML .getPredictionProtocol(caseStudy.getChild(PredictionProtocolXML.ELEMENT_NAME)); RelevanceCriteria relevanceCriteria = RelevanceCriteriaXML .getRelevanceCriteria(caseStudy.getChild(RelevanceCriteriaXML.ELEMENT_NAME)); return new CaseStudyConfiguration(recommenderSystem, datasetLoader, validationTechnique, predictionProtocol, relevanceCriteria); }
From source file:delfos.io.xml.casestudy.CaseStudyXML.java
License:Open Source License
/** * Carga un caso de estudio desde un archivo XML * * @param file Archivo XML del que se carga la configuracin del caso de estudio. * @return// w ww . j a v a 2 s . co m * @throws org.jdom2.JDOMException * @throws java.io.IOException */ public static CaseStudyResults loadCaseResults(File file) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(file); Element caseStudy = doc.getRootElement(); if (!caseStudy.getName().equals(CASE_ROOT_ELEMENT_NAME)) { throw new IllegalArgumentException("The XML does not contains a Case Study."); } GenericRecommenderSystem<Object> recommenderSystem = RecommenderSystemXML .getRecommenderSystem(caseStudy.getChild(RecommenderSystemXML.ELEMENT_NAME)); ValidationTechnique validationTechnique = ValidationTechniqueXML .getValidationTechnique(caseStudy.getChild(ValidationTechniqueXML.ELEMENT_NAME)); PredictionProtocol predictionProtocol = PredictionProtocolXML .getPredictionProtocol(caseStudy.getChild(PredictionProtocolXML.ELEMENT_NAME)); DatasetLoader<? extends Rating> datasetLoader = DatasetLoaderXML .getDatasetLoader(caseStudy.getChild(DatasetLoaderXML.ELEMENT_NAME)); EvaluationMeasuresResults aggregatedElement = getAggregateEvaluationMeasures( caseStudy.getChild("Aggregate_values")); return new CaseStudyResults(recommenderSystem, datasetLoader, validationTechnique, predictionProtocol, aggregatedElement.evaluationMeasuresResults, aggregatedElement.buildTime, aggregatedElement.recommendationTime); }
From source file:delfos.main.managers.experiment.join.xml.AggregateResultsXML.java
License:Open Source License
public Map<String, Object> extractMapFromFile(File inputFile) throws JDOMException, IOException { Element caseStudy;//from ww w . j a v a 2 s . c o m long fileSize = FileUtils.sizeOf(inputFile); if (fileSize > Math.pow(2, 20)) { File smallerFile = new File(inputFile.getPath() + "_smaller"); BufferedWriter writer; try (BufferedReader reader = new BufferedReader(new FileReader(inputFile))) { writer = new BufferedWriter(new FileWriter(smallerFile)); String line = reader.readLine(); while (line != null) { if (!line.contains("ndcg_value=")) { writer.write(line); } line = reader.readLine(); } } writer.close(); SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(smallerFile); caseStudy = doc.getRootElement(); smallerFile.delete(); } else { SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(inputFile); caseStudy = doc.getRootElement(); } Map<String, Object> valuesByColumnName = new TreeMap<>(); if (!caseStudy.getName().equals(CASE_ROOT_ELEMENT_NAME)) { throw new IllegalArgumentException( "The XML does not contains a Case Study (" + inputFile.getAbsolutePath() + ")"); } valuesByColumnName.putAll(extractCaseParametersMapFromElement(caseStudy)); valuesByColumnName.putAll(extractCaseResultsMapFromElement(caseStudy)); return valuesByColumnName; }
From source file:delfos.rs.output.RecommendationsOutputFileXML.java
License:Open Source License
public Recommendations readRecommendations(String idTarget) throws JDOMException { SAXBuilder builder = new SAXBuilder(); Document doc = null;/*from w w w . java 2 s . co m*/ try { doc = builder.build(getCompleteFile(idTarget)); } catch (IOException ex) { Global.showError(ex); ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex); throw new IllegalStateException(ex); } Element recommendationsElement = doc.getRootElement(); Recommendations recommendations = RecommendationsToXML.getRecommendations(recommendationsElement); return recommendations; }
From source file:delfos.web.DelfosWebConfiguration.java
public static String printXML(String xmlPath) { DelfosWebConfiguration.setConfiguration(); File xml = new File(xmlPath); if (!xml.exists()) { ERROR_CODES.CONFIG_FILE_NOT_EXISTS.exit( new FileNotFoundException("Configuration file '" + xml.getAbsolutePath() + "' not found")); }/*from w w w . j av a2s . c o m*/ Global.showMessageTimestamped("Loading config file " + xml.getAbsolutePath()); SAXBuilder builder = new SAXBuilder(); Document doc = null; try { doc = builder.build(xml); } catch (JDOMException | IOException ex) { Global.showError(ex); ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex); throw new IllegalStateException(ex); } Element config = doc.getRootElement(); config.setAttribute("configurationFilePath", xml.getAbsolutePath()); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); return outputter.outputString(doc); }
From source file:devicemodel.conversions.XmlConversions.java
public static DeviceNode xmlToNode(File f) throws IOException, JDOMException { SAXBuilder docBuilder = new SAXBuilder(); Document doc = docBuilder.build(f); return xmlToNode(doc.getRootElement()); }
From source file:devicemodel.conversions.XmlConversions.java
public static Element xmlString2Element(String string) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(); Document document = builder.build(new StringReader(string)); return document.getRootElement(); }
From source file:devicerestservice.ExampleApp.java
public static void main(String[] args) throws IOException { if (args.length != 2) { System.out.println("Must specify configuration file and device description"); System.exit(1);//from w w w .ja v a 2 s. c o m } File xmlConfig = new File(args[0]); File xmlDeviceDesc = new File(args[1]); if (!xmlConfig.exists()) { System.out.println("Configuration file not found."); System.exit(2); } if (!xmlDeviceDesc.exists()) { System.out.println("Device description file not found."); System.exit(3); } SAXBuilder builder = new SAXBuilder(); Element configurationElement = null; Element deviceDescriptionElement = null; try { Document document = (Document) builder.build(xmlConfig); configurationElement = document.getRootElement(); } catch (JDOMException ex) { System.out.println("Can't parse configuration file."); System.exit(4); } try { Document document = (Document) builder.build(xmlDeviceDesc); deviceDescriptionElement = document.getRootElement(); } catch (JDOMException ex) { System.out.println("Can't parse device description file."); System.exit(5); } if (configurationElement == null || !configurationElement.getName().equals("Device")) { System.out.println("Not a proper configuration XML file."); System.out.println( "Ensure XML has elements in Pascal Case (i.e. DeviceName not deviceName or devicename)"); System.exit(6); } new ExampleApp(configurationElement, deviceDescriptionElement); }