Package com.google.visualization.datasource.datatable

Examples of com.google.visualization.datasource.datatable.TableCell


        testData.addColumn(c5);

        rows = Lists.newArrayList();

        TableRow row = new TableRow();
        row.addCell(new TableCell(new TextValue("aaa"), "aaa"));
        row.addCell(new TableCell(new NumberValue(222), "222"));
        row.addCell(new TableCell(BooleanValue.TRUE, "true"));
        row.addCell(new TableCell(new DateValue(2009, 1, 1), "2009-02-01"));
        row.addCell(new TableCell(new DateTimeValue(2009, 1, 1, 12, 14, 1, 0), "2009-02-01 12:14:01"));
        row.addCell(new TableCell(new TimeOfDayValue(12, 14, 1), "12:14:01"));
        rows.add(row);

        row = new TableRow();
        row.addCell(new TableCell(new TextValue("aaa"), "a,aa"));
        row.addCell(new TableCell(new NumberValue(222), "2,22"));
        row.addCell(new TableCell(BooleanValue.TRUE, "true,"));
        row.addCell(new TableCell(new DateValue(2009, 1, 1), "2009-02-01"));
        row.addCell(new TableCell(new DateTimeValue(2009, 1, 1, 12, 14, 1, 0), "2009-02-01 12,14,01"));
        row.addCell(new TableCell(new TimeOfDayValue(12, 14, 1), "12:14:01"));
        rows.add(row);

        testData.addRows(rows);

        String expected = "\"col0\",\"col1\",\"col2\",\"col3\",\"col4\",\"col5\"\n";
View Full Code Here


        }
        break;
    }
    // Handle null values.
    if (rs.wasNull()) {
      return new TableCell(Value.getNullValueFromValueType(valueType));
    } else {
      return new TableCell(value);
    }
  }
View Full Code Here

        input.addColumn(new ColumnDescription("isPig", ValueType.BOOLEAN, "label2"));

        TableRow row;

        row = new TableRow();
        row.addCell(new TableCell(new TextValue("aaa")));
        row.addCell(new TableCell(new NumberValue(222)));
        row.addCell(new TableCell(BooleanValue.TRUE, "T"));
        input.addRow(row);

        row = new TableRow();
        row.addCell(new TableCell(new TextValue("ccc")));
        row.addCell(new TableCell(new NumberValue(111)));
        row.addCell(new TableCell(BooleanValue.TRUE, "T"));
        input.addRow(row);

        row = new TableRow();
        row.addCell(new TableCell(new TextValue("bbb")));
        row.addCell(new TableCell(new NumberValue(333)));
        row.addCell(new TableCell(BooleanValue.FALSE, "F"));
        input.addRow(row);
    }
View Full Code Here

* @author Yonatan B.Y.
*/
public class ColumnColumnFilterTest extends TestCase {
    public void testMatch() {
        TableRow row = new TableRow();
        row.addCell(new TableCell("a"));
        row.addCell(new TableCell(123));
        row.addCell(new TableCell("a"));

        DataTable table = new DataTable();
        table.addColumn(new ColumnDescription("c1", ValueType.TEXT, "c1"));
        table.addColumn(new ColumnDescription("c2", ValueType.TEXT, "c2"));
        table.addColumn(new ColumnDescription("c3", ValueType.TEXT, "c3"));
View Full Code Here

        assertTrue(filter.isMatch(table, row));
    }

    public void testNoMatch() {
        TableRow row = new TableRow();
        row.addCell(new TableCell("a"));
        row.addCell(new TableCell(123));
        row.addCell(new TableCell("a"));

        DataTable table = new DataTable();
        table.addColumn(new ColumnDescription("c1", ValueType.TEXT, "c1"));
        table.addColumn(new ColumnDescription("c2", ValueType.TEXT, "c2"));
        table.addColumn(new ColumnDescription("c3", ValueType.TEXT, "c3"));
View Full Code Here

*/
public class ColumnValueFilterTest extends TestCase {

    public void testVariousFilters() {
        TableRow row = new TableRow();
        row.addCell(new TableCell("a"));
        row.addCell(new TableCell(123));
        row.addCell(new TableCell("a"));

        DataTable table = new DataTable();
        table.addColumn(new ColumnDescription("c1", ValueType.TEXT, "c1"));
        table.addColumn(new ColumnDescription("c2", ValueType.TEXT, "c2"));
        table.addColumn(new ColumnDescription("c3", ValueType.TEXT, "c3"));
View Full Code Here

        // scalar function value in the given row.
        List<Value> functionParameters = Lists.newArrayListWithCapacity(columns.size());
        for(AbstractColumn column : columns) {
            functionParameters.add(column.getValue(lookup, row));
        }
        return new TableCell(scalarFunction.evaluate(functionParameters));
    }
View Full Code Here

            TableRow newRow = new TableRow();
            for(TableCell sourceCell : sourceRow.getCells()) {
                newRow.addCell(sourceCell);
            }
            for(ScalarFunctionColumn column : groupAndPivotScalarFunctionColumns) {
                newRow.addCell(new TableCell(column.getValue(lookup, sourceRow)));
            }
            try {
                tempTable.addRow(newRow);
            }
            catch(TypeMismatchException e) {
                // Should not happen, given that the original table is OK.
            }
        }
        table = tempTable;

        // Calculate the aggregations.
        TableAggregator aggregator = new TableAggregator(groupAndPivotIds,
                Sets.newHashSet(aggregationIds), table);
        Set<AggregationPath> paths = aggregator.getPathsToLeaves();

        // These variables will hold the "titles" of the rows and columns.
        // They are TreeSets because their order matters.
        SortedSet<RowTitle> rowTitles =
                Sets.newTreeSet(GroupingComparators.ROW_TITLE_COMPARATOR);
        SortedSet<ColumnTitle> columnTitles = Sets.newTreeSet(
                GroupingComparators.getColumnTitleDynamicComparator(columnAggregations));

        // A tree set containing all pivot value lists (the set is for the
        // uniqueness and the tree for the order).
        TreeSet<List<Value>> pivotValuesSet =
                Sets.newTreeSet(GroupingComparators.VALUE_LIST_COMPARATOR);
        // This MetaTable holds all the data in the table, this data is then
        // dumped into the real table.
        MetaTable metaTable = new MetaTable();
        for(AggregationColumn columnAggregation : columnAggregations) {
            for(AggregationPath path : paths) {

                // A ColumnTitle is composed of all the values for the pivot-by
                // columns, and a ColumnAggregation. That is why it is necessary to iterate over all
                // ColumnAggregations and create a ColumnTitle for each one.
                List<Value> originalValues = path.getValues();

                // Separate originalValues into the rowValues and columnValues. The
                // rowValues are the values of the group-by columns and the columnValues
                // are the values of the pivot-by columns.
                List<Value> rowValues = originalValues.subList(0, groupByIds.size());
                RowTitle rowTitle = new RowTitle(rowValues);
                rowTitles.add(rowTitle);

                List<Value> columnValues = originalValues.subList(groupByIds.size(), originalValues.size());
                pivotValuesSet.add(columnValues);

                ColumnTitle columnTitle = new ColumnTitle(columnValues,
                        columnAggregation, (columnAggregations.size() > 1));
                columnTitles.add(columnTitle);
                metaTable.put(rowTitle, columnTitle, new TableCell(aggregator.getAggregationValue(path,
                        columnAggregation.getAggregatedColumn().getId(),
                        columnAggregation.getAggregationType())));
            }
        }

        // Create the scalar function column titles for the scalar function columns
        // that contain aggregations.
        List<ScalarFunctionColumnTitle> scalarFunctionColumnTitles =
                Lists.newArrayList();
        for(ScalarFunctionColumn scalarFunctionColumn :
                selectedScalarFunctionColumns) {
            if(scalarFunctionColumn.getAllAggregationColumns().size() != 0) {
                for(List<Value> columnValues : pivotValuesSet) {
                    scalarFunctionColumnTitles.add(new ScalarFunctionColumnTitle(columnValues,
                            scalarFunctionColumn));
                }
            }
        }

        // Create the new table description.
        DataTable result = createDataTable(groupByIds, columnTitles, table, scalarFunctionColumnTitles);
        List<ColumnDescription> colDescs = result.getColumnDescriptions();

        // Fill the columnIndices and columnLookups parameters for the group-by
        // columns and the aggregation columns.
        columnIndices.clear();
        int columnIndex = 0;
        if(group != null) {
            List<Value> empytListOfValues = Lists.newArrayList();
            columnLookups.put(empytListOfValues, new GenericColumnLookup());
            for(AbstractColumn column : group.getColumns()) {
                columnIndices.put(column, columnIndex);
                if(!(column instanceof ScalarFunctionColumn)) {
                    ((GenericColumnLookup) columnLookups.get(empytListOfValues)).put(column, columnIndex);
                    for(List<Value> columnValues : pivotValuesSet) {
                        if(!columnLookups.containsKey(columnValues)) {
                            columnLookups.put(columnValues, new GenericColumnLookup());
                        }
                        ((GenericColumnLookup) columnLookups.get(columnValues)).put(column, columnIndex);
                    }
                }
                columnIndex++;
            }
        }

        for(ColumnTitle title : columnTitles) {
            columnIndices.put(title.aggregation, columnIndex);
            List<Value> values = title.getValues();
            if(!columnLookups.containsKey(values)) {
                columnLookups.put(values, new GenericColumnLookup());
            }
            ((GenericColumnLookup) columnLookups.get(values)).put(title.aggregation, columnIndex);
            columnIndex++;
        }

        // Dump the data from the metaTable to the result DataTable.
        for(RowTitle rowTitle : rowTitles) {
            TableRow curRow = new TableRow();
            // Add the group-by columns cells.
            for(Value v : rowTitle.values) {
                curRow.addCell(new TableCell(v));
            }
            Map<ColumnTitle, TableCell> rowData = metaTable.getRow(rowTitle);
            int i = 0;
            // Add the aggregation columns cells.
            for(ColumnTitle colTitle : columnTitles) {
                TableCell cell = rowData.get(colTitle);
                curRow.addCell((cell != null) ? cell : new TableCell(
                        Value.getNullValueFromValueType(colDescs.get(i + rowTitle.values.size()).getType())));
                i++;
            }
            // Add the scalar function columns cells.
            for(ScalarFunctionColumnTitle columnTitle : scalarFunctionColumnTitles) {
                curRow.addCell(new TableCell(columnTitle.scalarFunctionColumn.
                        getValue(columnLookups.get(columnTitle.getValues()), curRow)));
            }
            result.addRow(curRow);
        }
View Full Code Here

            }
        }

        for(TableRow row : table.getRows()) {
            for(int col : indexToFormatter.keySet()) {
                TableCell cell = row.getCell(col);
                Value value = cell.getValue();
                ValueFormatter formatter = indexToFormatter.get(col);
                String formattedValue = formatter.format(value);
                cell.setFormattedValue(formattedValue);
            }
        }
        return table;
    }
View Full Code Here

        try {
            for(int i = 0; i < numRows; i++) {
                TableRow row = new TableRow();
                for(ColumnDescription colDesc : res.getColumnDescriptions()) {
                    Value value = toRandomValue(colDesc.getType());
                    row.addCell(new TableCell(value));
                }
                res.addRow(row);
            }
        }
        catch(TypeMismatchException e) {
View Full Code Here

TOP

Related Classes of com.google.visualization.datasource.datatable.TableCell

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.