private static <T> T getProcessedDefaultStructure(YElement element, Function<YStructure, T> processor) { for (final String hierarhyId : ALLOWED_HIERARCHY_ID) { YStructure yStructure = element.getStructure(hierarhyId); if (yStructure != null && yStructure.getCurrent() != null && yStructure.getCurrent().getLevel() != null) { return processor.apply(yStructure); } } return null; }
@Override public String fetchCurrentStructureLevel(YElement yElement) { for (YStructure structure : yElement.getStructures()) { if (structure.getCurrent() != null) { return structure.getCurrent().getLevel(); } } return null; }
private YCurrent getCurrentLevel(YElement element, String hierarchy) { YStructure structure = element.getStructure(hierarchy); return structure.getCurrent(); }
protected void fillType(HtmlMetaHeaders metadata, YElement yElement) { for (YStructure yStructure : yElement.getStructures()) { if (yStructure.getCurrent() != null) { if (YaddaIdConstants.ID_LEVEL_JOURNAL_ARTICLE.equals(yStructure.getCurrent().getLevel())) { metadata.addMetadataName(DC_NAMESPACE + SEPARATOR + DublinCoreStrings.E_TYPE, DC_ARTICLE_TYPE); } else if (YaddaIdConstants.ID_LEVEL_BOOK_BOOK.equals(yStructure.getCurrent().getLevel())) { metadata.addMetadataName(DC_NAMESPACE + SEPARATOR + DublinCoreStrings.E_TYPE, DC_BOOK_TYPE); } } } }
private boolean isArticle(YElement element) { YStructure structure = element.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); if (structure == null) { return false; } return HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_ARTICLE.equals(structure.getCurrent().getLevel()); }
@Deprecated private String getPosition(YElement element) { String position = null; for(YStructure structure : element.getStructures()) { YCurrent current = structure.getCurrent(); position = current.getPosition(); if(position != null) { break; } } return position; }
public static String getType(YElement yElement) { String level = getProcessedDefaultStructure(yElement, s -> s.getCurrent().getLevel()); return StringUtils.isBlank(level) ? "unknownLevel" : level; }
public static ElementType resolveTypeFromStructure(List<YStructure> structures) { for (final YStructure yStructure : structures) { final ElementType type = resolveTypeFromLevel(yStructure.getCurrent().getLevel()); if (type != null) { return type; } } return null; }
public String getPosition(YElement yElement){ YStructure structure = yElement.getStructure(YaddaIdConstants.ID_HIERARACHY_JOURNAL); YCurrent current = structure.getCurrent(); return current.getPosition(); }
/** * Returns YCurrent object representing level of element in journal * hierarchy. Method never returns null - if journal hierarchy level is not * specified, empty YCurrent object is returned. */ public static YCurrent yCurrentInJournalHierarchy(final YElement element) { YCurrent result = null; final YStructure struct = element.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); if (struct != null) { result = struct.getCurrent(); } return result == null ? new YCurrent() : result; }
static boolean isArticle(YElement el) { if (el.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL)!=null) { YStructure struct=el.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); if (struct.getCurrent().getLevel().equalsIgnoreCase(HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_ARTICLE)) { return true; } } return false; }
public static String articlePosition(YElement element) { String position = null; YStructure anc = element.getStructure(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (anc != null) { YCurrent cAnc = anc.getCurrent(); if (cAnc != null && !StringUtils.isEmpty(cAnc.getPosition())) position = cAnc.getPosition(); } return position; }
private boolean isYearInYear(YElement element) { YStructure structure = element.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); if (structure != null) { if (HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_YEAR.equals(structure.getCurrent().getLevel())) { YAncestor ancestor = structure.getAncestor(HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_YEAR); return ancestor != null; } } return false; }
public void exposeContentDetails(YElement yElement, Model model) { model.addAttribute(HAS_CONTENT_RENDERABLE_PARTS, resourceDisplayUtils.hasRenderableParts(yElement)); if (yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK) != null && yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK).getCurrent() != null) { model.addAttribute( HAS_CONTENT_CHAPTERS_PARTS, relatedDisplayUtils.verifyIfIsSomeoneAncestor(yElement.getId(), yElement.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_BOOK) .getCurrent().getLevel())); } else { model.addAttribute(HAS_CONTENT_CHAPTERS_PARTS, false); } }
List<Pair<String, String>> getHierarchyLevels(YExportable exp) { ArrayList<Pair<String, String>> ret = new ArrayList<Pair<String, String>>(); if (exp instanceof YElement) { for (YStructure str : ((YElement) exp).getStructures()) { String h = str.getHierarchy(); String l = str.getCurrent().getLevel(); ret.add(new Pair<String, String>(l,h)); } } return ret; }
protected IViewBuilder<CatalogInformationEnhancedObject<YExportable>> resolveElement(YElement e, Map<String, Object> parameters) { for (YStructure level : e.getStructures()) { final String levelId = level.getCurrent().getLevel(); if (elementViewBuilders.containsKey(levelId)) { return elementViewBuilders.get(levelId); } } throw new SystemException(Modules.DETAILS, "View for BWMETA1 element " + e.getId() + " not found"); }
protected String getLevel(YElement element) { if(element == null){ return null; } YStructure structure = element.getStructure(getSupportedHierarchyId()); if (structure == null) { return null; } return structure.getCurrent().getLevel(); }
private boolean isElementShowable(OaiItem item) { if (item.getYobject() == null) { return false; // we.meta.getId().getId().startsWith("bwmeta1.element."); } for (YStructure s : item.getYobject().getStructures()) { if (acceptedLevels.contains(s.getCurrent().getLevel())) { return true; } } return false; }
private PositionExtractor getPosition(YElement element) { String position = null; List<YStructure> yStrictures = element.getStructures(); for(YStructure structure : yStrictures){ YCurrent current = structure.getCurrent(); position = current.getPosition(); if(position!=null){ break; } } return new PositionExtractor(position); }
@Override public void parseMetadata(YElement element, PublicationMeta pm, YLanguage defaultLanguage, List<YElement> ancestors) { String pos = numberingGroupToPages(pm.getNumberingGroup()); if (pos != null) { element.getStructures().get(0).getCurrent().setPosition(pos); } }