@Override protected Chunk doProcessChunk(Chunk data, Map<String, Serializable> context, IProcessListener processListener, ProcessingStats stats) throws Exception { List<Element> elementList = new ArrayList<Element>(); List<Ancestors> ancestorsList = new ArrayList<Ancestors>(); for (CatalogElement item : data.getItems()) { if (item == null || item.getElement() == null) continue; Ancestors ancestors = new Ancestors(); for (Entry<String, List<Ancestor>> hierarchyData : item.getRelations().entrySet()) ancestors.setAncestorsOfHierarchy(hierarchyData.getKey(), hierarchyData.getValue()); elementList.add(item.getElement()); ancestorsList.add(ancestors); } if (! elementList.isEmpty()) metadataImporter.importDesklightMetadata(elementList, ancestorsList); return data; }
@Override protected void processElement(Element<CatalogElement> element) throws Exception { Ancestors ancestors = new Ancestors(); for (Entry<String, List<Ancestor>> hierarchyData : element.getData().getRelations().entrySet()) { ancestors.setAncestorsOfHierarchy(hierarchyData.getKey(), hierarchyData.getValue()); } metadataImporter.matchDesklightMetadata(element.getData().getElement(), ancestors); }
@Override protected Chunk doProcessChunk(Chunk data, Map<String, Serializable> context, IProcessListener processListener, ProcessingStats stats) throws Exception { List<Element> elementList = new ArrayList<Element>(); List<Ancestors> ancestorsList = new ArrayList<Ancestors>(); for (CatalogElement item : data.getItems()) { if (item == null || item.getElement() == null) continue; Ancestors ancestors = new Ancestors(); for (Entry<String, List<Ancestor>> hierarchyData : item.getRelations().entrySet()) ancestors.setAncestorsOfHierarchy(hierarchyData.getKey(), hierarchyData.getValue()); elementList.add(item.getElement()); ancestorsList.add(ancestors); } if (! elementList.isEmpty()) metadataImporter.matchDesklightMetadata(elementList, ancestorsList); return data; }
@Override protected void processElement(Element<CatalogElement> element) throws Exception { if (element.getData() == null || element.getData().getElement() == null) { //TODO log me return; } Ancestors ancestors = new Ancestors(); for (Entry<String, List<Ancestor>> hierarchyData : element.getData().getRelations().entrySet()) { ancestors.setAncestorsOfHierarchy(hierarchyData.getKey(), hierarchyData.getValue()); } metadataImporter.importDesklightMetadata(element.getData().getElement(), ancestors); }
protected Ancestors calculateAncestorsRecursive(final Element element, final Date elementTimestamp, final boolean hasChildren, final Date cutoffDate, final Map<String, Ancestors> ancestorsToWrite,Set<String> lowerLevelsIdSet) throws Exception { final Ancestors ancestors = new Ancestors(); final List<ElementLevel> levels = ElementUtils.getLevels(element, supportedHierarchies.toArray(new String[supportedHierarchies.size()])); for (final ElementLevel level : levels) { final String hierarchyId = level.getHierarchyExtId(); ancestors.setAncestorsOfHierarchy(hierarchyId, calculateAncestorsRecursive(element, elementTimestamp, hierarchyId, cutoffDate, ancestorsToWrite,lowerLevelsIdSet)); } ancestorsToWrite.put(element.getExtId(), ancestors); if (hasChildren) { cache.putInCache(element.getExtId(), ancestors); } return ancestors; }
ancestors.setAncestorsOfHierarchy(YConstants.EXT_HIERARCHY_JOURNAL, ancestorList);
ancestors.setAncestorsOfHierarchy(YConstants.EXT_HIERARCHY_JOURNAL, ancestorList);