diff --git a/src/org/apache/cassandra/db/NamesFilter.java b/src/org/apache/cassandra/db/NamesFilter.java index 7c58f9ede3..118a36a4e3 100644 --- a/src/org/apache/cassandra/db/NamesFilter.java +++ b/src/org/apache/cassandra/db/NamesFilter.java @@ -32,13 +32,13 @@ import org.apache.cassandra.io.SSTable; public class NamesFilter implements IFilter { /* list of column names to filter against. */ - private List names_ = new ArrayList(); - + private List names_; + NamesFilter(List names) { - names_ = names; + names_ = new ArrayList(names); } - + public ColumnFamily filter(String cf, ColumnFamily columnFamily) { if ( columnFamily == null ) @@ -55,7 +55,7 @@ public class NamesFilter implements IFilter { if ( names_.contains(column.name()) ) { - names_.remove(column.name()); + names_.remove(column.name()); filteredCf.addColumn(column); } if( isDone() ) @@ -64,20 +64,20 @@ public class NamesFilter implements IFilter } } } - else if ( values.length == 2 && DatabaseDescriptor.getColumnType(cfName).equals("Super") ) + else if ( values.length == 2 && DatabaseDescriptor.getColumnType(cfName).equals("Super")) { Collection columns = columnFamily.getAllColumns(); for(IColumn column : columns) { SuperColumn superColumn = (SuperColumn)column; - SuperColumn filteredSuperColumn = new SuperColumn(superColumn.name()); - filteredCf.addColumn(filteredSuperColumn); + SuperColumn filteredSuperColumn = new SuperColumn(superColumn.name()); + filteredCf.addColumn(filteredSuperColumn); Collection subColumns = superColumn.getSubColumns(); for(IColumn subColumn : subColumns) { if ( names_.contains(subColumn.name()) ) { - names_.remove(subColumn.name()); + names_.remove(subColumn.name()); filteredSuperColumn.addColumn(subColumn.name(), subColumn); } if( isDone() ) @@ -87,28 +87,28 @@ public class NamesFilter implements IFilter } } } - else + else { throw new UnsupportedOperationException(); } return filteredCf; } - + public IColumn filter(IColumn column, DataInputStream dis) throws IOException - { + { String columnName = column.name(); if ( names_.contains(columnName) ) { - names_.remove(columnName); + names_.remove(columnName); } else { column = null; } - + return column; } - + public boolean isDone() { return names_.isEmpty();