private static void putAffiliation(YElement element, String text, String ref) { text = text.replaceFirst(" and$", "").replaceFirst("\\S+@.*$", "").replaceFirst("[Ee]mails?:.*$", ""); text = text.replaceFirst("[Ee]-[Mm]ails?:.*$", "").trim().replaceFirst("[\\.,;]$", ""); YAffiliation affiliation = new YAffiliation(Enhancers.affiliationIdFromIndex(ref), text); element.addAffiliation(affiliation); }
public static YAffiliation getOrCreateAffiliation(YElement element, String id) { YAffiliation affiliation = element.getAffiliation(id); if (affiliation == null) { affiliation = new YAffiliation().setId(id); element.addAffiliation(affiliation); } return affiliation; }
public ArticleBuilder setAuthors(Map<Integer, PersonInfoViewObject> personsMap) { List<YContributor> contributors = new ArrayList<>(); for (Map.Entry<Integer, PersonInfoViewObject> entry : personsMap.entrySet()) { PersonInfoViewObject personViewObject = entry.getValue(); YContributor author = new YContributor(YConstants.CR_AUTHOR, false); author.setNames(extractPersonYNames(personViewObject)); final List<String> affiliationNames = personViewObject.getAffiliations(); Boolean isCorrespondingAuthor = personViewObject.getCorrespondingAuthor(); boolean addCorrespondenceAff = isCorrespondingAuthor != null ? isCorrespondingAuthor : false; if (CollectionUtils.isNotEmpty(affiliationNames)) { for (String affiliationName : affiliationNames) { if (StringUtils.isNotBlank(affiliationName)) { final String affiliationId = UUID.randomUUID().toString(); YAffiliation affiliation = new YAffiliation(affiliationId, affiliationName); author.addAffiliationRef(affiliationId); article.addAffiliation(affiliation); if (addCorrespondenceAff) { author.addAttribute(CommonAttributeTypes.AT_CORRESPONDENCE, affiliationName); addCorrespondenceAff = false; } } } } author.addAttribute(extractEmailAttributes(personViewObject)); contributors.add(author); } article.setContributors(contributors); return this; }
public void updateElementAuthors(org.jdom.Element ameta, YElement article) { List<YAffiliation> affs=extractAllAffiliations(ameta); for (YAffiliation aff:affs) { article.addAffiliation(aff); cont.addAffiliationRef(a); article.addContributor(cont).addAffiliation(y.affiliation(aref, address)); } else { YContributor cont=new YContributor(ContributorRoles.CR_OTHER, false) cont.addAffiliationRef(a); article.addContributor(cont).addAffiliation(y.affiliation(aref, address));
num++; YAffiliation aff = new YAffiliation(affid, inName.getName()); article.addAffiliation(aff); nameAffID.put(inName.getName(), affid); ycont.addAffiliationRef(affid); article.addAffiliation(aff);
cont.addAttribute(CommonAttributeTypes.AT_CONTACT_EMAIL, toNull(getTextTrim(optDescendant(c, "email")))).addAffiliationRef(aref)).addAffiliation(y.affiliation(aref, address)); } else { YContributor cont= new YContributor(ContributorRoles.CR_OTHER, false).addName(y.canonicalName(YLanguage.NoLinguisticContent, (defName).trim())); cont.addAttribute(CommonAttributeTypes.AT_CONTACT_EMAIL, toNull(getTextTrim(optDescendant(c, "email")))).addAffiliationRef(aref)).addAffiliation(y.affiliation(aref, address));
if (element.getAffiliation(affiliationRef) == null) { YAffiliation yAffiliation = new YAffiliation(affiliationRef, affiliation); element.addAffiliation(yAffiliation);
if (contributorRoles.contains(ctValue)) { article.addContributor( new YContributor(ctValue, false).addName(y.canonicalName(YLanguage.NoLinguisticContent, canonicalName)).addName(y.name(YLanguage.NoLinguisticContent, surname, NM_SURNAME)).addName(y.name(YLanguage.NoLinguisticContent, forenames, NM_FORENAMES)).addAttribute(AT_CONTACT_EMAIL, toNull(getTextTrim(optDescendant(c, "email")))).addAffiliationRef(aref)).addAffiliation(y.affiliation(aref, address)); } else { article.addContributor( new YContributor(YConstants.CR_OTHER, false).addName(y.canonicalName(YLanguage.NoLinguisticContent, canonicalName)).addName(y.name(YLanguage.NoLinguisticContent, surname, NM_SURNAME)).addName(y.name(YLanguage.NoLinguisticContent, forenames, NM_FORENAMES)).addAttribute(AT_CONTACT_EMAIL, toNull(getTextTrim(optDescendant(c, "email")))).addAffiliationRef(aref)).addAffiliation(y.affiliation(aref, address));
yElement.addAffiliation(affTransformer.transform(aff));
for(String aff:affiliations){ t=t+1; article.addAffiliation(new YAffiliation() .setText(aff) .setId("aff"+t));