@Override public long getLineageStartDate() { return flowFile.getLineageStartDate(); }
@Override public int compare(final FlowFile o1, final FlowFile o2) { if (o1 == null && o2 == null) { return 0; } else if (o2 == null) { return -1; } else if (o1 == null) { return 1; } final int lineageDateCompare = Long.compare(o1.getLineageStartDate(), o2.getLineageStartDate()); if (lineageDateCompare != 0) { return lineageDateCompare; } return Long.compare(o1.getLineageStartIndex(), o2.getLineageStartIndex()); }
@Override public int compare(final FlowFile o1, final FlowFile o2) { if (o1 == null && o2 == null) { return 0; } else if (o2 == null) { return -1; } else if (o1 == null) { return 1; } final int lineageDateCompare = Long.compare(o2.getLineageStartDate(), o1.getLineageStartDate()); if (lineageDateCompare != 0) { return lineageDateCompare; } return Long.compare(o2.getLineageStartIndex(), o1.getLineageStartIndex()); }
static final Map<String, String> extractFlowFileProperties(final FlowFile flowFile) { final Map<String, String> flowFileProps = new HashMap<>(); flowFileProps.put("flowFileId", String.valueOf(flowFile.getId())); flowFileProps.put("fileSize", String.valueOf(flowFile.getSize())); flowFileProps.put("entryDate", String.valueOf(flowFile.getEntryDate())); flowFileProps.put("lineageStartDate", String.valueOf(flowFile.getLineageStartDate())); flowFileProps.put("lastQueueDate", String.valueOf(flowFile.getLastQueueDate())); flowFileProps.put("queueDateIndex", String.valueOf(flowFile.getQueueDateIndex())); return flowFileProps; }
@Override public Map<String, String> getHeaders() { synchronized (headers) { if (!headersLoaded) { headers.putAll(flowFile.getAttributes()); headers.put(ENTRY_DATE_HEADER, Long.toString(flowFile.getEntryDate())); headers.put(ID_HEADER, Long.toString(flowFile.getId())); headers.put(LAST_QUEUE_DATE_HEADER, Long.toString(flowFile.getLastQueueDate())); headers.put(LINEAGE_START_DATE_HEADER, Long.toString(flowFile.getLineageStartDate())); headers.put(SIZE_HEADER, Long.toString(flowFile.getSize())); headersLoaded = true; } } return headers; }
ProvenanceEventBuilder build(final FlowFile flowFile, final ProvenanceEventType eventType) { final ProvenanceEventBuilder builder = repository.eventBuilder(); builder.setEventType(eventType); builder.fromFlowFile(flowFile); builder.setLineageStartDate(flowFile.getLineageStartDate()); builder.setComponentId(processorId); builder.setComponentType(processorType); return builder; } }
for (final FlowFile parent : parents) { final long parentLineageStartDate = parent.getLineageStartDate(); if (lineageStartDate == 0L || parentLineageStartDate < lineageStartDate) { lineageStartDate = parentLineageStartDate; if (parent.getLineageStartDate() == lineageStartDate && parent.getLineageStartIndex() < lineageStartIndex) { lineageStartIndex = parent.getLineageStartIndex();
message.append("\nStandard FlowFile Attributes"); message.append(String.format("\nKey: '%1$s'\n\tValue: '%2$s'", "entryDate", new Date(flowFile.getEntryDate()))); message.append(String.format("\nKey: '%1$s'\n\tValue: '%2$s'", "lineageStartDate", new Date(flowFile.getLineageStartDate()))); message.append(String.format("\nKey: '%1$s'\n\tValue: '%2$s'", "fileSize", flowFile.getSize())); message.append("\nFlowFile Attribute Map Content");
@Override public ProvenanceEventBuilder fromFlowFile(final FlowFile flowFile) { setFlowFileEntryDate(flowFile.getEntryDate()); setLineageStartDate(flowFile.getLineageStartDate()); setAttributes(Collections.emptyMap(), flowFile.getAttributes()); uuid = flowFile.getAttribute(CoreAttributes.UUID.key()); this.contentSize = flowFile.getSize(); return this; }
fFileBuilder.lineageStart(parent.getLineageStartDate(), parent.getLineageStartIndex()); fFileBuilder.addAttributes(newAttributes);
ProvenanceEventBuilder build(final FlowFile flowFile, final ProvenanceEventType eventType) { final ProvenanceEventBuilder builder = new StandardProvenanceEventRecord.Builder(); builder.setEventType(eventType); builder.fromFlowFile(flowFile); builder.setLineageStartDate(flowFile.getLineageStartDate()); builder.setComponentId(processorId); builder.setComponentType(processorType); return builder; }
out.writeLong(flowFile.getLineageStartDate()); out.writeLong(flowFile.getLineageStartIndex());
final long size = flowFile.getSize(); final Long lastQueuedTime = flowFile.getLastQueueDate(); final long lineageStart = flowFile.getLineageStartDate(); final boolean penalized = flowFile.isPenalized();
private void registerForkEvent(final FlowFile parent, final FlowFile child) { ProvenanceEventBuilder eventBuilder = forkEventBuilders.get(parent); if (eventBuilder == null) { eventBuilder = context.getProvenanceRepository().eventBuilder(); eventBuilder.setEventType(ProvenanceEventType.FORK); eventBuilder.setFlowFileEntryDate(parent.getEntryDate()); eventBuilder.setLineageStartDate(parent.getLineageStartDate()); eventBuilder.setFlowFileUUID(parent.getAttribute(CoreAttributes.UUID.key())); eventBuilder.setComponentId(context.getConnectable().getIdentifier()); final Connectable connectable = context.getConnectable(); final String processorType = connectable.getComponentType(); eventBuilder.setComponentType(processorType); eventBuilder.addParentFlowFile(parent); updateEventContentClaims(eventBuilder, parent, getRecord(parent)); forkEventBuilders.put(parent, eventBuilder); } eventBuilder.addChildFlowFile(child); }
for (final StandardRepositoryRecord record : checkpoint.records.values()) { final FlowFile flowFile = record.getCurrent(); final long lineageDuration = now - flowFile.getLineageStartDate(); lineageMillis += lineageDuration;
@Override public int compare(final FlowFile o1, final FlowFile o2) { if (o1 == null && o2 == null) { return 0; } else if (o2 == null) { return -1; } else if (o1 == null) { return 1; } final int lineageDateCompare = Long.compare(o1.getLineageStartDate(), o2.getLineageStartDate()); if (lineageDateCompare != 0) { return lineageDateCompare; } return Long.compare(o1.getLineageStartIndex(), o2.getLineageStartIndex()); }
@Override public int compare(final FlowFile o1, final FlowFile o2) { if (o1 == null && o2 == null) { return 0; } else if (o2 == null) { return -1; } else if (o1 == null) { return 1; } final int lineageDateCompare = Long.compare(o2.getLineageStartDate(), o1.getLineageStartDate()); if (lineageDateCompare != 0) { return lineageDateCompare; } return Long.compare(o2.getLineageStartIndex(), o1.getLineageStartIndex()); }
@Override public Map<String, String> getHeaders() { synchronized (headers) { if (!headersLoaded) { headers.putAll(flowFile.getAttributes()); headers.put(ENTRY_DATE_HEADER, Long.toString(flowFile.getEntryDate())); headers.put(ID_HEADER, Long.toString(flowFile.getId())); headers.put(LAST_QUEUE_DATE_HEADER, Long.toString(flowFile.getLastQueueDate())); headers.put(LINEAGE_START_DATE_HEADER, Long.toString(flowFile.getLineageStartDate())); headers.put(SIZE_HEADER, Long.toString(flowFile.getSize())); headersLoaded = true; } } return headers; }
@Override public ProvenanceEventBuilder fromFlowFile(final FlowFile flowFile) { setFlowFileEntryDate(flowFile.getEntryDate()); setLineageStartDate(flowFile.getLineageStartDate()); setAttributes(Collections.emptyMap(), flowFile.getAttributes()); uuid = flowFile.getAttribute(CoreAttributes.UUID.key()); this.contentSize = flowFile.getSize(); return this; }
ProvenanceEventBuilder build(final FlowFile flowFile, final ProvenanceEventType eventType) { final ProvenanceEventBuilder builder = new StandardProvenanceEventRecord.Builder(); builder.setEventType(eventType); builder.fromFlowFile(flowFile); builder.setLineageStartDate(flowFile.getLineageStartDate()); builder.setComponentId(processorId); builder.setComponentType(processorType); return builder; }