private String getLevelToImport(NativeDocument document) { String hierarchyLevel = document.getTagValue(RepositoryStoreConstants.TAG_NAME_HIERARHY_LEVEL); if (StringUtils.isBlank(hierarchyLevel)) { return null; } List<String> hierarchyWithLevel = Splitter.on("=").splitToList(hierarchyLevel); if (hierarchyWithLevel.size() != 2) { return null; } return hierarchyWithLevel.get(1); }
public boolean validate(NativeDocument document) { if (document == null) { return false; } String objectClass = document.getTagValue(RepositoryStoreConstants.TAG_NAME_OBJECT_CLASS); if (!BWMetaImporterConstants.SOURCE_FORMAT.equals(objectClass)) { return false; } Attachment<?> sourceAttachment = document.getAttachments().get(CommonExtractorContstants.SOURCE_ATTRIBUTE); return sourceAttachment != null; }
@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; } }
@Override public Iterable<DataResponse> feedFromCurrentElement() { NativeDocument document = state.getCurrentDocument(); if(document == null){ return Collections.emptyList(); } String objectClass = document.getTagValue(RepositoryStoreConstants.TAG_NAME_OBJECT_CLASS); if(!BWMetaImporterConstants.SOURCE_FORMAT.equals(objectClass)){ return Collections.emptyList(); } String levelToImport = getLevelToImport(document); Attachment<?> sourceAttachment = document.getAttachments().get(CommonExtractorContstants.SOURCE_ATTRIBUTE); if (sourceAttachment == null) { warn("No source attachment.", document.getId()); return Collections.emptyList(); } InputStream inputStream = getStream(sourceAttachment); List<YElement> elements = builder.build(new InputStreamResource(inputStream, "Record id: " + document.getId())); Stream<YElement> elementsStream = elements.stream(); if (StringUtils.isNotBlank(levelToImport)) { elementsStream = elementsStream.filter(e -> StringUtils.equals(YModelUtils.getType(e), levelToImport)); } return elementsStream.map(e -> toDataResponse(e, document)).collect(Collectors.toList()); }
private NativeDocument checkDataset(ReportDuplicateRequest request) { NativeDocument document = documentRepository.fetchDocument(request.getDuplicateDocumentId()); String dataset = document.getTagValue(RepositoryStoreConstants.TAG_NAME_DATASET); if (ApplicationConstants.DEFAULT_DATASET.equals(StringUtils.lowerCase(dataset))) { throw new InvalidEntryException(document.getId(), "Cannot request duplicate for resource added by user"); } return document; }
boolean inSet = false; for (String set : sets) { if (nativeDocument.getTagValue(RepositoryStoreConstants.TAG_NAME_DATASET).equals(set)) { inSet = true; break;