CAMEL-8478: IdempotentRepository - Add clear operation, align 
KratiIdempotentRepository


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

Branch: refs/heads/master
Commit: 1cb5207bdf9a138021ef0ad93d53b26383b5b159
Parents: d070697
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Fri Jul 3 21:58:47 2015 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Fri Jul 3 21:58:47 2015 +0200

----------------------------------------------------------------------
 .../processor/idempotent/KratiIdempotentRepository.java  | 10 ++++++++++
 .../idempotent/KratiIdempotentRepositoryTest.java        | 11 +++++++++++
 2 files changed, 21 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/1cb5207b/components/camel-krati/src/main/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepository.java
----------------------------------------------------------------------
diff --git 
a/components/camel-krati/src/main/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepository.java
 
b/components/camel-krati/src/main/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepository.java
index eb7cf6e..7bd414d 100644
--- 
a/components/camel-krati/src/main/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepository.java
+++ 
b/components/camel-krati/src/main/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepository.java
@@ -20,6 +20,7 @@ import krati.core.segment.ChannelSegmentFactory;
 import krati.core.segment.SegmentFactory;
 import krati.io.Serializer;
 import krati.store.DataSet;
+
 import org.apache.camel.api.management.ManagedOperation;
 import org.apache.camel.component.krati.KratiHelper;
 import org.apache.camel.component.krati.serializer.KratiDefaultSerializer;
@@ -90,6 +91,15 @@ public class KratiIdempotentRepository extends 
ServiceSupport implements Idempot
     public boolean confirm(String s) {
         return true;
     }
+    
+       @Override
+       public void clear() {
+               try {
+                       dataSet.clear();
+               } catch (Exception e) {
+                       LOG.warn("Error clear Krati idempotent repository. This 
exception is ignored.", e);
+               }
+       }
 
     @Override
     protected void doStart() throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/1cb5207b/components/camel-krati/src/test/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepositoryTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-krati/src/test/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepositoryTest.java
 
b/components/camel-krati/src/test/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepositoryTest.java
index 8eb38ab..d1ec430 100644
--- 
a/components/camel-krati/src/test/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepositoryTest.java
+++ 
b/components/camel-krati/src/test/java/org/apache/camel/component/krati/processor/idempotent/KratiIdempotentRepositoryTest.java
@@ -85,6 +85,17 @@ public class KratiIdempotentRepositoryTest extends 
CamelTestSupport {
         assertFalse(repository.remove(key02));
     }
 
+    @Test
+    public void testClear() throws Exception {
+        // add keys to clear
+        assertTrue(repository.add(key01));
+        assertTrue(repository.add(key02));
+
+        repository.clear();
+        
+        assertFalse(repository.contains(key01));
+        assertFalse(repository.contains(key02));
+    }
 
     @Test
     public void testRepositoryInRoute() throws Exception {

Reply via email to