Repository: nifi Updated Branches: refs/heads/0.x 06d306f0b -> 9e9af204a
NIFI-2006 fixed NPE in PersistentProvenanceRepository Fixed NPE in PersistentProvenanceRepository caused by attribute value being null added test This closes #528 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/9e9af204 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/9e9af204 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/9e9af204 Branch: refs/heads/0.x Commit: 9e9af204a42d86a2060aa0e9765d5eaf536f6587 Parents: 06d306f Author: Oleg Zhurakousky <[email protected]> Authored: Tue Jun 14 11:35:25 2016 -0400 Committer: jpercivall <[email protected]> Committed: Tue Jun 14 15:35:48 2016 -0400 ---------------------------------------------------------------------- .../nifi/provenance/PersistentProvenanceRepository.java | 8 +++----- .../nifi/provenance/TestPersistentProvenanceRepository.java | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/9e9af204/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/PersistentProvenanceRepository.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/PersistentProvenanceRepository.java b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/PersistentProvenanceRepository.java index 0c830a7..f91f6a4 100644 --- a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/PersistentProvenanceRepository.java +++ b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/main/java/org/apache/nifi/provenance/PersistentProvenanceRepository.java @@ -1786,11 +1786,9 @@ public class PersistentProvenanceRepository implements ProvenanceEventRepository private Map<String, String> truncateAttributes(final Map<String, String> original) { final Map<String, String> truncatedAttrs = new HashMap<>(); for (final Map.Entry<String, String> entry : original.entrySet()) { - if (entry.getValue().length() > maxAttributeChars) { - truncatedAttrs.put(entry.getKey(), entry.getValue().substring(0, maxAttributeChars)); - } else { - truncatedAttrs.put(entry.getKey(), entry.getValue()); - } + String value = entry.getValue() != null && entry.getValue().length() > this.maxAttributeChars + ? entry.getValue().substring(0, this.maxAttributeChars) : entry.getValue(); + truncatedAttrs.put(entry.getKey(), value); } return truncatedAttrs; } http://git-wip-us.apache.org/repos/asf/nifi/blob/9e9af204/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestPersistentProvenanceRepository.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestPersistentProvenanceRepository.java b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestPersistentProvenanceRepository.java index 4a5c08c..3238d97 100644 --- a/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestPersistentProvenanceRepository.java +++ b/nifi-nar-bundles/nifi-provenance-repository-bundle/nifi-persistent-provenance-repository/src/test/java/org/apache/nifi/provenance/TestPersistentProvenanceRepository.java @@ -1225,6 +1225,7 @@ public class TestPersistentProvenanceRepository { final Map<String, String> attributes = new HashMap<>(); attributes.put("75chars", "123456789012345678901234567890123456789012345678901234567890123456789012345"); + attributes.put("nullChar", null); final ProvenanceEventBuilder builder = new StandardProvenanceEventRecord.Builder(); builder.setEventTime(System.currentTimeMillis());
