You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2015/07/16 16:47:32 UTC

[39/50] [abbrv] incubator-nifi git commit: NIFI-743 Moving OnShutdown to OnStopped for GetSolr and GetHttp

NIFI-743 Moving OnShutdown to OnStopped for GetSolr and GetHttp

Adding OnRemoved methods to GetSolr and GetHttp

Signed-off-by: Mark Payne <ma...@hotmail.com>


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

Branch: refs/heads/master
Commit: 63a900852769bbd7bedc2b460a291a9de0bd9a15
Parents: 8da7327
Author: Bryan Bende <bb...@apache.org>
Authored: Fri Jul 3 10:52:35 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jul 3 13:37:44 2015 -0400

----------------------------------------------------------------------
 .../apache/nifi/processors/solr/GetSolr.java    | 15 ++++++++--
 .../nifi/processors/solr/TestGetSolr.java       | 29 +++++++++++++++++---
 .../nifi/processors/standard/GetHTTP.java       | 15 ++++++++--
 .../nifi/processors/standard/TestGetHTTP.java   | 10 +++++--
 4 files changed, 56 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
index 6344e2c..ff264a1 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/main/java/org/apache/nifi/processors/solr/GetSolr.java
@@ -21,7 +21,8 @@ package org.apache.nifi.processors.solr;
 import org.apache.commons.io.IOUtils;
 import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.Tags;
-import org.apache.nifi.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.logging.ProcessorLog;
@@ -157,11 +158,19 @@ public class GetSolr extends SolrProcessor {
         lastEndDatedRef.set(UNINITIALIZED_LAST_END_DATE_VALUE);
     }
 
-    @OnShutdown
-    public void onShutdown() {
+    @OnStopped
+    public void onStopped() {
         writeLastEndDate();
     }
 
+    @OnRemoved
+    public void onRemoved() {
+        final File lastEndDateCache = new File(FILE_PREFIX + getIdentifier());
+        if (lastEndDateCache.exists()) {
+            lastEndDateCache.delete();
+        }
+    }
+
     @Override
     public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
         final ProcessorLog logger = getLogger();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
index b0f5e68..d8f6423 100644
--- a/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
+++ b/nifi/nifi-nar-bundles/nifi-solr-bundle/nifi-solr-processors/src/test/java/org/apache/nifi/processors/solr/TestGetSolr.java
@@ -104,14 +104,15 @@ public class TestGetSolr {
         File confDir = new File("conf");
         assertTrue(confDir.exists());
         File[] files = confDir.listFiles();
-        assertTrue(files.length > 0);
-        for (File file : files) {
-            assertTrue("Failed to delete " + file.getName(), file.delete());
+        if (files.length > 0) {
+            for (File file : files) {
+                assertTrue("Failed to delete " + file.getName(), file.delete());
+            }
         }
         assertTrue(confDir.delete());
 
         try {
-            solrClient.shutdown();
+            solrClient.close();
         } catch (Exception e) {
         }
     }
@@ -184,6 +185,26 @@ public class TestGetSolr {
         runner.assertAllFlowFilesTransferred(GetSolr.REL_SUCCESS, 0);
     }
 
+    @Test
+    public void testOnRemovedRemovesState() throws IOException, SolrServerException {
+        final TestableProcessor proc = new TestableProcessor(solrClient);
+
+        TestRunner runner = TestRunners.newTestRunner(proc);
+        runner.setProperty(GetSolr.SOLR_TYPE, PutSolrContentStream.SOLR_TYPE_STANDARD.getValue());
+        runner.setProperty(GetSolr.SOLR_LOCATION, "http://localhost:8443/solr");
+        runner.setProperty(GetSolr.SOLR_QUERY, "last:smith");
+        runner.setProperty(GetSolr.RETURN_FIELDS, "created");
+        runner.setProperty(GetSolr.SORT_CLAUSE, "created desc");
+        runner.setProperty(GetSolr.DATE_FIELD, "created");
+        runner.setProperty(GetSolr.BATCH_SIZE, "10");
+
+        runner.run();
+
+        File lastEndDateCache = new File(GetSolr.FILE_PREFIX + proc.getIdentifier());
+        Assert.assertTrue("State file should exist, but doesn't", lastEndDateCache.exists());
+        proc.onRemoved();
+        Assert.assertFalse("State file should have been removed, but wasn't", lastEndDateCache.exists());
+    }
 
     // Override createSolrClient and return the passed in SolrClient
     private class TestableProcessor extends GetSolr {

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
index 1ecd170..7099552 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/GetHTTP.java
@@ -73,7 +73,8 @@ import org.apache.nifi.annotation.behavior.WritesAttribute;
 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.annotation.lifecycle.OnShutdown;
+import org.apache.nifi.annotation.lifecycle.OnRemoved;
+import org.apache.nifi.annotation.lifecycle.OnStopped;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
@@ -267,8 +268,8 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
         lastModifiedRef.set(UNINITIALIZED_LAST_MODIFIED_VALUE);
     }
 
-    @OnShutdown
-    public void onShutdown() {
+    @OnStopped
+    public void onStopped() {
         final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
         try (FileOutputStream fos = new FileOutputStream(httpCache)) {
             final Properties props = new Properties();
@@ -280,6 +281,14 @@ public class GetHTTP extends AbstractSessionFactoryProcessor {
 
     }
 
+    @OnRemoved
+    public void onRemoved() {
+        final File httpCache = new File(HTTP_CACHE_FILE_PREFIX + getIdentifier());
+        if (httpCache.exists()) {
+            httpCache.delete();
+        }
+    }
+
     @Override
     protected Collection<ValidationResult> customValidate(final ValidationContext context) {
         final Collection<ValidationResult> results = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/63a90085/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
index 9ed9d17..94e0a35 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestGetHTTP.java
@@ -65,9 +65,10 @@ public class TestGetHTTP {
         File confDir = new File("conf");
         assertTrue(confDir.exists());
         File[] files = confDir.listFiles();
-        assertTrue(files.length > 0);
-        for (File file : files) {
-            assertTrue("Failed to delete " + file.getName(), file.delete());
+        if (files.length > 0) {
+            for (File file : files) {
+                assertTrue("Failed to delete " + file.getName(), file.delete());
+            }
         }
         assertTrue(confDir.delete());
     }
@@ -235,6 +236,9 @@ public class TestGetHTTP {
             assertEquals(etag, props.getProperty(GetHTTP.ETAG));
             assertEquals(lastMod, props.getProperty(GetHTTP.LAST_MODIFIED));
 
+            getHTTPProcessor.onRemoved();
+            assertFalse(file.exists());
+
             // shutdown web service
         } finally {
             server.shutdownServer();