Fixing contrib check and addressing comments

Signed-off-by: Matt Gilman <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/b17be66a
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/b17be66a
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/b17be66a

Branch: refs/heads/master
Commit: b17be66a104b79fd9883c0ce2fade713877c56a8
Parents: dedff14
Author: Joe Percivall <[email protected]>
Authored: Thu Aug 20 13:24:30 2015 -0400
Committer: Matt Gilman <[email protected]>
Committed: Fri Aug 21 08:56:42 2015 -0400

----------------------------------------------------------------------
 .../processors/image/ExtractImageMetadata.java  | 37 +++++++-------------
 .../image/ExtractImageMetadataTest.java         |  2 +-
 2 files changed, 13 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/b17be66a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/main/java/org/apache/nifi/processors/image/ExtractImageMetadata.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/main/java/org/apache/nifi/processors/image/ExtractImageMetadata.java
 
b/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/main/java/org/apache/nifi/processors/image/ExtractImageMetadata.java
index 10eb892..7fe6195 100644
--- 
a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/main/java/org/apache/nifi/processors/image/ExtractImageMetadata.java
+++ 
b/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/main/java/org/apache/nifi/processors/image/ExtractImageMetadata.java
@@ -27,7 +27,6 @@ import org.apache.nifi.annotation.behavior.WritesAttributes;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.components.PropertyDescriptor;
-import org.apache.nifi.components.PropertyValue;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.logging.ProcessorLog;
 import org.apache.nifi.processor.AbstractProcessor;
@@ -61,8 +60,8 @@ import java.util.HashMap;
 @SupportsBatching
 public class ExtractImageMetadata extends AbstractProcessor {
 
-    public static final PropertyDescriptor MaxAttributes = new 
PropertyDescriptor.Builder()
-        .name("Max number of attributes")
+    public static final PropertyDescriptor MAX_NUMBER_OF_ATTRIBUTES = new 
PropertyDescriptor.Builder()
+        .name("Max Number of Attributes")
         .description("Specify the max number of attributes to add to the 
flowfile. There is no guarantee in what order"
                 + " the tags will be processed. By default it will process all 
of them.")
         .required(false)
@@ -86,7 +85,7 @@ public class ExtractImageMetadata extends AbstractProcessor {
     protected void init(final ProcessorInitializationContext context) {
 
         final List<PropertyDescriptor> properties = new ArrayList<>();
-        properties.add(MaxAttributes);
+        properties.add(MAX_NUMBER_OF_ATTRIBUTES);
         this.properties = Collections.unmodifiableList(properties);
 
         final Set<Relationship> relationships = new HashSet<>();
@@ -107,16 +106,14 @@ public class ExtractImageMetadata extends 
AbstractProcessor {
 
     @Override
     public void onTrigger(final ProcessContext context, final ProcessSession 
session) throws ProcessException {
-        final ProcessorLog logger = this.getLogger();
         FlowFile flowfile = session.get();
-
         if (flowfile == null) {
             return;
         }
 
+        final ProcessorLog logger = this.getLogger();
         final ObjectHolder<Metadata> value = new ObjectHolder<>(null);
-        String propertyValue = context.getProperty(MaxAttributes).getValue();
-        final int max = propertyValue!=null ? Integer.parseInt(propertyValue) 
: -1;
+        final Integer max = 
context.getProperty(MAX_NUMBER_OF_ATTRIBUTES).asInteger();
 
         try {
             session.read(flowfile, new InputStreamCallback() {
@@ -132,7 +129,7 @@ public class ExtractImageMetadata extends AbstractProcessor 
{
             });
 
             Metadata metadata = value.get();
-            Map<String, String> results = max == -1 ? getTags(metadata) : 
getTags(max, metadata);
+            Map<String, String> results = getTags(max, metadata);
 
             // Write the results to an attribute
             if (!results.isEmpty()) {
@@ -146,19 +143,7 @@ public class ExtractImageMetadata extends 
AbstractProcessor {
         }
     }
 
-    private Map<String, String> getTags(Metadata metadata) {
-        Map<String, String> results = new HashMap<>();
-
-        for (Directory directory : metadata.getDirectories()) {
-            for (Tag tag : directory.getTags()) {
-                results.put(directory.getName() + "." + tag.getTagName(), 
tag.getDescription());
-            }
-        }
-
-        return results;
-    }
-
-    private Map<String, String> getTags(int max, Metadata metadata) {
+    private Map<String, String> getTags(Integer max, Metadata metadata) {
         Map<String, String> results = new HashMap<>();
         int i =0;
 
@@ -166,9 +151,11 @@ public class ExtractImageMetadata extends 
AbstractProcessor {
             for (Tag tag : directory.getTags()) {
                 results.put(directory.getName() + "." + tag.getTagName(), 
tag.getDescription());
 
-                i++;
-                if(i>=max) {
-                    return results;
+                if(max!=null) {
+                    i++;
+                    if (i >= max) {
+                        return results;
+                    }
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/nifi/blob/b17be66a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/test/java/org/apache/nifi/processors/image/ExtractImageMetadataTest.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/test/java/org/apache/nifi/processors/image/ExtractImageMetadataTest.java
 
b/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/test/java/org/apache/nifi/processors/image/ExtractImageMetadataTest.java
index a4dde01..cf31e15 100644
--- 
a/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/test/java/org/apache/nifi/processors/image/ExtractImageMetadataTest.java
+++ 
b/nifi-nar-bundles/nifi-image-bundle/nifi-image-processors/src/test/java/org/apache/nifi/processors/image/ExtractImageMetadataTest.java
@@ -139,7 +139,7 @@ public class ExtractImageMetadataTest {
         Path path = Paths.get(pathStr);
         testRunner.enqueue(path);
         if(max != null) {
-            testRunner.setProperty(ExtractImageMetadata.MaxAttributes, max);
+            
testRunner.setProperty(ExtractImageMetadata.MAX_NUMBER_OF_ATTRIBUTES, max);
         }
 
         testRunner.run();

Reply via email to