public static String xmlFromRichText(YName name) { return name != null ? YRTHelper.toXmlFragment(name.getRichText()) : ""; } }
private Map<String, FilteredString> buildFilteredStrings(List<YName> nameList) { Map<String, FilteredString> result = new HashMap<>(); for (YName name : nameList) { result.put(name.getType(), buildFilteredString(name.getRichText())); } return result; }
private List<String> transformNames(List<YName> namesInSingleLanguage) { List<String> result = new LinkedList<>(); String superTitle = null; String title = null; String subTitle = null; for (YName yName : namesInSingleLanguage) { if (superTitle == null && NameTypes.NM_SUPERTITLE.equals(yName.getType())) { superTitle = YModelUtils.yRichTextToIndexString(yName.getRichText()); } else if (title == null && NameTypes.NM_CANONICAL.equals(yName.getType())) { title = YModelUtils.yRichTextToIndexString(yName.getRichText()); } else if (subTitle == null && NameTypes.NM_SUBTITLE.equals(yName.getType())) { subTitle = YModelUtils.yRichTextToIndexString(yName.getRichText()); } else { result.add(YModelUtils.yRichTextToIndexString(yName.getRichText())); } } final String join = Joiner.on(" ").skipNulls().join(superTitle, title, subTitle); if(StringUtils.isNotBlank(join)){ result.add(join.trim()); } return result; }
private static YElement correctNamesByScRemoval(YElement yelement) { for(YName yn : yelement.getNames()){ removeGivenTag("sc", yn.getRichText().toParts()); } return yelement; }
private static YElement correctNamesByScRemoval(YElement yelement) { for(YName yn : yelement.getNames()){ removeGivenTag("sc", yn.getRichText().toParts()); } return yelement; }
@SuppressWarnings("deprecation") private CharSequence prepareName(YElement yElement, YLanguage language) { YName yName = YModelUtils.getDefaultName(yElement, language); if (yName != null) { return new FilteredString(YModelUtils.yRichTextToString(yName.getRichText())); } return ""; }
public ContributorInfo prepareContributorInfo(final YContributor cont, final boolean flatten) { final YName forenames = cont.getOneName(YConstants.NM_FORENAMES); final YName surname = cont.getOneName(YConstants.NM_SURNAME); final String firstName = forenames == null ? null : toText(forenames.getRichText(), flatten); final String lastName = surname == null ? null : toText(surname.getRichText(), flatten); final String text = cont.getDefaultName() == null ? null : toText(cont.getDefaultName().getRichText(), flatten); final String role = cont.getRole(); final CONTRIBUTOR_TYPE type = detectContributorType(cont); return prepareContributorInfo(firstName, lastName, text, role, type); }
@SuppressWarnings({ "rawtypes", "unchecked" }) private static YElement correctContentByPhantomRemoval(YElement yelement) { LinkedList<YContentEntry> ycel = new LinkedList<YContentEntry>(); for(YContentEntry yce : yelement.getContents()){ LinkedList<YName> ynl = new LinkedList<YName>(); for(YName yn : (List<YName>)(yce.getNames())){ List<Part> lp = putNameNodesIntoLeafs(yn.getRichText().toParts()); if(lp.size()>0){ yn.setText(new YRichText(lp)); ynl.add(yn); } } if(ynl.size()>0){ yce.setNames(ynl); ycel.add(yce); } } yelement.setContents(ycel); return yelement; }
private LocalizedString extractLocalizedStringFrom(YName yName){ YRichText text = yName.getRichText(); if(StringUtils.isBlank(yName.getText())){ return null; } else { String langCode = languageExtractor.extractLanguageCode(yName.getLanguage()); return new LocalizedString(langCode, YRTHelper.toXmlFragmentWithoutNamespaces(text)); } }
private Map<String, List<LocalizedString>> prepareTypedNames(YElement element, IFilteringContext filteringContext) { Map<String, List<LocalizedString>> result = new HashMap<String, List<LocalizedString>>(); for (YName name : element.getNames()) { String lang = languageDictionary.getShortDescription(name.getLanguage().getShortCode()); String text = detailsFilter.filter(YRTHelper.toXmlFragment(name.getRichText()), InputType.RICH_TEXT, filteringContext); LocalizedString ls = new LocalizedString(lang, text); List<LocalizedString> list; String type = name.getType(); if (!result.containsKey(type)) { list = new ArrayList<LocalizedString>(); result.put(type, list); } else { list = result.get(type); } list.add(ls); } return result; }
private YRichText extractNodeFromElement(Element element, String subElementName) { Element subElement = JDOMHelper.optDescendant(element, subElementName); if (subElement == null) { return null; } YRichText text = y.canonicalName(JDOMHelper.getYLang(subElement), JDOMHelper.textOfElement(subElement)).getRichText(); return text; }
@SuppressWarnings({ "rawtypes", "unchecked" }) private static YElement correctContentByPhantomRemoval(YElement yelement) { LinkedList<YContentEntry> ycel = new LinkedList<YContentEntry>(); int i =0; for(YContentEntry yce : yelement.getContents()){ i++; // if(i==6){ // System.out.println(); // } LinkedList<YName> ynl = new LinkedList<YName>(); for(YName yn : (List<YName>)(yce.getNames())){ List<Part> lp = putNameNodesIntoLeafs(yn.getRichText().toParts()); if(lp.size()>0){ yn.setText(new YRichText(lp)); ynl.add(yn); } } if(ynl.size()>0){ yce.setNames(ynl); ycel.add(yce); } } yelement.setContents(ycel); return yelement; }
private Object prepareTitles(List<YName> names, YName defaultName, IFilteringContext filteringContext) { List<LocalizedString> res = new ArrayList<LocalizedString>(); if (names != null) for (YName name : names) { if (defaultName != name && YNameAndYDescriptionSorter.isMainOrAlternativeName(name.getType())) { String lang = languageDictionary.getShortDescription(name.getLanguage().getShortCode()); res.add(new LocalizedString(lang, detailsFilter.filter(YRTHelper.toXmlFragment(name.getRichText()), InputType.RICH_TEXT, filteringContext))); } } return res; }
@Override protected Object buildElementViewPart(YExportable exp, String[] elementTags, Map<String, Object> additionalParameters, IFilteringContext filteringContext) { YInstitution inst = (YInstitution) exp; Map<String, Object> partModel = new HashMap<String, Object>(); partModel.put("extId", detailsFilter.filter(inst.getId(), InputType.PLAIN_TEXT, filteringContext)); partModel.put("title", detailsFilter.filter( YRTHelper.toXmlFragment(inst.getDefaultName().getRichText()), InputType.RICH_TEXT, filteringContext)); partModel.put("titles", prepareTitles(inst.getNames(), inst.getDefaultName(), filteringContext)); partModel.put("addresses", getAddresses(inst, filteringContext)); partModel.put("contacts", CommonBuilderUtils.resolveContacts(inst, filteringContext, detailsFilter)); partModel.put("description", getDescription(inst, filteringContext, YConstants.DS_ABSTRACT)); partModel.put("fullAddress", getFullAddress(inst, filteringContext)); partModel.put("notes", getDescription(inst, filteringContext, YConstants.DS_NOTE)); if (pageTitleFactory!=null) { String role = (String) additionalParameters.get(DetailsConstants.PARAM_ROLE); String title = pageTitleFactory.getTitleForContributor(role, inst.getDefaultName().getText()); additionalParameters.put(DetailsConstants.VIEW_PARAM_PAGE_TITLE, title); } return partModel; }
private static YElement putNameNodesIntoLeafs(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putNameNodesIntoLeafs(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameLeafsIntoNodes(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putLeafsIntoNodes(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameNodesIntoLeafs(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putNameNodesIntoLeafs(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
private static YElement putNameLeafsIntoNodes(YElement yelement) { for(YName yn : yelement.getNames()){ YRichText yrt = new YRichText(putLeafsIntoNodes(yn.getRichText().toParts())); yn.setText(yrt); } return yelement; }
protected List<LocalizedString> prepareTitles(YElement element, IFilteringContext filteringContext) { YName oneName = element.getDefaultName(); List<LocalizedString> res = new ArrayList<LocalizedString>(); for (YName name : element.getNames()) { if (name != oneName && YNameAndYDescriptionSorter.isMainOrAlternativeName(name.getType())) { String lang = languageDictionary.getShortDescription(name.getLanguage().getShortCode()); res.add(new LocalizedString(lang, detailsFilter.filter( YRTHelper.toXmlFragment(name.getRichText()), InputType.RICH_TEXT, filteringContext))); } } return res; }
YName yName = yElement.getDefaultName(); if (yName != null) { CharSequence name = new FilteredString(YModelUtils.yRichTextToString(yName.getRichText())); final PublicationNameData titleList = new PublicationNameData(name); names.add(new LocalizedData<PublicationNameData>(makeLanguageData(yName.getLanguage(), locale), titleList));