You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by bi...@apache.org on 2011/12/05 22:02:11 UTC
svn commit: r1210628 - in /incubator/accumulo/branches/1.4/src/core/src:
main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java
Author: billie
Date: Mon Dec 5 21:02:10 2011
New Revision: 1210628
URL: http://svn.apache.org/viewvc?rev=1210628&view=rev
Log:
ACCUMULO-189 applied patch
Modified:
incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
incubator/accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java
Modified: incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java?rev=1210628&r1=1210627&r2=1210628&view=diff
==============================================================================
--- incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java (original)
+++ incubator/accumulo/branches/1.4/src/core/src/main/java/org/apache/accumulo/core/iterators/user/RegExFilter.java Mon Dec 5 21:02:10 2011
@@ -39,10 +39,10 @@ public class RegExFilter extends Filter
public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) {
RegExFilter result = new RegExFilter();
result.setSource(getSource().deepCopy(env));
- result.rowMatcher = rowMatcher.pattern().matcher("");
- result.colfMatcher = colfMatcher.pattern().matcher("");
- result.colqMatcher = colqMatcher.pattern().matcher("");
- result.valueMatcher = valueMatcher.pattern().matcher("");
+ result.rowMatcher = copyMatcher(rowMatcher);
+ result.colfMatcher = copyMatcher(colfMatcher);
+ result.colqMatcher = copyMatcher(colqMatcher);
+ result.valueMatcher = copyMatcher(valueMatcher);
result.orFields = orFields;
return result;
}
@@ -61,6 +61,14 @@ public class RegExFilter extends Filter
private ByteArrayBackedCharSequence babcs = new ByteArrayBackedCharSequence();
+ private Matcher copyMatcher(Matcher m)
+ {
+ if(m == null)
+ return m;
+ else
+ return m.pattern().matcher("");
+ }
+
private boolean matches(Matcher matcher, ByteSequence bs) {
if (matcher != null) {
babcs.set(bs);
Modified: incubator/accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java?rev=1210628&r1=1210627&r2=1210628&view=diff
==============================================================================
--- incubator/accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java (original)
+++ incubator/accumulo/branches/1.4/src/core/src/test/java/org/apache/accumulo/core/iterators/user/RegExFilterTest.java Mon Dec 5 21:02:10 2011
@@ -192,5 +192,12 @@ public class RegExFilterTest extends Tes
assertTrue(rei.getTopKey().equals(k2));
rei.next();
assertFalse(rei.hasTop());
+
+ is.clearOptions();
+
+ RegExFilter.setRegexs(is, null, "ya.*", "hamster", null, true);
+ rei.init(new SortedMapIterator(tm), is.getProperties(), new DefaultIteratorEnvironment());
+ rei.seek(new Range(), EMPTY_COL_FAMS, false);
+ rei.deepCopy(new DefaultIteratorEnvironment());
}
}