List of usage examples for org.jdom2 Element setAttribute
public Element setAttribute(final String name, final String value)
This sets an attribute value for this element.
From source file:delfos.group.results.groupevaluationmeasures.printers.PrintGroups.java
License:Open Source License
@Override public GroupEvaluationMeasureResult getMeasureResult(GroupRecommenderSystemResult groupRecommenderSystemResult, DatasetLoader<? extends Rating> originalDatasetLoader, RelevanceCriteria relevanceCriteria, DatasetLoader<? extends Rating> trainingDatasetLoader, DatasetLoader<? extends Rating> testDatasetLoader) { File output = new File( PRINTER_DIRECTORY.getPath() + File.separator + groupRecommenderSystemResult.getGroupCaseStudyAlias() + "__" + "exec=" + groupRecommenderSystemResult.getThisExecution() + "-split=" + groupRecommenderSystemResult.getThisSplit() + "-groups.xml"); Element groups = new Element("Groups"); for (GroupOfUsers groupOfUsers : groupRecommenderSystemResult.getGroupsOfUsers()) { Element group = new Element("Group"); group.setAttribute("group", groupOfUsers.toString()); groups.addContent(group);/*from w w w . ja v a2 s .com*/ } FileUtilities.createDirectoriesForFile(output); try (FileWriter fileWriter = new FileWriter(output)) { XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); outputter.output(groups, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } return new GroupEvaluationMeasureResult(this, 1.0); }
From source file:delfos.io.xml.casestudy.CaseStudyXML.java
License:Open Source License
public synchronized static void caseStudyToXMLFile(CaseStudy caseStudy, File file) { if (!caseStudy.isFinished()) { throw new UnsupportedOperationException("No se ha ejecutado el caso de uso todava"); }//from www.j a v a 2s .c o m Document doc = new Document(); Element casoDeUso = new Element(CASE_ROOT_ELEMENT_NAME); casoDeUso.setAttribute(SEED_ATTRIBUTE_NAME, Long.toString(caseStudy.getSeedValue())); casoDeUso.setAttribute(NUM_EXEC_ATTRIBUTE_NAME, Integer.toString(caseStudy.getNumExecutions())); casoDeUso.addContent(RecommenderSystemXML.getElement(caseStudy.getRecommenderSystem())); casoDeUso.addContent(ValidationTechniqueXML.getElement(caseStudy.getValidationTechnique())); casoDeUso.addContent(PredictionProtocolXML.getElement(caseStudy.getPredictionProtocol())); casoDeUso.addContent(RelevanceCriteriaXML.getElement(caseStudy.getRelevanceCriteria())); casoDeUso.addContent(DatasetLoaderXML.getElement(caseStudy.getDatasetLoader())); casoDeUso.addContent(getResultsElement(caseStudy)); casoDeUso.addContent(getAggregatedResultsElement(caseStudy)); doc.addContent(casoDeUso); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(file)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }
From source file:delfos.io.xml.casestudy.CaseStudyXML.java
License:Open Source License
private static void caseStudyToXMLFile_onlyAggregate(CaseStudy caseStudy, String descriptivePrefix, File file) { if (!caseStudy.isFinished()) { throw new UnsupportedOperationException("No se ha ejecutado el caso de uso todava"); }//from ww w . j av a 2 s .c o m Document doc = new Document(); Element casoDeUso = new Element("Case"); casoDeUso.setAttribute("seed", Long.toString(caseStudy.getSeedValue())); casoDeUso.setAttribute("numExec", Integer.toString(caseStudy.getNumExecutions())); casoDeUso.addContent(RecommenderSystemXML.getElement(caseStudy.getRecommenderSystem())); casoDeUso.addContent(ValidationTechniqueXML.getElement(caseStudy.getValidationTechnique())); casoDeUso.addContent(PredictionProtocolXML.getElement(caseStudy.getPredictionProtocol())); casoDeUso.addContent(RelevanceCriteriaXML.getElement(caseStudy.getRelevanceCriteria())); casoDeUso.addContent(DatasetLoaderXML.getElement(caseStudy.getDatasetLoader())); //casoDeUso.addContent(getResultsElement(caseStudy)); casoDeUso.addContent(getAggregatedResultsElement(caseStudy)); doc.addContent(casoDeUso); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(file)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }
From source file:delfos.io.xml.dataset.DatasetLoaderXML.java
License:Open Source License
public static DatasetLoader<? extends Rating> getDatasetLoader(Element datasetLoaderElement) { if (!datasetLoaderElement.getName().equals(ELEMENT_NAME)) { throw new IllegalArgumentException("The element does not contains a dataset loader. [Element name '" + datasetLoaderElement.getName() + "']"); }/*w w w . ja va 2s.com*/ String name = datasetLoaderElement.getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME); String parameterOwnerType = datasetLoaderElement .getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE); if (parameterOwnerType == null) { datasetLoaderElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE, ParameterOwnerType.DATASET_LOADER.name()); } if (datasetLoaderElement.getAttribute(CONFIGURED_DATASET_ATTRIBUTE) != null && "true".equals(datasetLoaderElement.getAttributeValue(CONFIGURED_DATASET_ATTRIBUTE))) { //Es un dataset configurado, hay que recuperarlo de la factora de dataset configurados. DatasetLoader<? extends Rating> datasetLoader = ConfiguredDatasetsFactory.getInstance() .getDatasetLoader(name); return datasetLoader; } else { //Un dataset de toda la vida. ParameterOwner parameterOwner = ParameterOwnerXML.getParameterOwner(datasetLoaderElement); if (parameterOwner instanceof DatasetLoader) { DatasetLoader<? extends Rating> datasetLoader = (DatasetLoader) parameterOwner; return datasetLoader; } else { IllegalStateException ex = new IllegalStateException( "The XML does not have the expected structure: The loaded parameter owner is not a dataset loader [" + parameterOwner + "]"); ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex); throw ex; } } }
From source file:delfos.io.xml.dataset.DatasetLoaderXML.java
License:Open Source License
public static Element getElement(ParameterOwner parameterOwner, Parameter parameter) { DatasetLoader<? extends Rating> dl = (DatasetLoader) parameterOwner.getParameterValue(parameter); Element datasetLoaderElement = new Element(ELEMENT_NAME); datasetLoaderElement.setAttribute("name", dl.getName()); for (Parameter p : dl.getParameters()) { Element elementParameter = ParameterXML.getElement(dl, p); datasetLoaderElement.addContent(elementParameter); }/*from www . j ava 2s. c o m*/ return datasetLoaderElement; }
From source file:delfos.io.xml.dataset.RelevanceCriteriaXML.java
License:Open Source License
/** * Genera el elemento XML que describe el criterio de relevancia * * @param relevanceCriteria Criterio de relevancia a almacenar * @return Elemento con la informacin necesaria para reconstruir el * criterio de relevancia//from w ww . j a v a2 s .c om */ public static Element getElement(RelevanceCriteria relevanceCriteria) { Element relevanceCriteriaElement = new Element(ELEMENT_NAME); relevanceCriteriaElement.setAttribute(TRESHOLD_ATTRIBUTE, relevanceCriteria.getThreshold().toString()); return relevanceCriteriaElement; }
From source file:delfos.io.xml.evaluationmeasures.confusionmatricescurve.ConfusionMatricesCurveXML.java
License:Open Source License
/** * Construye un objeto {@link Element} con la informacin de la curva que * recibe como argumento. Este objeto {@link Element} se puede convertir * nuevamente a {@link ConfusionMatricesCurve} utilizando el mtodo {@link ConfusionMatricesCurveXML#getConfusionMatricesCurve(org.jdom2.Element) * }/*from ww w . j a v a 2 s .co m*/ * * @param curve Curva que se desea convertir a {@link Element} * @return {@link Element} con la informacin almacenada en la curva */ public static Element getElement(ConfusionMatricesCurve curve) { Element curveElement = new Element(CURVE_ELEMENT); /* * El ndice empieza en uno porque as se hace para recuperar los puntos * de una ConfusionMatricesCurve */ for (int index = 0; index < curve.size(); index++) { Element par = new Element(MATRIX); par.setAttribute(K, Integer.toString(index)); par.setAttribute(FALSE_POSITIVE, Integer.toString(curve.getFalsePositiveAt(index))); par.setAttribute(TRUE_POSITIVE, Integer.toString(curve.getTruePositiveAt(index))); par.setAttribute(FALSE_NEGATIVE, Integer.toString(curve.getFalseNegativeAt(index))); par.setAttribute(TRUE_NEGATIVE, Integer.toString(curve.getTrueNegativeAt(index))); curveElement.addContent(par); } return curveElement; }
From source file:delfos.io.xml.evaluationmeasures.confusionmatricescurve.PRCurveRawData.java
License:Open Source License
@Override public Element getRawDataElement(ConfusionMatricesCurve curve) { Element ret = new Element(RAW_DATA_ELEMENT); ret.setAttribute(RAW_DATA_TYPE_ATTRIBUTE, TYPE_NAME); StringBuilder b = new StringBuilder(); b.append("\n"); for (int index = 0; index < curve.size(); index++) { b.append(curve.getPrecisionAt(index)); b.append("\t"); b.append(curve.getRecallAt(index)); b.append("\n"); }//from www. ja v a2 s. co m b.append("\n"); ret.addContent(b.toString()); return ret; }
From source file:delfos.io.xml.evaluationmeasures.confusionmatricescurve.ROCCurveRawData.java
License:Open Source License
@Override public Element getRawDataElement(ConfusionMatricesCurve curve) { Element ret = new Element(RAW_DATA_ELEMENT); ret.setAttribute(RAW_DATA_TYPE_ATTRIBUTE, TYPE_NAME); StringBuilder b = new StringBuilder(); b.append("\n"); for (int index = 0; index < curve.size(); index++) { b.append(curve.getFalsePositiveRateAt(index)); b.append("\t"); b.append(curve.getTruePositiveRateAt(index)); b.append("\n"); }/* w ww .j ava2 s .c o m*/ b.append("\n"); ret.addContent(b.toString()); return ret; }
From source file:delfos.io.xml.parameterowner.parameter.BooleanParameterXML.java
License:Open Source License
/** * Genera el elemento XML que describe el parmetro y el valor que tiene. * * @param parameterOwner Parameter owner al que pertenece al parmetro. Se * debe consultar a este objeto para conocer el valor actual del mismo * @param p Parmetro a almacenar// ww w . j a va2 s . c om * @return */ public static Element getBooleanParameterElement(ParameterOwner parameterOwner, Parameter p) { Element doubleParameter = new Element(ParameterXML.PARAMETER_ELEMENT_NAME); doubleParameter.setAttribute(ParameterXML.PARAMETER_NAME, p.getName()); BooleanParameter bp = (BooleanParameter) p.getRestriction(); doubleParameter.setAttribute(ParameterXML.PARAMETER_TYPE, bp.getName()); doubleParameter.setAttribute(VALUE_ATTRIBUTE, parameterOwner.getParameterValue(p).toString()); return doubleParameter; }