Example usage for org.jdom2 Element setAttribute

List of usage examples for org.jdom2 Element setAttribute

Introduction

In this page you can find the example usage for org.jdom2 Element setAttribute.

Prototype

public Element setAttribute(final String name, final String value) 

Source Link

Document

This sets an attribute value for this element.

Usage

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;
}