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