private void fillRemoteContent(final CatalogElement ce, final SElement sElement) { final Ancestors ancestors = ce.getAncestors(); final boolean hasRemoteContent = sElement.hasRemoteContent() || ancestors != null && ancestors.hasRemoteContent(); sElement.setRemoteContent(hasRemoteContent); }
/** * Retrieves publication date from ancestors or null when not found. * @param ce * @return */ protected Date getPublicationDateFromAncestors(CatalogElement ce) { if (ce!=null && ce.getAncestors()!=null) { List<Ancestor> anc = ce.getAncestors().getAncestorsOfHierarchy(ID_HIERARACHY_JOURNAL); if (anc!=null) { for (Ancestor currentAnc : anc) { if (currentAnc.getPublishedDate()!=null) { try { return currentAnc.getPublishedDate().getDate(); } catch (ParseException e) { log.error("unable to retrieve publication date from ancestor " + currentAnc.getExtid() + " of level " + currentAnc.getLevelExtid() + " of element " + ce.getExtId(), e); } } } } } // fallback return null; }
private boolean hasRelatedPublisher(CatalogElement catalogElement) throws YaddaException { final Element element = catalogElement.getElement(); final ElementLevel journalHierarchyLevel = element.getElementLevel(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (journalHierarchyLevel!=null && YaddaIdConstants.ID_LEVEL_JOURNAL_JOURNAL.equals(journalHierarchyLevel.getLevelExtId())) { final Ancestors ancestors = catalogElement.getAncestors(); if (ancestors != null) { final Ancestor parentInHierarchy = ancestors.getParentInHierarchy(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (parentInHierarchy != null) { final String parentLevel = parentInHierarchy.getLevelExtid(); if (YaddaIdConstants.ID_LEVEL_JOURNAL_PUBLISHER.equals(parentLevel)) { return true; } } } } for (Contributor contributor : element.getContributors()) { if (ContributorConstants.ROLE_PUBLISHER.equals(contributor.getRole())) { return true; } } return false; }