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.io.xml.persistencemethod.PersistenceMethodXML.java

License:Open Source License

/**
 * Construye el elemento XML que define la persistencia en base de datos
 * indicada por parmetro//  w  w  w .j a v a 2s  .  co  m
 *
 * @param databasePersistence Persistencia en base de datos a almacenar
 * @return Elemento XML que describe la persistencia en base de datos
 */
public static Element getDatabasePersistenceElement(DatabasePersistence databasePersistence) {
    Element ret = new Element(PERSISTENCE_METHOD_ELEMENT);
    ret.setAttribute(PERSISTENCE_METHOD_TYPE_ATTRIBUTE, databasePersistence.getClass().getSimpleName());

    ret.setAttribute(DATABASE_PERSISTENCE_SERVER_NAME, databasePersistence.getServer());
    ret.setAttribute(DATABASE_PERSISTENCE_PORT, Integer.toString(databasePersistence.getPort()));
    ret.setAttribute(DATABASE_PERSISTENCE_DATABASE_NAME, databasePersistence.getDatabase());
    ret.setAttribute(DATABASE_PERSISTENCE_PREFIX, databasePersistence.getPrefix());
    ret.setAttribute(DATABASE_PERSISTENCE_USER, databasePersistence.getUser());
    ret.setAttribute(DATABASE_PERSISTENCE_PASSWORD, databasePersistence.getPass());
    return ret;
}

From source file:delfos.io.xml.persistencemethod.PersistenceMethodXML.java

License:Open Source License

/**
 * Construye el elemento XML que define la persistencia en fichero pasada
 * por parmetro/*from   w ww  . j  av  a  2s  .com*/
 *
 * @param filePersistence Persistencia en fichero a almacenar
 * @return Elemento XML que describe la persistencia en fichero
 */
private static Element getFilePersistenceElement(FilePersistence filePersistence) {
    Element ret = new Element(PERSISTENCE_METHOD_ELEMENT);
    ret.setAttribute(PERSISTENCE_METHOD_TYPE_ATTRIBUTE, filePersistence.getClass().getSimpleName());

    ret.setAttribute(FILE_PERSISTENCE_PREFIX, filePersistence.getPrefix());
    ret.setAttribute(FILE_PERSISTENCE_SUFIX, filePersistence.getSuffix());
    ret.setAttribute(FILE_PERSISTENCE_FILE_NAME, filePersistence.getFileName());
    ret.setAttribute(FILE_PERSISTENCE_FILE_TYPE, filePersistence.getExtension());
    ret.setAttribute(FILE_PERSISTENCE_DIRECTORY, filePersistence.getDirectory().getPath());

    return ret;
}

From source file:delfos.io.xml.recommendationcandidatesselector.RecommendationCandidatesSelectorXML.java

License:Open Source License

public static Element getElement(RecommendationCandidatesSelector recommendationCandidatesSelector) {
    Element recommendationsOutputMethodElement = new Element(RECOMMENDATION_CANDIDATE_SELECTOR_ELEMENT_NAME);

    recommendationsOutputMethodElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME,
            recommendationCandidatesSelector.getName());

    recommendationsOutputMethodElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE,
            ParameterOwnerType.RECOMMENDATION_CANDIDATES_SELECTOR.name());

    for (Parameter p : recommendationCandidatesSelector.getParameters()) {
        Element parameter = ParameterXML.getElement(recommendationCandidatesSelector, p);
        recommendationsOutputMethodElement.addContent(parameter);
    }//from  w  w  w.ja v a  2  s. c o m
    return recommendationsOutputMethodElement;
}

From source file:delfos.io.xml.recommendationcandidatesselector.RecommendationCandidatesSelectorXML.java

License:Open Source License

public static RecommendationCandidatesSelector getRecommendationsCandidatesSelector(
        Element recommendationCandidatesSelectorElement) {
    String name = recommendationCandidatesSelectorElement
            .getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME);
    String parameterOwnerType = recommendationCandidatesSelectorElement
            .getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE);
    if (parameterOwnerType == null) {
        recommendationCandidatesSelectorElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE,
                ParameterOwnerType.RECOMMENDATIONS_OUTPUT_METHOD.name());
    }//w  w w .  ja  va2 s.  co m
    ParameterOwner parameterOwner = ParameterOwnerXML
            .getParameterOwner(recommendationCandidatesSelectorElement);
    if (parameterOwner instanceof RecommendationCandidatesSelector) {
        RecommendationCandidatesSelector recommendationCandidatesSelector = (RecommendationCandidatesSelector) parameterOwner;
        return recommendationCandidatesSelector;
    } else {
        IllegalStateException ex = new IllegalStateException(
                "The XML does not have the expected structure: The loaded parameter owner is not a recommendation candidate selector["
                        + parameterOwner + "]");
        ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex);
        throw ex;
    }
}

From source file:delfos.io.xml.recommendations.RecommdendationsOutputMethodXML.java

License:Open Source License

/**
 * Devuelve el elemento que describe totalmente el mtodo de salida de
 * recomendaciones, almacenando tambin los parmetros que posee y el valor
 * para cada uno./*from www. j a va2s.  c  o  m*/
 *
 * @param recommendationsOutputMethod Mtodo de salida de recomendaciones a
 * almacenar.
 * @return Objeto XML que lo describe
 */
public static Element getElement(RecommendationsOutputMethod recommendationsOutputMethod) {
    Element recommendationsOutputMethodElement = new Element(RECOMMENDATIONS_OUTPUT_METHOD_ELEMENT_NAME);

    recommendationsOutputMethodElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME,
            recommendationsOutputMethod.getName());

    recommendationsOutputMethodElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE,
            ParameterOwnerType.RECOMMENDATIONS_OUTPUT_METHOD.name());

    for (Parameter p : recommendationsOutputMethod.getParameters()) {
        Element parameter = ParameterXML.getElement(recommendationsOutputMethod, p);
        recommendationsOutputMethodElement.addContent(parameter);
    }
    return recommendationsOutputMethodElement;
}

From source file:delfos.io.xml.recommendations.RecommdendationsOutputMethodXML.java

License:Open Source License

/**
 * Construye el objeto en memoria que representa el mtodo de salida de
 * recomendaciones descrito en el elemento que se pasa por parmetro.
 *
 * @param recommdendationsOutputMethodElement Objeto XML que contienen la
 * descripcin./*  ww  w .  j  a v a  2  s .c  o m*/
 * @return Mtodo de salida de recomendaciones obtenido a partir del
 * elemento XML.
 */
public static RecommendationsOutputMethod getRecommdendationsOutputMethod(
        Element recommdendationsOutputMethodElement) {
    String name = recommdendationsOutputMethodElement
            .getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME);
    String parameterOwnerType = recommdendationsOutputMethodElement
            .getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE);
    if (parameterOwnerType == null) {
        recommdendationsOutputMethodElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE,
                ParameterOwnerType.RECOMMENDATIONS_OUTPUT_METHOD.name());
    }
    ParameterOwner parameterOwner = ParameterOwnerXML.getParameterOwner(recommdendationsOutputMethodElement);
    if (parameterOwner instanceof RecommendationsOutputMethod) {
        RecommendationsOutputMethod recommendationsOutputMethod = (RecommendationsOutputMethod) parameterOwner;
        return recommendationsOutputMethod;
    } else {
        IllegalStateException ex = new IllegalStateException(
                "The XML does not have the expected structure: The loaded parameter owner is not a recommendation output method ["
                        + parameterOwner + "]");
        ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex);
        throw ex;
    }
}

From source file:delfos.io.xml.recommendations.RecommendationsToXML.java

License:Open Source License

/**
 * Convierte las recomendaciones de un usuario a un elemento XML.
 *
 * @param recommendations Objeto a convertir.
 * @return Elemento XML.// w  w  w  .  ja  v  a  2 s.c  o m
 */
public static Element getRecommendationsElement(Recommendations recommendations) {

    Element element = new Element(RECOMMENDATIONS_ELEMENT_NAME);

    element.setAttribute(ID_TARGET_ATTRIBUTE_NAME, recommendations.getTargetIdentifier());

    for (DetailField detailField : recommendations.detailFieldSet()) {
        element.setAttribute(detailField.name().toLowerCase(),
                recommendations.getDetails(detailField).toString());
    }

    List<Recommendation> recommendationsSortedById = new ArrayList<>(recommendations.getRecommendations());
    Collections.sort(recommendationsSortedById, Recommendation.BY_ID);

    Map<Recommendation, Integer> recommendationsRank = new TreeMap();

    ArrayList<Recommendation> groupRecommendationSortedByPreference = new ArrayList<>(
            recommendations.getRecommendations());
    Collections.sort(groupRecommendationSortedByPreference, Recommendation.BY_PREFERENCE_DESC);
    groupRecommendationSortedByPreference.stream().forEachOrdered((recommendation) -> {
        recommendationsRank.put(recommendation, recommendationsRank.size() + 1);
    });

    for (Recommendation r : recommendationsSortedById) {
        Element recommendation = new Element(RECOMMENDATION_ELEMENT_NAME);
        recommendation.setAttribute(ID_ITEM_ATTRIBUTE_NAME, Integer.toString(r.getIdItem()));
        recommendation.setAttribute(PREFERENCE_ATTRIBUTE_NAME, r.getPreference().toString());
        recommendation.setAttribute(RANK_ATTRIBUTE_NAME, r.getPreference().toString());
        element.addContent(recommendation);
    }

    if (Constants.isRawResultDefined()) {
        Element rawDataElement = new Element(RECOMMENDATIONS_ELEMENT_NAME + "_RAW");
        rawDataElement.setAttribute(ID_TARGET_ATTRIBUTE_NAME, recommendations.getTargetIdentifier());
        StringBuilder rawData = new StringBuilder();

        recommendationsSortedById.stream().forEachOrdered(recommendation -> {
            rawData.append(recommendation.getIdItem()).append("\t")
                    .append(recommendation.getPreference().doubleValue()).append("\t")
                    .append(recommendationsRank.get(recommendation)).append("\n");
        });
        rawDataElement.addContent(rawData.toString());
        element.addContent(rawDataElement);
    }

    return element;
}

From source file:delfos.io.xml.rs.RecommenderSystemXML.java

License:Open Source License

/**
 * Construye el objeto en memoria que representa al sistema de recomendacin
 * descrito en el elemento que se pasa por parmetro.
 *
 * @param rsElement Objeto XML que describe el sistema de recomendacin
 * @return Sistema de recomendacin generado a partir de la descripcin
 * pasada por parmetro// w  w w.j  av a2 s  .  co  m
 */
public static GenericRecommenderSystem<Object> getRecommenderSystem(Element rsElement) {

    String name = rsElement.getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_NAME);

    String parameterOwnerType = rsElement.getAttributeValue(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE);
    if (parameterOwnerType == null) {
        rsElement.setAttribute(ParameterOwnerXML.PARAMETER_OWNER_ATTRIBUTE_TYPE,
                ParameterOwnerType.RECOMMENDER_SYSTEM.name());
    }

    ParameterOwner parameterOwner = ParameterOwnerXML.getParameterOwner(rsElement);

    if (parameterOwner == null) {
        IllegalStateException ex = new IllegalStateException(
                "No recommender system named '" + name + "' found.");
        ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex);
        throw ex;
    } else {
        if (parameterOwner instanceof GenericRecommenderSystem) {
            GenericRecommenderSystem genericRecommenderSystem = (GenericRecommenderSystem) parameterOwner;
            return genericRecommenderSystem;
        } else {
            IllegalStateException ex = new IllegalStateException(
                    "The XML does not have the expected structure: The loaded parameter owner is not a recommender system ["
                            + parameterOwner + "]");
            ERROR_CODES.CANNOT_LOAD_CONFIG_FILE.exit(ex);
            throw ex;
        }
    }
}

From source file:delfos.results.evaluationmeasures.EvaluationMeasure.java

License:Open Source License

/**
 * Agrega varios resultados, correspondientes ejecuciones distintas, de esta
 * medida de evaluacin. Las clases que hereden de {@link EvaluationMeasure}
 * deben sobreescribir este mtodo si la agregacin de la medida de
 * evaluacin es compleja./*from  www.j  a  v a  2 s.  co m*/
 *
 * NOTA: Este mtodo agrega los resultados haciendo la media aritmtica de
 * los valores devueltos por el mtodo {@link MeasureResult#getValue()}
 *
 * @param results Resultados que se desean agregar
 *
 * @return Devuelve un objeto {@link MeasureResult} que encapsula el
 * resultado agregado de las ejecuciones
 */
public final MeasureResult agregateResults(Collection<MeasureResult> results) {
    Element aggregatedElement = new Element(this.getName());
    double aggregatedValue;

    MeanIterative mean = new MeanIterative();
    results.stream().forEach((mr) -> {
        mean.addValue(mr.getValue());
    });
    aggregatedValue = (double) mean.getMean();
    aggregatedElement.setAttribute(EvaluationMeasure.VALUE_ATTRIBUTE_NAME, Double.toString(mean.getMean()));

    return new MeasureResult(this, aggregatedValue);
}

From source file:delfos.results.evaluationmeasures.NumberOfRecommendations.java

License:Open Source License

@Override
public MeasureResult getMeasureResult(RecommendationResults recommendationResults,
        RatingsDataset<? extends Rating> testDataset, RelevanceCriteria relevanceCriteria) {
    double numberOfRecommendations = 0;
    Element element = new Element(this.getName());
    for (int idUser : testDataset.allUsers()) {
        numberOfRecommendations += recommendationResults.getRecommendationsForUser(idUser).size();
    }//from   w  ww. ja v  a  2s  .  co m
    element.setAttribute("value", Double.toString(numberOfRecommendations));
    return new MeasureResult(this, numberOfRecommendations);
}