You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/07/03 22:23:50 UTC
[06/13] camel git commit: CAMEL-8478: IdempotentRepository - Add
clear operation, align HBaseIdempotentRepository
CAMEL-8478: IdempotentRepository - Add clear operation, align HBaseIdempotentRepository
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c93ef1d4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c93ef1d4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c93ef1d4
Branch: refs/heads/master
Commit: c93ef1d4e0b97606b257a8e6a210b8660303c667
Parents: da71c7b
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Jul 3 17:07:58 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Jul 3 17:07:58 2015 +0200
----------------------------------------------------------------------
.../idempotent/HBaseIdempotentRepository.java | 19 +++++++++++++++++++
.../HBaseIdempotentRepositoryTest.java | 17 +++++++++++++++++
2 files changed, 36 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c93ef1d4/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
----------------------------------------------------------------------
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
index 4459bba..05900a1 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepository.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.hbase.processor.idempotent;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
+
import org.apache.camel.component.hbase.HBaseHelper;
import org.apache.camel.spi.IdempotentRepository;
import org.apache.camel.support.ServiceSupport;
@@ -28,6 +29,9 @@ import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.client.ResultScanner;
+import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -103,6 +107,21 @@ public class HBaseIdempotentRepository extends ServiceSupport implements Idempot
public boolean confirm(Object o) {
return true;
}
+
+ @Override
+ public void clear() {
+ Scan s = new Scan();
+ ResultScanner scanner;
+ try {
+ scanner = table.getScanner(s);
+ for (Result rr : scanner) {
+ Delete d = new Delete(rr.getRow());
+ table.delete(d);
+ }
+ } catch (Exception e) {
+ LOG.warn("Error clear HBase repository {}", table);
+ }
+ }
@Override
protected void doStart() throws Exception {
http://git-wip-us.apache.org/repos/asf/camel/blob/c93ef1d4/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java b/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java
index 352c59c..1baf1de 100644
--- a/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java
+++ b/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/processor/idempotent/HBaseIdempotentRepositoryTest.java
@@ -102,6 +102,23 @@ public class HBaseIdempotentRepositoryTest extends CamelHBaseTestSupport {
assertFalse(repository.remove(key02));
}
}
+
+ @Test
+ public void testClear() throws Exception {
+ if (systemReady) {
+ // add key to remove
+ assertTrue(repository.add(key01));
+ assertTrue(repository.add(key02));
+ assertTrue(repository.contains(key01));
+ assertTrue(repository.contains(key02));
+
+ // remove key
+ repository.clear();
+
+ assertFalse(repository.contains(key01));
+ assertFalse(repository.contains(key02));
+ }
+ }
@Test
public void testConfirm() throws Exception {