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:de.sub.goobi.helper.Helper.java
License:Open Source License
/** * Copies all files under srcDir to dstDir. If dstDir does not exist, it will be created. *//* w ww. ja v a2s . com*/ public static void copyDirectoryWithCrc32Check(Path srcDir, Path dstDir, int goobipathlength, Element inRoot) throws IOException { if (StorageProvider.getInstance().isDirectory(srcDir)) { if (!StorageProvider.getInstance().isFileExists(dstDir)) { StorageProvider.getInstance().createDirectories(dstDir); } List<String> children = StorageProvider.getInstance().list(srcDir.toString()); for (String child : children) { copyDirectoryWithCrc32Check(Paths.get(srcDir.toString(), child), Paths.get(dstDir.toString(), child), goobipathlength, inRoot); } } else { Long crc = StorageProvider.getInstance().start(srcDir, dstDir); Element file = new Element("file"); file.setAttribute("path", srcDir.toString().substring(goobipathlength)); file.setAttribute("crc32", String.valueOf(crc)); inRoot.addContent(file); } }
From source file:de.unigoettingen.sub.search.opac.ConfigOpacCatalogue.java
License:Open Source License
/** * Beautifier fr ein JDom-Object durchfhren ================================================================ */// w w w . ja v a 2s . c o m private void executeBeautifierForElement(Element el) { String matchedValue = ""; for (ConfigOpacCatalogueBeautifier beautifier : this.beautifySetList) { Element subfieldToChange = null; Element mainFieldToChange = null; /* eine Kopie der zu prfenden Elemente anlegen (damit man darin lschen kann */ ArrayList<ConfigOpacCatalogueBeautifierElement> prooflist = new ArrayList<ConfigOpacCatalogueBeautifierElement>( beautifier.getTagElementsToProof()); /* von jedem Record jedes Field durchlaufen */ List<Element> elements = el.getChildren("field"); boolean foundValue = false; for (Element field : elements) { String tag = field.getAttributeValue("tag"); if (beautifier.getTagElementToChange().getTag().equals(tag)) { mainFieldToChange = field; } /* von jedem Field alle Subfelder durchlaufen */ List<Element> subelements = field.getChildren("subfield"); for (Element subfield : subelements) { String subtag = subfield.getAttributeValue("code"); String value = subfield.getText(); if (beautifier.getTagElementToChange().getTag().equals(tag) && beautifier.getTagElementToChange().getSubtag().equals(subtag)) { subfieldToChange = subfield; } /* * wenn die Werte des Subfeldes in der Liste der zu prfenden Beutifier-Felder stehen, dieses aus der Liste der Beautifier * entfernen */ if (!prooflist.isEmpty()) { for (ConfigOpacCatalogueBeautifierElement cocbe : beautifier.getTagElementsToProof()) { if (cocbe.getValue().equals("*")) { if (cocbe.getTag().equals(tag) && cocbe.getSubtag().equals(subtag)) { if (!foundValue) { matchedValue = value; foundValue = true; } prooflist.remove(cocbe); } } else if (cocbe.getTag().equals(tag) && cocbe.getSubtag().equals(subtag) && value.matches(cocbe.getValue())) { if (!foundValue) { matchedValue = value; } prooflist.remove(cocbe); } } } } } /* * --------------------- wenn in der Kopie der zu prfenden Elemente keine Elemente mehr enthalten sind, kann der zu ndernde Wert * wirklich gendert werden ------------------- */ // check main field if (prooflist.size() == 0 && mainFieldToChange == null) { mainFieldToChange = new Element("field"); mainFieldToChange.setAttribute("tag", beautifier.getTagElementToChange().getTag()); elements.add(mainFieldToChange); } // check subfield if (prooflist.size() == 0 && subfieldToChange == null) { // Element field = new Element("field"); // field.setAttribute("tag", beautifier.getTagElementToChange().getTag()); subfieldToChange = new Element("subfield"); subfieldToChange.setAttribute("code", beautifier.getTagElementToChange().getSubtag()); mainFieldToChange.addContent(subfieldToChange); // elements.add(field); } if (prooflist.size() == 0) { if (beautifier.getTagElementToChange().getValue().equals("*")) { subfieldToChange.setText(matchedValue); } else { subfieldToChange.setText(beautifier.getTagElementToChange().getValue()); } } } }
From source file:delfos.configuration.ConfigurationScope.java
License:Open Source License
/** * The scopeName property is set with the given value. * * @param propertyName Name of the property, separated with dots to indicate * route, e.g., swing-gui.position.x indicates that x element of * swing-gui/position is set to the provided value. * @param value value of the property.//www .j av a 2 s .co m */ public void setProperty(String propertyName, String value) { loadConfigurationScope(); List<String> path = Arrays.asList(propertyName.split("\\.")); Element targetElement = null; for (String node : path) { Element targetElementChild; if (targetElement == null) { targetElementChild = document.getRootElement().getChild(node); if (targetElementChild == null) { targetElementChild = new Element(node); document.getRootElement().addContent(targetElementChild); } } else { targetElementChild = targetElement.getChild(node); if (targetElementChild == null) { targetElementChild = new Element(node); targetElement.addContent(targetElementChild); } } targetElement = targetElementChild; } targetElement.setAttribute("value", value); saveConfigurationScope(); }
From source file:delfos.configuration.scopes.ConfiguredDatasetsScope.java
License:Open Source License
public synchronized void saveConfiguredDatasets() { Document doc = new Document(); Element root = new Element(CONFIGURED_DATASETS_ROOT_ELEMENT_NAME); for (ConfiguredDataset configuredDataset : ConfiguredDatasetsFactory.getInstance() .getAllConfiguredDatasets()) { Element thisDatasetLoader = new Element(CONFIGURED_DATASET_ELEMENT_NAME); thisDatasetLoader.setAttribute(CONFIGURED_DATASET_ELEMENT_NAME_ATTRIBUTE, configuredDataset.getName()); thisDatasetLoader.setAttribute(CONFIGURED_DATASET_ELEMENT_DESCRIPTION_ATTRIBUTE, configuredDataset.getDescription()); Element datasetLoaderElement = DatasetLoaderXML.getElement(configuredDataset.getDatasetLoader()); thisDatasetLoader.addContent(datasetLoaderElement); root.addContent(thisDatasetLoader); }// w w w. j a v a 2 s . c om doc.addContent(root); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); File fileOfConfiguredDatasets = ConfigurationManager.getConfigurationFile(this); try (FileWriter fileWriter = new FileWriter(fileOfConfiguredDatasets)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_CONFIGURED_DATASETS_FILE.exit(ex); } }
From source file:delfos.group.GroupRecommendationManager.java
License:Open Source License
private static void writeXML(Collection<Recommendation> groupRecommendations, Map<Integer, Collection<Recommendation>> singleUserRecommendations, File outputFile) { Element root = new Element(CASE_ROOT_ELEMENT_NAME); Set<Integer> itemsIntersection = new TreeSet<>(); //Miro los items recomendados para el grupo for (Recommendation r : groupRecommendations) { itemsIntersection.add(r.getItem().getId()); }/*from w ww.ja v a 2 s .c om*/ //Elimino los que no aparecen recomendades para los miembros for (int idMember : singleUserRecommendations.keySet()) { Set<Integer> thisMemberItems = new TreeSet<>(); singleUserRecommendations.get(idMember).stream().forEach((r) -> { thisMemberItems.add(r.getItem().getId()); }); itemsIntersection.retainAll(thisMemberItems); } itemsIntersection = Collections.unmodifiableSet(itemsIntersection); for (int idMember : singleUserRecommendations.keySet()) { Element thisMemberElement = new Element(MEMBER_ELEMENT_NAME); thisMemberElement.setAttribute(MEMBER_ELEMENT_NAMEID_ATTRIBUTE_NAME, Integer.toString(idMember)); for (Recommendation r : singleUserRecommendations.get(idMember)) { if (itemsIntersection.contains(r.getItem().getId())) { Element recommendation = new Element(RECOMMENDATION_ELEMENT_NAME); recommendation.setAttribute(RECOMMENDATION_ELEMENT_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(r.getItem().getId())); recommendation.setAttribute(RECOMMENDATION_ELEMENT_PREFERENCE_ATTRIBUTE_NAME, Double.toString(r.getPreference().doubleValue())); thisMemberElement.addContent(recommendation); } } root.addContent(thisMemberElement); } Element groupElement = new Element(GROUP_ELEMENT_NAME); StringBuilder str = new StringBuilder(); Integer[] idMembers = singleUserRecommendations.keySet().toArray(new Integer[0]); str.append(idMembers[0]); for (int i = 1; i < idMembers.length; i++) { str.append(",").append(idMembers[i]); } groupElement.setAttribute(GROUP_ELEMENT_MEMBERS_ATTRIBUTE_NAME, str.toString()); for (Recommendation r : groupRecommendations) { if (itemsIntersection.contains(r.getItem().getId())) { Element recommendation = new Element(RECOMMENDATION_ELEMENT_NAME); recommendation.setAttribute(RECOMMENDATION_ELEMENT_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(r.getItem().getId())); recommendation.setAttribute(RECOMMENDATION_ELEMENT_PREFERENCE_ATTRIBUTE_NAME, Double.toString(r.getPreference().doubleValue())); groupElement.addContent(recommendation); } } root.addContent(groupElement); Document doc = new Document(); doc.addContent(root); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(outputFile)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }
From source file:delfos.group.grs.consensus.ConsensusOfIndividualRecommendationsToXML.java
License:Open Source License
public static void writeConsensusInputXML(DatasetLoader datasetLoader, GroupRecommendations groupRecommendations, Collection<RecommendationsToUser> membersRecommendations, File outputFile) {/*from www. j av a 2 s. c o m*/ Element root = new Element(CONSENSUS_ROOT_ELEMENT_NAME); for (RecommendationsToUser recommendationsToMember : membersRecommendations) { User member = recommendationsToMember.getUser(); Element thisMemberElement = new Element(MEMBER_ELEMENT_NAME); thisMemberElement.setAttribute(MEMBER_ELEMENT_NAME_ID_ATTRIBUTE_NAME, Integer.toString(member.getId())); List<Recommendation> sortedRecommendations = recommendationsToMember.getRecommendations().stream() .sorted(Recommendation.BY_PREFERENCE_DESC).collect(Collectors.toList()); int rank = 1; for (Recommendation r : sortedRecommendations) { Element recommendation = new Element(RECOMMENDATION_ELEMENT_NAME); recommendation.setAttribute(RECOMMENDATION_ELEMENT_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(r.getItem().getId())); double preferenceInDomain = datasetLoader.getRatingsDataset().getRatingsDomain() .trimValueToDomain(r.getPreference()).doubleValue(); recommendation.setAttribute(RECOMMENDATION_ELEMENT_PREFERENCE_ATTRIBUTE_NAME, Double.toString(preferenceInDomain)); recommendation.setAttribute(RECOMMENDATION_ELEMENT_RANK_ATTRIBUTE_NAME, Integer.toString(rank)); thisMemberElement.addContent(recommendation); rank++; } root.addContent(thisMemberElement); } Element groupElement = new Element(GROUP_ELEMENT_NAME); String members = groupRecommendations.getGroupOfUsers().toString(); groupElement.setAttribute(GROUP_ELEMENT_MEMBERS_ATTRIBUTE_NAME, members); int rank = 1; List<Recommendation> sortedGroupRecommendations = groupRecommendations.getRecommendations().stream() .sorted(Recommendation.BY_PREFERENCE_DESC).collect(Collectors.toList()); for (Recommendation r : sortedGroupRecommendations) { Element recommendation = new Element(RECOMMENDATION_ELEMENT_NAME); recommendation.setAttribute(RECOMMENDATION_ELEMENT_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(r.getIdItem())); recommendation.setAttribute(RECOMMENDATION_ELEMENT_PREFERENCE_ATTRIBUTE_NAME, Double.toString(r.getPreference().doubleValue())); recommendation.setAttribute(RECOMMENDATION_ELEMENT_RANK_ATTRIBUTE_NAME, Integer.toString(rank)); groupElement.addContent(recommendation); rank++; } root.addContent(groupElement); Document doc = new Document(); doc.addContent(root); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(outputFile)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }
From source file:delfos.group.grs.consensus.ConsensusOfIndividualRecommendationsToXML.java
License:Open Source License
public static <RatingType extends Rating> void writeRecommendationMembersRatingsXML( Map<Integer, Map<Integer, RatingType>> membersRatings, Collection<Integer> candidateItems, File groupPredictionRequestsFile) { Element root = new Element(RECOMMENDATION_INPUT_ROOT_ELEMENT_NAME); Element membersRatingsElement = new Element(RECOMMENDATION_INPUT_MEMBERS_RATINGS_ELEMENT_NAME); for (int idMember : membersRatings.keySet()) { Element thisMemberRatingsElement = new Element(RECOMMENDATION_INPUT_MEMBER_RATINGS_ELEMENT_NAME); thisMemberRatingsElement.setAttribute(RECOMMENDATION_INPUT_MEMBER_RATINGS_ID_USER_ATTRIBUTE_NAME, Integer.toString(idMember)); Map<Integer, RatingType> memberRatings = membersRatings.get(idMember); for (RatingType memberRating : memberRatings.values()) { Element ratingElement = new Element(RECOMMENDATION_INPUT_MEMBER_RATINGS_RATING_ELEMENT_NAME); ratingElement.setAttribute(RECOMMENDATION_INPUT_MEMBER_RATINGS_ID_USER_ATTRIBUTE_NAME, Integer.toString(memberRating.getIdUser())); ratingElement.setAttribute(RECOMMENDATION_INPUT_MEMBER_RATINGS_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(memberRating.getIdItem())); ratingElement.setAttribute(RECOMMENDATION_INPUT_MEMBER_RATINGS_RATING_VALUE_ATTRIBUTE_NAME, Double.toString(memberRating.getRatingValue().doubleValue())); thisMemberRatingsElement.addContent(ratingElement); }//from w w w . ja v a2 s. c o m membersRatingsElement.addContent(thisMemberRatingsElement); } root.addContent(membersRatingsElement); Element candidateItemsElement = new Element(RECOMMENDATION_INPUT_ID_ITEM_LIST_ELEMENT_NAME); for (int idItemRequested : candidateItems) { Element itemRequestedElement = new Element(RECOMMENDATION_INPUT_ITEM_REQUEST_ELEMENT_NAME); itemRequestedElement.setAttribute(RECOMMENDATION_INPUT_ITEM_REQUEST_ID_ITEM_ATTRIBUTE_NAME, Integer.toString(idItemRequested)); candidateItemsElement.addContent(itemRequestedElement); } root.addContent(candidateItemsElement); Document doc = new Document(); doc.addContent(root); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(groupPredictionRequestsFile)) { outputter.output(doc, fileWriter); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }
From source file:delfos.group.io.xml.casestudy.GroupCaseStudyXML.java
License:Open Source License
private static Element getResultsElement(GroupCaseStudy c) { Element ejecuciones = new Element("Executions"); Element ejecucion; int numExecutions = c.getNumExecutions(); int numSplits = c.getValidationTechnique().getNumberOfSplits(); for (int nexecution = 0; nexecution < numExecutions; nexecution++) { ejecucion = new Element("Execution"); ejecucion.setAttribute("execution", Integer.toString(numSplits)); for (int nSplit = 0; nSplit < numSplits; nSplit++) { Element split = new Element("Split"); split.setAttribute("split", Integer.toString(nSplit)); for (GroupEvaluationMeasure em : c.getEvaluationMeasures()) { GroupEvaluationMeasureResult mr = c.getMeasureResult(em, nexecution, nSplit); split.addContent((Element) mr.getXMLElement().clone()); }/*from w w w . j a v a 2 s. com*/ ejecucion.addContent(split); } ejecuciones.addContent(ejecucion); } return ejecuciones; }
From source file:delfos.group.io.xml.casestudy.GroupCaseStudyXML.java
License:Open Source License
public synchronized static void caseStudyToXMLFile_fullResults(GroupCaseStudy caseStudyGroup, File file) { if (!caseStudyGroup.isFinished()) { throw new UnsupportedOperationException("No se ha ejecutado el caso de uso todava"); }/*from ww w . j av a2 s. co m*/ Document doc = new Document(); Element casoDeUso = new Element("Case"); casoDeUso.setAttribute(SeedHolder.SEED.getName(), Long.toString(caseStudyGroup.getSeedValue())); casoDeUso.setAttribute(NUM_EXEC_ATTRIBUTE_NAME, Integer.toString(caseStudyGroup.getNumExecutions())); casoDeUso.setAttribute(ParameterOwner.ALIAS.getName(), caseStudyGroup.getAlias()); casoDeUso.addContent(GroupRecommenderSystemXML.getElement(caseStudyGroup.getGroupRecommenderSystem())); casoDeUso.addContent(DatasetLoaderXML.getElement(caseStudyGroup.getDatasetLoader())); casoDeUso.addContent(GroupFormationTechniqueXML.getElement(caseStudyGroup.getGroupFormationTechnique())); casoDeUso.addContent(ValidationTechniqueXML.getElement(caseStudyGroup.getValidationTechnique())); casoDeUso.addContent(GroupPredictionProtocolXML.getElement(caseStudyGroup.getGroupPredictionProtocol())); casoDeUso.addContent(RelevanceCriteriaXML.getElement(caseStudyGroup.getRelevanceCriteria())); casoDeUso.addContent(getResultsElement(caseStudyGroup)); casoDeUso.addContent(getAggregatedResultsElement(caseStudyGroup)); doc.addContent(casoDeUso); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); FileUtilities.createDirectoriesForFile(file); 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.group.io.xml.casestudy.GroupCaseStudyXML.java
License:Open Source License
/** * Saves the xml with the description of the case study in de file * specified.// w w w.j av a 2 s . c o m * * @param caseStudyGroup Group case study whose description is saved. * @param file File in which the description is saved. */ public static void caseStudyToXMLFile_onlyDescription(GroupCaseStudy caseStudyGroup, File file) { if (caseStudyGroup.isFinished()) { throw new IllegalArgumentException("Ya se ha ejecutado el caso de estudio!"); } Document doc = new Document(); Element casoDeUso = new Element(CASE_ROOT_ELEMENT_NAME); casoDeUso.setAttribute(SeedHolder.SEED.getName(), Long.toString(caseStudyGroup.getSeedValue())); casoDeUso.setAttribute(NUM_EXEC_ATTRIBUTE_NAME, Integer.toString(caseStudyGroup.getNumExecutions())); casoDeUso.setAttribute(ParameterOwner.ALIAS.getName(), caseStudyGroup.getAlias()); casoDeUso.setAttribute(HASH_ATTRIBUTE_NAME, Integer.toString(caseStudyGroup.hashCode())); casoDeUso.setAttribute(HASH_DATA_VALIDATION_ATTRIBUTE_NAME, Integer.toString(caseStudyGroup.hashCode())); casoDeUso.addContent(GroupRecommenderSystemXML.getElement(caseStudyGroup.getGroupRecommenderSystem())); casoDeUso.addContent(DatasetLoaderXML.getElement(caseStudyGroup.getDatasetLoader())); casoDeUso.addContent(GroupFormationTechniqueXML.getElement(caseStudyGroup.getGroupFormationTechnique())); casoDeUso.addContent(ValidationTechniqueXML.getElement(caseStudyGroup.getValidationTechnique())); casoDeUso.addContent(GroupPredictionProtocolXML.getElement(caseStudyGroup.getGroupPredictionProtocol())); casoDeUso.addContent(RelevanceCriteriaXML.getElement(caseStudyGroup.getRelevanceCriteria())); doc.addContent(casoDeUso); FileUtilities.createDirectoriesForFile(file); XMLOutputter outputter = new XMLOutputter(Constants.getXMLFormat()); try (FileWriter fileWriter = new FileWriter(file)) { outputter.output(doc, fileWriter); fileWriter.close(); } catch (IOException ex) { ERROR_CODES.CANNOT_WRITE_RESULTS_FILE.exit(ex); } }