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>