@Override public Document process(Document item) throws Exception { String ancestor = item.getTagValue(RepositoryStoreConstants.TAG_NAME_ANCESTOR); if (StringUtils.isBlank(ancestor)) { return item; } NativeDocument parent = cachedDataStore.fetchDocument(ancestor, RecordProjection.TAGS_ONLY); if(parent == null){ return item; } String structureId = parent.getTagValue(RepositoryStoreConstants.TAG_NAME_STRUCTURE); if (StringUtils.isBlank(structureId)) { return item; } if(identifierHolder.getProcessId().equals(structureId)){ item.addTagByKey(RepositoryStoreConstants.TAG_NAME_STRUCTURE, structureId); } return item; } }
private void fixYearInYear(DocumentRepository repository, Document document, YElement element) { String fixedCurrentLevel = HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_VOLUME; String newTagValue = HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL + "=" + fixedCurrentLevel; document.addTagByKey("hierarchyLevel", newTagValue); YStructure structure = element.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); YCurrent current = structure.getCurrent(); if (!HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_YEAR.equals(current.getLevel())) { System.out.println("current level is = "+current.getLevel()+" expected year. Won't fix"); } else { current.setLevel(fixedCurrentLevel); saveDocumentWithElement(repository, document, element); } }
private boolean changeElementLevel(DocumentRepository repository, String identity) { NativeDocument fetchDocument = repository.fetchDocument(identity); Document document = (Document) fetchDocument; YElement element = (YElement) document.getMetadata(); String fixedCurrentLevel = HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_ISSUE; String newTagValue = HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL + "=" + fixedCurrentLevel; document.addTagByKey("hierarchyLevel", newTagValue); YStructure structure = element.getStructure(HierarchyWithLevelIds.EXT_HIERARCHY_JOURNAL); YCurrent current = structure.getCurrent(); if (!HierarchyWithLevelIds.EXT_LEVEL_JOURNAL_VOLUME.equals(current.getLevel())) { System.out.println("current level is = "+current.getLevel()+" expected year. Won't fix"); return false; } else { current.setLevel(fixedCurrentLevel); document.setMetadata(element); repository.storeDocument(document, EventConstants.EVENT_TAG_NO_EVENT); return true; } }
Document document = documentFactory.getDocument(nativeDocument, yElement); document.addTagByKey(TAG_NAME_IMPORT, identifierHolder.getProcessId()); document.addTagByKey(TAG_NAME_CREATION_TIMESTAMP, String.valueOf(System.currentTimeMillis()));