Repository: camel
Updated Branches:
  refs/heads/master 19ee7717a -> 0046232ae


CAMEL-7683: Upgrade to hbase 0.98. Thanks to Wojciech Indyk for the patch.


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

Branch: refs/heads/master
Commit: 51564d67c20b724e578788dc08002aa75eecb230
Parents: 19ee771
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Jul 28 09:47:19 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Jul 28 09:47:19 2015 +0200

----------------------------------------------------------------------
 components/camel-hbase/pom.xml                  | 19 ++++++------
 .../camel/component/hbase/HBaseProducer.java    |  2 +-
 .../filters/ModelAwareColumnMatchingFilter.java | 12 ++++++--
 .../hbase/filters/ModelAwareFilter.java         |  2 +-
 .../hbase/filters/ModelAwareFilterList.java     | 31 +++++++++++++-------
 .../ModelAwareRowPrefixMatchingFilter.java      |  2 +-
 .../hbase/filters/ModelAwareSkipFilter.java     |  4 +--
 .../filters/ModelAwareWhileMatchFilter.java     |  5 +---
 .../component/hbase/CamelHBaseFilterTest.java   |  2 +-
 parent/pom.xml                                  |  4 +--
 10 files changed, 47 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-hbase/pom.xml b/components/camel-hbase/pom.xml
index e5e14a6..5a511d4 100644
--- a/components/camel-hbase/pom.xml
+++ b/components/camel-hbase/pom.xml
@@ -46,10 +46,9 @@
 
         <dependency>
             <groupId>org.apache.hbase</groupId>
-            <artifactId>hbase</artifactId>
+            <artifactId>hbase-client</artifactId>
             <version>${hbase-version}</version>
         </dependency>
-
         <dependency>
             <groupId>org.apache.hadoop</groupId>
             <artifactId>hadoop-core</artifactId>
@@ -85,7 +84,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
@@ -128,7 +126,14 @@
         </dependency>
         <dependency>
             <groupId>org.apache.hbase</groupId>
-            <artifactId>hbase</artifactId>
+            <artifactId>hbase-server</artifactId>
+            <version>${hbase-version}</version>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hbase</groupId>
+            <artifactId>hbase-testing-util</artifactId>
             <version>${hbase-version}</version>
             <classifier>tests</classifier>
             <scope>test</scope>
@@ -147,12 +152,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.hadoop</groupId>
-            <artifactId>hadoop-test</artifactId>
-            <version>${hadoop-version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-log4j12</artifactId>
             <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
index 053309f..4a921aa 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseProducer.java
@@ -216,7 +216,7 @@ public class HBaseProducer extends DefaultProducer 
implements ServicePoolAware {
                     Object clone = 
endpoint.getCamelContext().getInjector().newInstance(filter.getClass());
                     if (clone instanceof ModelAwareFilter) {
                         ((ModelAwareFilter<?>) 
clone).apply(endpoint.getCamelContext(), model);
-                        clonedFilters.add((ModelAwareFilter<?>) clone);
+                        clonedFilters.add((Filter) clone);
                     }
                 }
             }

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareColumnMatchingFilter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareColumnMatchingFilter.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareColumnMatchingFilter.java
index fac2b30..326dbc0 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareColumnMatchingFilter.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareColumnMatchingFilter.java
@@ -28,12 +28,18 @@ import 
org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
 /**
  * A {@link FilterList} that contains multiple {@link 
SingleColumnValueExcludeFilter}s one per column that is part of the model.
  */
-public class ModelAwareColumnMatchingFilter extends FilterList implements 
ModelAwareFilter<FilterList> {
+public class ModelAwareColumnMatchingFilter implements 
ModelAwareFilter<FilterList> {
+    FilterList fl;
 
     /**
      * Writable constructor, do not use.
      */
     public ModelAwareColumnMatchingFilter() {
+        fl = new FilterList();
+    }
+
+    public FilterList getFilteredList() {
+        return fl;
     }
 
     /**
@@ -41,7 +47,7 @@ public class ModelAwareColumnMatchingFilter extends 
FilterList implements ModelA
      */
     @Override
     public void apply(CamelContext context, HBaseRow rowModel) {
-        getFilters().clear();
+        fl.getFilters().clear();
         if (rowModel != null) {
             for (HBaseCell cell : rowModel.getCells()) {
                 if (cell.getValue() != null) {
@@ -49,7 +55,7 @@ public class ModelAwareColumnMatchingFilter extends 
FilterList implements ModelA
                     byte[] qualifier = 
HBaseHelper.getHBaseFieldAsBytes(cell.getQualifier());
                     byte[] value = 
context.getTypeConverter().convertTo(byte[].class, cell.getValue());
                     SingleColumnValueFilter columnValueFilter = new 
SingleColumnValueFilter(family, qualifier, CompareFilter.CompareOp.EQUAL, 
value);
-                    addFilter(columnValueFilter);
+                    fl.addFilter(columnValueFilter);
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilter.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilter.java
index 7734849..a45be79 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilter.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilter.java
@@ -20,7 +20,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.component.hbase.model.HBaseRow;
 import org.apache.hadoop.hbase.filter.Filter;
 
-public interface ModelAwareFilter<T extends Filter> extends Filter {
+public interface ModelAwareFilter<T extends Filter> {
 
     /**
      * Applies the message to {@link Filter} to context.

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilterList.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilterList.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilterList.java
index cdd5f67..636c8bf 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilterList.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareFilterList.java
@@ -17,18 +17,21 @@
 package org.apache.camel.component.hbase.filters;
 
 import java.util.List;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hbase.model.HBaseRow;
 import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.FilterList;
 
-public class ModelAwareFilterList extends FilterList implements 
ModelAwareFilter<FilterList> {
+public class ModelAwareFilterList implements ModelAwareFilter<FilterList> {
+
+    FilterList fl;
 
     /**
-     * Default constructor, filters nothing. Required though for RPC
-     * deserialization.
+     * Default constructor, filters nothing. Required though for RPC 
deserialization.
      */
     public ModelAwareFilterList() {
+        fl = new FilterList(); //it's worth to prevent the class against null 
pointer on fl
     }
 
     /**
@@ -38,7 +41,7 @@ public class ModelAwareFilterList extends FilterList 
implements ModelAwareFilter
      * @param rowFilters list of filters
      */
     public ModelAwareFilterList(List<Filter> rowFilters) {
-        super(rowFilters);
+        fl = new FilterList(rowFilters);
     }
 
     /**
@@ -46,8 +49,8 @@ public class ModelAwareFilterList extends FilterList 
implements ModelAwareFilter
      *
      * @param operator Operator to process filter set with.
      */
-    public ModelAwareFilterList(Operator operator) {
-        super(operator);
+    public ModelAwareFilterList(FilterList.Operator operator) {
+        fl = new FilterList(operator);
     }
 
     /**
@@ -56,8 +59,8 @@ public class ModelAwareFilterList extends FilterList 
implements ModelAwareFilter
      * @param operator   Operator to process filter set with.
      * @param rowFilters Set of row filters.
      */
-    public ModelAwareFilterList(Operator operator, List<Filter> rowFilters) {
-        super(operator, rowFilters);
+    public ModelAwareFilterList(FilterList.Operator operator, List<Filter> 
rowFilters) {
+        fl = new FilterList(operator, rowFilters);
     }
 
     /**
@@ -66,7 +69,7 @@ public class ModelAwareFilterList extends FilterList 
implements ModelAwareFilter
     @Override
     public void apply(CamelContext context, HBaseRow rowModel) {
         for (Filter filter : getFilters()) {
-            if (ModelAwareFilter.class.isAssignableFrom(filter.getClass())) {
+            if (ModelAwareFilter.class.isAssignableFrom(filter.getClass())) { 
//probably and is assignable from filter
                 ((ModelAwareFilter<?>) filter).apply(context, rowModel);
             }
         }
@@ -75,7 +78,15 @@ public class ModelAwareFilterList extends FilterList 
implements ModelAwareFilter
     /**
      * Wraps an existing {@link FilterList} filter into a {@link 
ModelAwareFilterList}.
      */
-    public ModelAwareFilterList wrap(FilterList filter) {
+    public static ModelAwareFilterList wrap(FilterList filter) {
         return new ModelAwareFilterList(filter.getOperator(), 
filter.getFilters());
     }
+
+    public List<Filter> getFilters() {
+        return fl.getFilters();
+    }
+
+    public void addFilter(Filter filter) {
+        getFilters().add(filter);
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareRowPrefixMatchingFilter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareRowPrefixMatchingFilter.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareRowPrefixMatchingFilter.java
index 84be756..1977c7d 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareRowPrefixMatchingFilter.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareRowPrefixMatchingFilter.java
@@ -24,7 +24,7 @@ import org.apache.hadoop.hbase.filter.PrefixFilter;
 /**
  * A {@link FilterList} that contains multiple {@link PrefixFilter}s one per 
column that is part of the model.
  */
-public class ModelAwareRowPrefixMatchingFilter extends FilterList implements 
ModelAwareFilter<FilterList> {
+public class ModelAwareRowPrefixMatchingFilter extends ModelAwareFilterList {
 
     /**
      * Writable constructor, do not use.

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareSkipFilter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareSkipFilter.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareSkipFilter.java
index b1bf2a7..574a680 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareSkipFilter.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareSkipFilter.java
@@ -23,8 +23,6 @@ import org.apache.hadoop.hbase.filter.SkipFilter;
 
 public class ModelAwareSkipFilter extends SkipFilter implements 
ModelAwareFilter<SkipFilter> {
 
-    public ModelAwareSkipFilter() {
-    }
 
     public ModelAwareSkipFilter(Filter filter) {
         super(filter);
@@ -43,7 +41,7 @@ public class ModelAwareSkipFilter extends SkipFilter 
implements ModelAwareFilter
     /**
      * Wraps an existing {@link SkipFilter} filter into a {@link 
ModelAwareSkipFilter}.
      */
-    public ModelAwareSkipFilter wrap(SkipFilter filter) {
+    public static ModelAwareSkipFilter wrap(SkipFilter filter) {
         return new ModelAwareSkipFilter(filter.getFilter());
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareWhileMatchFilter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareWhileMatchFilter.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareWhileMatchFilter.java
index 0f56066..5fd401d 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareWhileMatchFilter.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/filters/ModelAwareWhileMatchFilter.java
@@ -23,9 +23,6 @@ import org.apache.hadoop.hbase.filter.WhileMatchFilter;
 
 public class ModelAwareWhileMatchFilter extends WhileMatchFilter implements 
ModelAwareFilter<WhileMatchFilter> {
 
-    public ModelAwareWhileMatchFilter() {
-    }
-
     public ModelAwareWhileMatchFilter(Filter filter) {
         super(filter);
     }
@@ -43,7 +40,7 @@ public class ModelAwareWhileMatchFilter extends 
WhileMatchFilter implements Mode
     /**
      * Wraps an existing {@link WhileMatchFilter} filter into a {@link 
ModelAwareWhileMatchFilter}.
      */
-    public ModelAwareWhileMatchFilter wrap(WhileMatchFilter filter) {
+    public static ModelAwareWhileMatchFilter wrap(WhileMatchFilter filter) {
         return new ModelAwareWhileMatchFilter(filter.getFilter());
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/CamelHBaseFilterTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/CamelHBaseFilterTest.java
 
b/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/CamelHBaseFilterTest.java
index eb3c050..6124130 100644
--- 
a/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/CamelHBaseFilterTest.java
+++ 
b/components/camel-hbase/src/test/java/org/apache/camel/component/hbase/CamelHBaseFilterTest.java
@@ -37,7 +37,7 @@ public class CamelHBaseFilterTest extends 
CamelHBaseTestSupport {
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry jndi = super.createRegistry();
-        filters.add(new ModelAwareColumnMatchingFilter());
+        filters.add(new ModelAwareColumnMatchingFilter().getFilteredList());
         jndi.bind("myFilters", filters);
         return jndi;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/51564d67/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index fe68820..aaf39eb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -208,8 +208,8 @@
     <hawtdb-version>1.6</hawtdb-version>
     <hawtdispatch-version>1.21</hawtdispatch-version>
     <hazelcast-version>3.5</hazelcast-version>
-    <hbase-version>0.94.10</hbase-version>
-    <hbase-bundle-version>0.94.6_1</hbase-bundle-version>
+    <hbase-version>0.98.1-hadoop2</hbase-version>
+    <hbase-bundle-version>0.98.1-hadoop2</hbase-bundle-version>
     <hibernate-validator-version>5.2.0.Final</hibernate-validator-version>
     <!-- Spring 3.2.x and 4.0.x still stick to JPA 2.0. Hibernate 4.3.x 
upgraded to JPA 2.1. -->
     <hibernate-version>4.2.16.Final</hibernate-version>

Reply via email to