NIFI-388: added getAttribute(String) method to ProvenanceEventRecord
diff --git a/nifi/nifi-api/src/main/java/org/apache/nifi/provenance/ProvenanceEventRecord.java b/nifi/nifi-api/src/main/java/org/apache/nifi/provenance/ProvenanceEventRecord.java
index 4b1b1a0..4e83e30 100644
--- a/nifi/nifi-api/src/main/java/org/apache/nifi/provenance/ProvenanceEventRecord.java
+++ b/nifi/nifi-api/src/main/java/org/apache/nifi/provenance/ProvenanceEventRecord.java
@@ -98,6 +98,14 @@
* @return
*/
Map<String, String> getAttributes();
+
+ /**
+ * Returns the value of FlowFile attribute with the given name, or <code>null</code>
+ * if no attribute exists with that name
+ *
+ * @return
+ */
+ String getAttribute(String attributeName);
/**
* Returns all FlowFile attributes that existed on the FlowFile before this
diff --git a/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/IdEnrichedProvenanceEvent.java b/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/IdEnrichedProvenanceEvent.java
index 4ef0e5d..85ce91c 100644
--- a/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/IdEnrichedProvenanceEvent.java
+++ b/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/IdEnrichedProvenanceEvent.java
@@ -80,6 +80,10 @@
return event.getEventType();
}
+ public String getAttribute(final String attributeName) {
+ return event.getAttribute(attributeName);
+ }
+
public Map<String, String> getAttributes() {
return event.getAttributes();
}
diff --git a/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/StandardProvenanceEventRecord.java b/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/StandardProvenanceEventRecord.java
index cfbae88..bd2c2ad 100644
--- a/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/StandardProvenanceEventRecord.java
+++ b/nifi/nifi-commons/nifi-data-provenance-utils/src/main/java/org/apache/nifi/provenance/StandardProvenanceEventRecord.java
@@ -161,6 +161,15 @@
}
@Override
+ public String getAttribute(final String attributeName) {
+ if ( updatedAttributes.containsKey(attributeName) ) {
+ return updatedAttributes.get(attributeName);
+ }
+
+ return previousAttributes.get(attributeName);
+ }
+
+ @Override
public Map<String, String> getAttributes() {
final Map<String, String> allAttrs = new HashMap<>(previousAttributes.size() + updatedAttributes.size());
allAttrs.putAll(previousAttributes);
@@ -424,7 +433,6 @@
private String uuid = null;
private List<String> parentUuids = null;
private List<String> childrenUuids = null;
- private String contentType = null;
private String alternateIdentifierUri = null;
private String details = null;
private String relationship = null;
@@ -631,11 +639,6 @@
return this;
}
- public Builder setContentType(String contentType) {
- this.contentType = contentType;
- return this;
- }
-
@Override
public Builder setAlternateIdentifierUri(String alternateIdentifierUri) {
this.alternateIdentifierUri = alternateIdentifierUri;
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/IdEnrichedProvenanceEvent.java b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/IdEnrichedProvenanceEvent.java
index f9bc76a..0e070d8 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/IdEnrichedProvenanceEvent.java
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/IdEnrichedProvenanceEvent.java
@@ -75,6 +75,11 @@
return event.getEventType();
}
+ @Override
+ public String getAttribute(final String attributeName) {
+ return event.getAttribute(attributeName);
+ }
+
public Map<String, String> getAttributes() {
return event.getAttributes();
}
diff --git a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/JournaledProvenanceEvent.java b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/JournaledProvenanceEvent.java
index ac68495..55749f9 100644
--- a/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/JournaledProvenanceEvent.java
+++ b/nifi/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-journaling-provenance-repository/src/main/java/org/apache/nifi/provenance/journaling/JournaledProvenanceEvent.java
@@ -74,6 +74,10 @@
public ProvenanceEventType getEventType() {
return event.getEventType();
}
+
+ public String getAttribute(final String attributeName) {
+ return event.getAttribute(attributeName);
+ }
public Map<String, String> getAttributes() {
return event.getAttributes();