@Override public int hashCode() { return Objects.hash(Bytes.hashCode(getFamily()), Bytes.hashCode(getQualifier()), this.op, getComparator(), getFilterIfMissing(), getLatestVersionOnly()); } }
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) { SingleColumnValueFilter tempFilter = (SingleColumnValueFilter) SingleColumnValueFilter.createFilterFromArguments(filterArguments); SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter ( tempFilter.getFamily(), tempFilter.getQualifier(), tempFilter.getOperator(), tempFilter.getComparator()); if (filterArguments.size() == 6) { filter.setFilterIfMissing(tempFilter.getFilterIfMissing()); filter.setLatestVersionOnly(tempFilter.getLatestVersionOnly()); } return filter; }
/** * @return true if and only if the fields of the filter that are serialized * are equal to the corresponding fields in other. Used for testing. */ @Override boolean areSerializedFieldsEqual(Filter o) { if (o == this) return true; if (!(o instanceof SingleColumnValueFilter)) return false; SingleColumnValueFilter other = (SingleColumnValueFilter)o; return Bytes.equals(this.getFamily(), other.getFamily()) && Bytes.equals(this.getQualifier(), other.getQualifier()) && this.op.equals(other.op) && this.getComparator().areSerializedFieldsEqual(other.getComparator()) && this.getFilterIfMissing() == other.getFilterIfMissing() && this.getLatestVersionOnly() == other.getLatestVersionOnly(); }
this.comparator = new ByteArrayComparableModel(scvf.getComparator()); if (scvf.getFilterIfMissing()) { this.ifMissing = true;
@Test public void testSingleColumnValueFilter() throws IOException { String filterString = "SingleColumnValueFilter " + "('family', 'qualifier', >=, 'binary:a', true, false)"; SingleColumnValueFilter singleColumnValueFilter = doTestFilter(filterString, SingleColumnValueFilter.class); assertEquals("family", new String(singleColumnValueFilter.getFamily(), StandardCharsets.UTF_8)); assertEquals("qualifier", new String(singleColumnValueFilter.getQualifier(), StandardCharsets.UTF_8)); assertEquals(CompareOperator.GREATER_OR_EQUAL, singleColumnValueFilter.getCompareOperator()); assertTrue(singleColumnValueFilter.getComparator() instanceof BinaryComparator); BinaryComparator binaryComparator = (BinaryComparator) singleColumnValueFilter.getComparator(); assertEquals("a", new String(binaryComparator.getValue(), StandardCharsets.UTF_8)); assertTrue(singleColumnValueFilter.getFilterIfMissing()); assertFalse(singleColumnValueFilter.getLatestVersionOnly()); filterString = "SingleColumnValueFilter ('family', 'qualifier', >, 'binaryprefix:a')"; singleColumnValueFilter = doTestFilter(filterString, SingleColumnValueFilter.class); assertEquals("family", new String(singleColumnValueFilter.getFamily(), StandardCharsets.UTF_8)); assertEquals("qualifier", new String(singleColumnValueFilter.getQualifier(), StandardCharsets.UTF_8)); assertEquals(CompareOperator.GREATER, singleColumnValueFilter.getCompareOperator()); assertTrue(singleColumnValueFilter.getComparator() instanceof BinaryPrefixComparator); BinaryPrefixComparator binaryPrefixComparator = (BinaryPrefixComparator) singleColumnValueFilter.getComparator(); assertEquals("a", new String(binaryPrefixComparator.getValue(), StandardCharsets.UTF_8)); assertFalse(singleColumnValueFilter.getFilterIfMissing()); assertTrue(singleColumnValueFilter.getLatestVersionOnly()); }
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) { SingleColumnValueFilter tempFilter = (SingleColumnValueFilter) SingleColumnValueFilter.createFilterFromArguments(filterArguments); SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter ( tempFilter.getFamily(), tempFilter.getQualifier(), tempFilter.getOperator(), tempFilter.getComparator()); if (filterArguments.size() == 6) { filter.setFilterIfMissing(tempFilter.getFilterIfMissing()); filter.setLatestVersionOnly(tempFilter.getLatestVersionOnly()); } return filter; }
/** * @return true if and only if the fields of the filter that are serialized * are equal to the corresponding fields in other. Used for testing. */ @Override boolean areSerializedFieldsEqual(Filter o) { if (o == this) return true; if (!(o instanceof SingleColumnValueFilter)) return false; SingleColumnValueFilter other = (SingleColumnValueFilter)o; return Bytes.equals(this.getFamily(), other.getFamily()) && Bytes.equals(this.getQualifier(), other.getQualifier()) && this.op.equals(other.op) && this.getComparator().areSerializedFieldsEqual(other.getComparator()) && this.getFilterIfMissing() == other.getFilterIfMissing() && this.getLatestVersionOnly() == other.getLatestVersionOnly(); }
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) { SingleColumnValueFilter tempFilter = (SingleColumnValueFilter) SingleColumnValueFilter.createFilterFromArguments(filterArguments); SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter ( tempFilter.getFamily(), tempFilter.getQualifier(), tempFilter.getOperator(), tempFilter.getComparator()); if (filterArguments.size() == 6) { filter.setFilterIfMissing(tempFilter.getFilterIfMissing()); filter.setLatestVersionOnly(tempFilter.getLatestVersionOnly()); } return filter; }
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) { SingleColumnValueFilter tempFilter = (SingleColumnValueFilter) SingleColumnValueFilter.createFilterFromArguments(filterArguments); SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter ( tempFilter.getFamily(), tempFilter.getQualifier(), tempFilter.getOperator(), tempFilter.getComparator()); if (filterArguments.size() == 6) { filter.setFilterIfMissing(tempFilter.getFilterIfMissing()); filter.setLatestVersionOnly(tempFilter.getLatestVersionOnly()); } return filter; }
/** * @return true if and only if the fields of the filter that are serialized * are equal to the corresponding fields in other. Used for testing. */ @Override boolean areSerializedFieldsEqual(Filter o) { if (o == this) return true; if (!(o instanceof SingleColumnValueFilter)) return false; SingleColumnValueFilter other = (SingleColumnValueFilter)o; return Bytes.equals(this.getFamily(), other.getFamily()) && Bytes.equals(this.getQualifier(), other.getQualifier()) && this.op.equals(other.op) && this.getComparator().areSerializedFieldsEqual(other.getComparator()) && this.getFilterIfMissing() == other.getFilterIfMissing() && this.getLatestVersionOnly() == other.getLatestVersionOnly(); }
public static Filter createFilterFromArguments(ArrayList<byte []> filterArguments) { SingleColumnValueFilter tempFilter = (SingleColumnValueFilter) SingleColumnValueFilter.createFilterFromArguments(filterArguments); SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter ( tempFilter.getFamily(), tempFilter.getQualifier(), tempFilter.getOperator(), tempFilter.getComparator()); if (filterArguments.size() == 6) { filter.setFilterIfMissing(tempFilter.getFilterIfMissing()); filter.setLatestVersionOnly(tempFilter.getLatestVersionOnly()); } return filter; } }
/** * @param other * @return true if and only if the fields of the filter that are serialized * are equal to the corresponding fields in other. Used for testing. */ boolean areSerializedFieldsEqual(Filter o) { if (o == this) return true; if (!(o instanceof SingleColumnValueFilter)) return false; SingleColumnValueFilter other = (SingleColumnValueFilter)o; return Bytes.equals(this.getFamily(), other.getFamily()) && Bytes.equals(this.getQualifier(), other.getQualifier()) && this.compareOp.equals(other.compareOp) && this.getComparator().areSerializedFieldsEqual(other.getComparator()) && this.getFilterIfMissing() == other.getFilterIfMissing() && this.getLatestVersionOnly() == other.getLatestVersionOnly(); }
this.comparator = new ByteArrayComparableModel(scvf.getComparator()); if (scvf.getFilterIfMissing()) { this.ifMissing = true;
this.comparator = new ByteArrayComparableModel(scvf.getComparator()); if (scvf.getFilterIfMissing()) { this.ifMissing = true;
this.comparator = new WritableByteArrayComparableModel(scvf.getComparator()); if (scvf.getFilterIfMissing()) { this.ifMissing = true;
@Test public void testSingleColumnValueFilter() throws IOException { String filterString = "SingleColumnValueFilter " + "('family', 'qualifier', >=, 'binary:a', true, false)"; SingleColumnValueFilter singleColumnValueFilter = doTestFilter(filterString, SingleColumnValueFilter.class); assertEquals("family", new String(singleColumnValueFilter.getFamily(), StandardCharsets.UTF_8)); assertEquals("qualifier", new String(singleColumnValueFilter.getQualifier(), StandardCharsets.UTF_8)); assertEquals(CompareOperator.GREATER_OR_EQUAL, singleColumnValueFilter.getCompareOperator()); assertTrue(singleColumnValueFilter.getComparator() instanceof BinaryComparator); BinaryComparator binaryComparator = (BinaryComparator) singleColumnValueFilter.getComparator(); assertEquals("a", new String(binaryComparator.getValue(), StandardCharsets.UTF_8)); assertTrue(singleColumnValueFilter.getFilterIfMissing()); assertFalse(singleColumnValueFilter.getLatestVersionOnly()); filterString = "SingleColumnValueFilter ('family', 'qualifier', >, 'binaryprefix:a')"; singleColumnValueFilter = doTestFilter(filterString, SingleColumnValueFilter.class); assertEquals("family", new String(singleColumnValueFilter.getFamily(), StandardCharsets.UTF_8)); assertEquals("qualifier", new String(singleColumnValueFilter.getQualifier(), StandardCharsets.UTF_8)); assertEquals(CompareOperator.GREATER, singleColumnValueFilter.getCompareOperator()); assertTrue(singleColumnValueFilter.getComparator() instanceof BinaryPrefixComparator); BinaryPrefixComparator binaryPrefixComparator = (BinaryPrefixComparator) singleColumnValueFilter.getComparator(); assertEquals("a", new String(binaryPrefixComparator.getValue(), StandardCharsets.UTF_8)); assertFalse(singleColumnValueFilter.getFilterIfMissing()); assertTrue(singleColumnValueFilter.getLatestVersionOnly()); }
Filter toFilter(FilterAdapterContext context, SingleColumnValueFilter filter) throws IOException { // filter to check if the column exists ChainFilter columnSpecFilter = getColumnSpecFilter( filter.getFamily(), filter.getQualifier(), filter.getLatestVersionOnly()); // filter to return the row if the condition is met if (filter.getFilterIfMissing()) { return FILTERS.condition(addValue(context, filter, columnSpecFilter)) .then(FILTERS.pass()); } else { return FILTERS.interleave() .filter(FILTERS.condition(addValue(context, filter, columnSpecFilter.clone())) .then(FILTERS.pass())) .filter(FILTERS.condition(columnSpecFilter) .otherwise(FILTERS.pass())); } }
Filter toFilter(FilterAdapterContext context, SingleColumnValueFilter filter) throws IOException { // filter to check if the column exists ChainFilter columnSpecFilter = getColumnSpecFilter( filter.getFamily(), filter.getQualifier(), filter.getLatestVersionOnly()); // filter to return the row if the condition is met if (filter.getFilterIfMissing()) { return FILTERS.condition(addValue(context, filter, columnSpecFilter)) .then(FILTERS.pass()); } else { return FILTERS.interleave() .filter(FILTERS.condition(addValue(context, filter, columnSpecFilter.clone())) .then(FILTERS.pass())) .filter(FILTERS.condition(columnSpecFilter) .otherwise(FILTERS.pass())); } }