public VirtualColumn getVirtualColumn(String columnName) { final VirtualColumn vc = withoutDotSupport.get(columnName); if (vc != null) { return vc; } final String baseColumnName = splitColumnName(columnName).lhs; return withDotSupport.get(baseColumnName); }
@Override public ColumnValueSelector<?> makeColumnValueSelector(String columnName, ColumnSelectorFactory factory) { final String subColumn = VirtualColumns.splitColumnName(columnName).rhs; final Long boxed = subColumn == null ? null : Longs.tryParse(subColumn); final long theLong = boxed == null ? -1 : boxed; return new TestLongColumnSelector() { @Override public long getLong() { return theLong; } @Override public boolean isNull() { return false; } }; }
@Override public DimensionSelector makeDimensionSelector(DimensionSpec dimensionSpec, ColumnSelectorFactory factory) { final DimensionSelector keySelector = factory.makeDimensionSelector(DefaultDimensionSpec.of(keyDimension)); final DimensionSelector valueSelector = factory.makeDimensionSelector(DefaultDimensionSpec.of(valueDimension)); final String subColumnName = VirtualColumns.splitColumnName(dimensionSpec.getDimension()).rhs; if (subColumnName == null) { return dimensionSpec.decorate(new MapTypeMapVirtualColumnDimensionSelector(keySelector, valueSelector)); } else { return dimensionSpec.decorate( new StringTypeMapVirtualColumnDimensionSelector(keySelector, valueSelector, subColumnName) ); } }
final DimensionSelector valueSelector = factory.makeDimensionSelector(DefaultDimensionSpec.of(valueDimension)); final String subColumnName = VirtualColumns.splitColumnName(columnName).rhs;
public VirtualColumn getVirtualColumn(String columnName) { final VirtualColumn vc = withoutDotSupport.get(columnName); if (vc != null) { return vc; } final String baseColumnName = splitColumnName(columnName).lhs; return withDotSupport.get(baseColumnName); }