@Override public Map<String, Serializable> provideParams(YaddaObjectID id, ParamProviderContext<CatalogObject<String>> context) throws ParamProviderException { Map<String, Serializable> result = new HashMap<String, Serializable>(); String ancestorsXML = getAncestorsXML(id, context); if (ancestorsXML!=null) { Ancestors ancestors = (Ancestors) ancestorSerializer.toObject( null, ancestorsXML); List<Ancestor> journalAncestors = ancestors.getAncestorsOfHierarchy( RepositoryStringConstants.HIERARCHY_JOURNAL); if (journalAncestors!=null && journalAncestors.size()>0) { String[] array = new String[journalAncestors.size()]; for (int i=0; i<journalAncestors.size(); i++) { array[i] = journalAncestors.get(i).getExtid(); } result.put(ANCESTORS_PARAM_KEY_NAME, array); } return result; } else { throw new ParamProviderException("unable to find ancestors part " + "for id: " + id); } }
if (forceRebuild || parentAncestors.getAncestorsOfHierarchy(hierarchyId) == null) { if (parentAncestors.getAncestorsOfHierarchy(hierarchyId) != null) { ancestorsForHierarchy.addAll(parentAncestors.getAncestorsOfHierarchy(hierarchyId));
@Override public Result evaluate(EvaluationContext ctx) throws IndeterminateException { try { BuiltInFunction combinationAlg = provideFunction( hierarchyEvaluatableCombiningAlgorithm); Iterator<Evaluatable> evalIterator = new CatalogHierarchyEvaluatableIterator( ancestors.getAncestorsOfHierarchy(currentHierarchy), catalogFacade, policyBuilder); // all evaluatable comb algorithms take Iterator<Evaluatable> as parameter // instead of Evaluatable[] to allow lazy Evaluatable resolution Result result = (Result) combinationAlg.invoke( ctx, new Object[] {evalIterator}); log.debug("got single hierarchy result decision: " + result.getDecision() + " for hierarchy: " + currentHierarchy); return result; } catch (Exception e) { throw new IndeterminateException("exception thrown when evaluating result" + " for comb alg: " + hierarchyEvaluatableCombiningAlgorithm + " and for hierarchy: " + currentHierarchy, e); } } });
List<IACLObject> aclObjects = new ArrayList<IACLObject>(); for (final String currentHierarchy : getHierarchies(ancestors)) { List<Ancestor> currentHierAncestors = ancestors.getAncestorsOfHierarchy( currentHierarchy); List<IACLObject> currentHierACLObjects = new ArrayList<IACLObject>();
ce.setRelations(hierarchyId, ancestors.getAncestorsOfHierarchy(hierarchyId));
ancestorsPart.getData()); Iterator<Evaluatable> evalIterator = new CatalogHierarchyEvaluatableIterator( ancestors.getAncestorsOfHierarchy(predefinedHierarchyExtId), catalogFacade, policyBuilder);
()); final Ancestors parentAncestors = parentWithAncestors.getAncestors(); ancestorList = parentAncestors.getAncestorsOfHierarchy(YConstants.EXT_HIERARCHY_JOURNAL);
/** * 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; }
final List<Ancestor> ancestors = bottomElement.getAncestors().getAncestorsOfHierarchy(YConstants.EXT_HIERARCHY_JOURNAL);
final List<Ancestor> list = ancestors.getAncestorsOfHierarchy(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (list != null && !list.isEmpty() && YaddaIdConstants.ID_LEVEL_JOURNAL_ARTICLE.equals(list.iterator().next().getLevelExtid())) {
final List<Ancestor> list = ancestors.getAncestorsOfHierarchy(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (list != null && !list.isEmpty() && YaddaIdConstants.ID_LEVEL_JOURNAL_ARTICLE.equals(list.iterator().next().getLevelExtid())) {
final List<Ancestor> list = ancestors.getAncestorsOfHierarchy(YaddaIdConstants.ID_HIERARACHY_JOURNAL); if (list != null && !list.isEmpty() && YaddaIdConstants.ID_LEVEL_JOURNAL_ARTICLE.equals(list.iterator().next().getLevelExtid())) {
List<Ancestor> journalAncestors = ancestors.getAncestorsOfHierarchy( RepositoryStringConstants.HIERARCHY_JOURNAL); String issn = getISSN(extId, journalAncestors);
if (ancestors != null) { for (final String hierarchyId : ancestors.getHierarchies()) { for (Ancestor ancestor:ancestors.getAncestorsOfHierarchy(hierarchyId)) { String id = ancestor.getExtid(); YElement element = loadElementFromYaddaCatalog(id);
List<Ancestor> ancestorList = parentAncestors.getAncestorsOfHierarchy(YConstants.EXT_HIERARCHY_JOURNAL);