public List<YAffiliation> extractAllAffiliations(org.jdom.Element ameta) { int autoID=1; List<YAffiliation> affsList=new ArrayList<>(); List<org.jdom.Element> cg = JDOMHelper.optChildren(ameta, "contrib-group"); for (org.jdom.Element group : cg) { for (org.jdom.Element affElement: JDOMHelper.getChildren(group, "aff")){ String id=affElement.getAttributeValue("id"); if (StringUtils.isBlank(id)) { id=""+(autoID++); } YAffiliation aff=new YAffiliation(id, JDOMHelper.getTextTrim(affElement)); affsList.add(aff); } } return affsList; }
public void updateElementPublisher(org.jdom.Element jmeta, YElement journal) { YName pname = y.canonicalName(YLanguage.Undetermined, JDOMHelper.getTextTrim(JDOMHelper.optDescendant(jmeta, "publisher", "publisher-name"))); String loc = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(jmeta, "publisher", "publisher-loc")); journal.addContributor(new YContributor(ContributorRoles.CR_PUBLISHER, true).addName(pname).addAttribute(NlmToYConstants.AT_PUBLISHER_LOCATION, loc)); }
NlmHighLevelInfo lhli=TransformerUtils.getHint(hints, NlmHighLevelInfo.class); String yearIssueNam=lhli==null?null:lhli.getYear(); String yearLocNam=JDOMHelper.getTextTrim(JDOMHelper.optDescendant(ameta, "pub-date", "year")); List<String> years=new ArrayList<>(); for (org.jdom.Element el:JDOMHelper.getDescendants(ameta, "pub-date", "year")){ years.add(JDOMHelper.getTextTrim(el));
String surname = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "name", "surname")); String forenames = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "name", "given-names")); String name= JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "name")); String stringName = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "string-name")); String address = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "address", "addr-line")); String aref = address.isEmpty() ? null : "" + n++; String ctValue = c.getAttributeValue("contrib-type"); .addName(y.name(YLanguage.NoLinguisticContent, surname, NameTypes.NM_SURNAME)) .addName(y.name(YLanguage.NoLinguisticContent, forenames, NameTypes.NM_FORENAMES)) .addAttribute(CommonAttributeTypes.AT_CONTACT_EMAIL, JDOMHelper.toNull(JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "email")))) .addAffiliationRef(aref); for (String a:aRefs){ .addName(y.name(YLanguage.NoLinguisticContent, surname, NameTypes.NM_SURNAME)) .addName(y.name(YLanguage.NoLinguisticContent, forenames, NameTypes.NM_FORENAMES)) .addAttribute(CommonAttributeTypes.AT_CONTACT_EMAIL, JDOMHelper.toNull(JDOMHelper.getTextTrim(JDOMHelper.optDescendant(c, "email")))) .addAffiliationRef(aref); for (String a:aRefs){
/** * Processes <code>article-meta</code> metadata creating a year element. * * @param ameta * the metadata element to extract volume info from * @param parent * parent element for the created element * @return the created volume element */ private YElement processVolume(org.jdom.Element ameta, YElement parent) { Element volumeId = JDOMHelper.getChildWithGivenAttributeValue(ameta, "volume-id", "pub-id-type", "eudml-id"); String name=JDOMHelper.getTextTrim(JDOMHelper.optDescendant(ameta, "volume")); if (null==volumeId && StringUtils.isBlank(name)) { return null; } String idValue; try { idValue = getIdGenerator().getVolumeId(parent==null?null:parent.getId(), name , volumeId==null?null:volumeId.getValue()); } catch (NullPointerException ex) { log.error("Missing id for volume."); throw ex; } return factory.element(EXT_LEVEL_JOURNAL_VOLUME, y.canonicalName(YLanguage.NoLinguisticContent, name), parent, idValue); }
/** * Processes <code>journal-meta</code> metadata creating a publisher * element. * * @param jmeta * the metadata element to extract publisher info from * @return the created publisher element */ private YElement processPublisher(org.jdom.Element jmeta,List<YExportable> list, boolean addPublisher) { YName pname = y.canonicalName(YLanguage.Undetermined, JDOMHelper.getTextTrim(JDOMHelper.optDescendant(jmeta, "publisher", "publisher-name"))); // TODO: add publisher-localization String id=getIdGenerator().getPublisherId(pname.getText()); YInstitution inst=new YInstitution(); String instId=IdPrefixes.EXT_PREFIX_INSTITUTION+idgen.generateIdSuffix((pname.getText().toLowerCase().replaceAll("\\s", " ").replaceAll(" +", " ").trim())); inst.setId(instId); inst.addName(pname); if (addPublisher) { list.add(inst); } return factory.element(EXT_LEVEL_JOURNAL_PUBLISHER, pname, ROOT ,id).addContributor( new YContributor(CR_PUBLISHER, true).addName(pname).setIdentity(instId)); }
String name = JDOMHelper.getTextTrim(JDOMHelper.optDescendant(ameta, "issue")); Element eudmlId = JDOMHelper.getChildWithGivenAttributeValue(ameta, "issue-id", "pub-id-type", "eudml-id"); if (StringUtils.isBlank(name) && eudmlId==null) {
public YElement processBookPartElement(Element jbookPart, YElement parent, NlmIdGenerator idGenerator) { Element bpmeta = JDOMHelper.optDescendant(jbookPart, "book-part-meta"); YName bookPartName = y.canonicalName(YLanguage.Undetermined, JDOMHelper.getTextTrim(JDOMHelper.optDescendant(bpmeta, "title-group", "title"))); Element eudmlIdEl = JDOMHelper.getChildWithGivenAttributeValue(jbookPart, "book-part-id", "pub-id-type", "eudml-id"); String eudmlId=eudmlIdEl==null?null:eudmlIdEl.getValue(); String id=idGenerator.getBookPartId(eudmlId, bookPartName.getText(), parent); YElement bookPart = factory.element(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK, NlmToYConstants.EXT_LEVEL_BOOK_BOOKPART, bookPartName, parent, id); updater.updateElementIds(bpmeta, bookPart, "book-part-id"); updater.updateElementContentLinks(bpmeta, bookPart); updater.updateElementPages(bpmeta, bookPart, HierarchyWithLevelIds.EXT_HIERARCHY_BOOK);//pages updatePartType(jbookPart, bookPart); return bookPart; }