@Override public T parseColumn( final Column<C> column ) { final C edge = column.getName(); return createEdge( edge, column.getBooleanValue() ); }
return new Shard(column.getName(), column.getTimestamp(), column.getBooleanValue());
assertTrue( column.getBooleanValue() );
@Override public Boolean getBoolean(C columnName, Boolean defaultValue) { Column<C> column = columns.get(columnName); if (column == null) return defaultValue; return column.getBooleanValue(); }
@Override public Boolean getBooleanValue(C columnName, Boolean defaultValue) { Column<C> column = map.get(columnName); if (column == null) { return defaultValue; } else { return column.getBooleanValue(); } }
@Override public Boolean getBooleanValue(C columnName, Boolean defaultValue) { Column<C> column = getColumnByName(columnName); if (column == null || !column.hasValue()) return defaultValue; return column.getBooleanValue(); }
when(column.getLongValue()).thenReturn((Long) value); } else if (value instanceof Boolean) { when(column.getBooleanValue()).thenReturn((Boolean) value); } else { throw new RuntimeException("unsupported type, add another else above");
when(column.getLongValue()).thenReturn((Long) value); } else if (value instanceof Boolean) { when(column.getBooleanValue()).thenReturn((Boolean) value); } else { throw new RuntimeException("unsupported type, add another else above");
} else if ((field.getType() == Boolean.class) || (field.getType() == Boolean.TYPE)) { objValue = column.getBooleanValue(); } else if ((field.getType() == Short.class) || (field.getType() == Short.TYPE)) {
Assert.assertEquals(value, column.getDoubleValue()); } else if (value instanceof Boolean) { Assert.assertEquals(value, column.getBooleanValue()); } else if (value instanceof Date) { Assert.assertEquals(value, column.getDateValue());
Assert.assertEquals(value, column.getDoubleValue()); } else if (value instanceof Boolean) { Assert.assertEquals(value, column.getBooleanValue()); } else if (value instanceof Date) { Assert.assertEquals(value, column.getDateValue());
private FeatureState toFeatureState(Feature feature, ColumnList<String> state) { final Column<String> enabled = state.getColumnByName(ENABLED_COLUMN); final Column<String> strategyId = state.getColumnByName(STRATEGY_ID_COLUMN); final Column<String> strategyValues = state.getColumnByName(STRATEGY_PARAMS_COLUMN); final FeatureState featureState = new FeatureState(feature); featureState.setEnabled(enabled != null && enabled.getBooleanValue()); featureState.setStrategyId(strategyId != null ? strategyId.getStringValue() : null); if (strategyValues != null) { final Map<String, String> params = mapSerializer.deserialize(strategyValues.getStringValue()); for (final Entry<String, String> entry : params.entrySet()) { featureState.setParameter(entry.getKey(), entry.getValue()); } } return featureState; }
@Override public boolean moveIfFast(String fromChannel, String toChannel) { Iterator<Column<ByteBuffer>> manifestColumns = executePaginated( _keyspace.prepareQuery(ColumnFamilies.MANIFEST, ConsistencyLevel.CL_LOCAL_QUORUM) .getKey(fromChannel) .withColumnRange(new RangeBuilder().setLimit(50).build()) .autoPaginate(true)); List<ByteBuffer> closedSlabs = Lists.newArrayList(); boolean movedAll = true; while (manifestColumns.hasNext()) { Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); boolean open = manifestColumn.getBooleanValue(); if (open) { // Can't safely re-assign open slabs to another channel since writers may still be writing. movedAll = false; // All events in the open slab might be deleted, but don't check for that here. continue; } closedSlabs.add(slabId); if (closedSlabs.size() >= SLAB_MOVE_BATCH) { _manifestPersister.move(fromChannel, toChannel, closedSlabs, false); closedSlabs.clear(); } } if (!closedSlabs.isEmpty()) { _manifestPersister.move(fromChannel, toChannel, closedSlabs, false); } return movedAll; }
@Override public boolean moveIfFast(String fromChannel, String toChannel) { Iterator<Column<ByteBuffer>> manifestColumns = executePaginated( _keyspace.prepareQuery(ColumnFamilies.MANIFEST, ConsistencyLevel.CL_LOCAL_QUORUM) .getKey(fromChannel) .withColumnRange(new RangeBuilder().setLimit(50).build()) .autoPaginate(true)); List<ByteBuffer> closedSlabs = Lists.newArrayList(); boolean movedAll = true; while (manifestColumns.hasNext()) { Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); boolean open = manifestColumn.getBooleanValue(); if (open) { // Can't safely re-assign open slabs to another channel since writers may still be writing. movedAll = false; // All events in the open slab might be deleted, but don't check for that here. continue; } closedSlabs.add(slabId); if (closedSlabs.size() >= SLAB_MOVE_BATCH) { _manifestPersister.move(fromChannel, toChannel, closedSlabs, false); closedSlabs.clear(); } } if (!closedSlabs.isEmpty()) { _manifestPersister.move(fromChannel, toChannel, closedSlabs, false); } return movedAll; }
Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); boolean open = manifestColumn.getBooleanValue();
Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); boolean open = manifestColumn.getBooleanValue();
/** * Utility method for pulling data from Cassandra Row into an FilterInfo object * * @param row * @return */ public FilterInfo getFilterScriptFromCassandraRow(Row<String, String> row) { String filterName = null; int revision = -1; try { ColumnList<String> columns = row.getColumns(); filterName = columns.getColumnByName("filter_name").getStringValue(); String filter_id = columns.getColumnByName("filter_id").getStringValue(); String filterType = columns.getColumnByName("filter_type").getStringValue(); String filterDisable = columns.getColumnByName("filter_disable") != null ? columns.getColumnByName("filter_disable").getStringValue() : "?"; String filterOrder = columns.getColumnByName("filter_order") != null ? columns.getColumnByName("filter_order").getStringValue() : "?"; revision = (int) columns.getColumnByName("revision").getLongValue(); boolean isActive = columns.getColumnByName("active").getBooleanValue(); boolean isCanary = columns.getColumnByName("canary").getBooleanValue(); Date creationDate = columns.getColumnByName("creation_date").getDateValue(); String filterCode = new String(columns.getColumnByName("filter_code").getByteArrayValue()); String application_name = columns.getColumnByName("application_name").getStringValue(); FilterInfo filterInfo = new FilterInfo(filter_id, revision, creationDate, isActive, isCanary, filterCode, filterType, filterName, filterDisable, filterOrder, application_name); return filterInfo; } catch (Exception e) { // unable to retrieve data for this row, could be missing the uri column (which shouldn't happen) logger.warn("Unable to retrieve data from row => uri : " + filterName + " revision: " + revision + " row: " + row, e); return null; } }
void readAll(String channel, SlabFilter filter, EventSink sink, boolean weak) { // PeekingIterator is needed so that we can look ahead and see the next slab Id PeekingIterator<Column<ByteBuffer>> manifestColumns = Iterators.peekingIterator(readManifestForChannel(channel, weak)); while (manifestColumns.hasNext()) { Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); ByteBuffer nextSlabId = manifestColumns.hasNext() ? manifestColumns.peek().getName() : null; boolean open = manifestColumn.getBooleanValue(); if (filter != null && !filter.accept(slabId, open, nextSlabId)) { continue; } if (!readSlab(channel, slabId, new SlabCursor(), open, sink)) { break; } } }
void readAll(String channel, SlabFilter filter, EventSink sink, boolean weak) { // PeekingIterator is needed so that we can look ahead and see the next slab Id PeekingIterator<Column<ByteBuffer>> manifestColumns = Iterators.peekingIterator(readManifestForChannel(channel, weak)); while (manifestColumns.hasNext()) { Column<ByteBuffer> manifestColumn = manifestColumns.next(); ByteBuffer slabId = manifestColumn.getName(); ByteBuffer nextSlabId = manifestColumns.hasNext() ? manifestColumns.peek().getName() : null; boolean open = manifestColumn.getBooleanValue(); if (filter != null && !filter.accept(slabId, open, nextSlabId)) { continue; } if (!readSlab(channel, slabId, new SlabCursor(), open, sink)) { break; } } }
/** * Utility method for pulling data from Cassandra Row into an FilterInfo object * * @param row * @return */ public FilterInfo getFilterScriptFromCassandraRow(Row<String, String> row) { String filterName = null; int revision = -1; try { ColumnList<String> columns = row.getColumns(); filterName = columns.getColumnByName("filter_name").getStringValue(); String filter_id = columns.getColumnByName("filter_id").getStringValue(); FilterType filterType = FilterType.valueOf(columns.getColumnByName("filter_type").getStringValue()); String filterDisable = columns.getColumnByName("filter_disable") != null ? columns.getColumnByName("filter_disable").getStringValue() : "?"; String filterOrder = columns.getColumnByName("filter_order") != null ? columns.getColumnByName("filter_order").getStringValue() : "?"; revision = (int) columns.getColumnByName("revision").getLongValue(); boolean isActive = columns.getColumnByName("active").getBooleanValue(); boolean isCanary = columns.getColumnByName("canary").getBooleanValue(); Date creationDate = columns.getColumnByName("creation_date").getDateValue(); String filterCode = new String(columns.getColumnByName("filter_code").getByteArrayValue()); String application_name = columns.getColumnByName("application_name").getStringValue(); FilterInfo filterInfo = new FilterInfo(filter_id, revision, creationDate, isActive, isCanary, filterCode, filterType, filterName, filterDisable, filterOrder, application_name); return filterInfo; } catch (Exception e) { // unable to retrieve data for this row, could be missing the uri column (which shouldn't happen) logger.warn("Unable to retrieve data from row => uri : " + filterName + " revision: " + revision + " row: " + row, e); return null; } }