Package com.google.visualization.datasource.datatable

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


  @Override
  public DataTable generateDataTable(Query query, HttpServletRequest request) {
    // Create a data table.
    DataTable data = new DataTable();
    ArrayList<ColumnDescription> cd = new ArrayList<ColumnDescription>();
    cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal name"));
    cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to wikipedia"));
    cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population size"));
    cd.add(new ColumnDescription("vegeterian", ValueType.BOOLEAN, "Vegetarian?"));

    data.addColumns(cd);

    // Fill the data table.
    try {
View Full Code Here


  private DataTable generateMyDataTable() {
    // Create a data table,
    DataTable data = new DataTable();
    ArrayList<ColumnDescription> cd = new ArrayList<ColumnDescription>();
    cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal name"));
    cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to wikipedia"));
    cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population size"));
    cd.add(new ColumnDescription("vegeterian", ValueType.BOOLEAN, "Vegetarian?"));

    data.addColumns(cd);

    // Fill the data table.
    try {
View Full Code Here

  /**
   * Tests the createColumnDescription method.
   */
  public void testCreateColumnDescription() {
    ColumnDescription simpleColumnDescription =
        new ColumnDescription("simpleColumn", ValueType.DATE, "simpleLabel");
    ColumnDescription aggreationColumnDescription =
        new ColumnDescription("min-simpleColumn", ValueType.DATE,
            "aggLabel");
    DataTable table = new DataTable();
    table.addColumn(simpleColumnDescription);
    table.addColumn(aggreationColumnDescription);

    List<AbstractColumn> simpleColumns =
        Lists.newArrayList((AbstractColumn) new SimpleColumn("simpleColumn"));
    List<AbstractColumn> aggregationColumns =
        Lists.newArrayList((AbstractColumn) new AggregationColumn(
            new SimpleColumn("simpleColumn"), AggregationType.MIN));
    ScalarFunctionColumnTitle titleYear =
        new ScalarFunctionColumnTitle(Lists.<Value>newArrayList(),
            new ScalarFunctionColumn(simpleColumns,
                TimeComponentExtractor.getInstance(
                    TimeComponentExtractor.TimeComponent.YEAR)));

    ScalarFunctionColumnTitle titleSecondWithAggregation =
        new ScalarFunctionColumnTitle(Lists.<Value>newArrayList(),
            new ScalarFunctionColumn(aggregationColumns,
                TimeComponentExtractor.getInstance(
                    TimeComponentExtractor.TimeComponent.SECOND)));

    ScalarFunctionColumnTitle titleMonthWithPivot =
        new ScalarFunctionColumnTitle(Lists.newArrayList(new NumberValue(3.14),
            BooleanValue.TRUE), new ScalarFunctionColumn(simpleColumns,
            TimeComponentExtractor.getInstance(
                TimeComponentExtractor.TimeComponent.MONTH)));

    ScalarFunctionColumnTitle titleDayWithPivotAndAgg =
        new ScalarFunctionColumnTitle(Lists.newArrayList(new NumberValue(3.14),
            BooleanValue.TRUE), new ScalarFunctionColumn(aggregationColumns,
            TimeComponentExtractor.getInstance(
                TimeComponentExtractor.TimeComponent.DAY)));

    ColumnDescription resultColumnDescriptionYear = titleYear.createColumnDescription(table);

    ColumnDescription resultColumnDescriptionSecondWithAgg =
        titleSecondWithAggregation.createColumnDescription(table);

    ColumnDescription resultColumnDescriptionMonthWithPivot =
        titleMonthWithPivot.createColumnDescription(table);

    ColumnDescription resultColumnDescriptionDayWithPivotAndAgg =
        titleDayWithPivotAndAgg.createColumnDescription(table);

    // Check the creation of result column description with year.
    assertEquals("year_simpleColumn", resultColumnDescriptionYear.getId());
    assertEquals(" year(simpleLabel)", resultColumnDescriptionYear.getLabel());
    assertEquals(ValueType.NUMBER, resultColumnDescriptionYear.getType());

    // Check the creation of result column description with aggregation.
    assertEquals("second_min-simpleColumn",
        resultColumnDescriptionSecondWithAgg.getId());
    assertEquals(" second(aggLabel)",
        resultColumnDescriptionSecondWithAgg.getLabel());
    assertEquals(ValueType.NUMBER,
        resultColumnDescriptionSecondWithAgg.getType());

    // Check the creation of result column description with pivot.
    assertEquals("3.14,true month_simpleColumn",
        resultColumnDescriptionMonthWithPivot.getId());
    assertEquals("3.14,true month(simpleLabel)",
        resultColumnDescriptionMonthWithPivot.getLabel());
    assertEquals(ValueType.NUMBER,
        resultColumnDescriptionMonthWithPivot.getType());

    // Check the creation of result column description with aggregation
    // and pivot.
    assertEquals("3.14,true day_min-simpleColumn",
        resultColumnDescriptionDayWithPivotAndAgg.getId());
    assertEquals("3.14,true day(aggLabel)",
        resultColumnDescriptionDayWithPivotAndAgg.getLabel());
    assertEquals(ValueType.NUMBER,
        resultColumnDescriptionDayWithPivotAndAgg.getType());
  }
View Full Code Here

    assertTrue(catched);

    // Working example with a table description filled only with types.
    reader = new StringReader("1,a,true\n4,x13a,false\n1400,4,true");
    List<ColumnDescription> columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.TEXT, null));
    columnDescriptions.add(new ColumnDescription("i3", ValueType.DATE, null));
    dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false);
    assertEquals(3, dataTable.getNumberOfRows());
    assertEquals(3, dataTable.getNumberOfColumns());
    assertEquals(new NumberValue(1), dataTable.getRow(0).getCell(0).getValue());
    assertEquals(new TextValue("a"), dataTable.getRow(0).getCell(1).getValue());
    assertEquals(DateValue.getNullValue(), dataTable.getRow(0).getCell(2).getValue());
    assertEquals(new NumberValue(4), dataTable.getRow(1).getCell(0).getValue());
    assertEquals(new TextValue("x13a"), dataTable.getRow(1).getCell(1).getValue());
    assertEquals(DateValue.getNullValue(), dataTable.getRow(1).getCell(2).getValue());
    assertEquals(new NumberValue(1400), dataTable.getRow(2).getCell(0).getValue());
    assertEquals(new TextValue("4"), dataTable.getRow(2).getCell(1).getValue());
    assertEquals(DateValue.getNullValue(), dataTable.getRow(2).getCell(2).getValue());

    // Working example with a table description filled only with types.
    reader = new StringReader("1,a,2004-03-01\n4,x13a,2005-04-02\n1400,4,2006-05-03");
    columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.TEXT, null));
    columnDescriptions.add(new ColumnDescription("i3", ValueType.DATE, null));
    dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false);
    assertEquals(3, dataTable.getNumberOfRows());
    assertEquals(3, dataTable.getNumberOfColumns());
    assertEquals(new NumberValue(1), dataTable.getRow(0).getCell(0).getValue());
    assertEquals(new TextValue("a"), dataTable.getRow(0).getCell(1).getValue());
    assertEquals(new DateValue(2004, 2, 1), dataTable.getRow(0).getCell(2).getValue());
    assertEquals(new NumberValue(4), dataTable.getRow(1).getCell(0).getValue());
    assertEquals(new TextValue("x13a"), dataTable.getRow(1).getCell(1).getValue());
    assertEquals(new DateValue(2005, 3, 2), dataTable.getRow(1).getCell(2).getValue());
    assertEquals(new NumberValue(1400), dataTable.getRow(2).getCell(0).getValue());
    assertEquals(new TextValue("4"), dataTable.getRow(2).getCell(1).getValue());
    assertEquals(new DateValue(2006, 4, 3), dataTable.getRow(2).getCell(2).getValue());
    assertEquals("i1", dataTable.getColumnDescription(0).getId());
    assertEquals("Column0", dataTable.getColumnDescription(0).getLabel());
    assertEquals("i2", dataTable.getColumnDescription(1).getId());
    assertEquals("Column1", dataTable.getColumnDescription(1).getLabel());
    assertEquals("i3", dataTable.getColumnDescription(2).getId());
    assertEquals("Column2", dataTable.getColumnDescription(2).getLabel());

    // Working example with header rows.
    reader = new StringReader("1,a,2004-03-01\n4,x13a,2005-04-02\n1400,4,2006-05-03");
    columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.TEXT, null));
    columnDescriptions.add(new ColumnDescription("i3", ValueType.DATE, null));
    dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, true);
    assertEquals(2, dataTable.getNumberOfRows());
    assertEquals(3, dataTable.getNumberOfColumns());
    assertEquals(new NumberValue(4), dataTable.getRow(0).getCell(0).getValue());
    assertEquals(new TextValue("x13a"), dataTable.getRow(0).getCell(1).getValue());
    assertEquals(new DateValue(2005, 3, 2), dataTable.getRow(0).getCell(2).getValue());
    assertEquals(new NumberValue(1400), dataTable.getRow(1).getCell(0).getValue());
    assertEquals(new TextValue("4"), dataTable.getRow(1).getCell(1).getValue());
    assertEquals(new DateValue(2006, 4, 3), dataTable.getRow(1).getCell(2).getValue());
    assertEquals("i1", dataTable.getColumnDescription(0).getId());
    assertEquals("1",  dataTable.getColumnDescription(0).getLabel());
    assertEquals("i2", dataTable.getColumnDescription(1).getId());
    assertEquals("a", dataTable.getColumnDescription(1).getLabel());
    assertEquals("i3", dataTable.getColumnDescription(2).getId());
    assertEquals("2004-03-01", dataTable.getColumnDescription(2).getLabel());

    // Bad table description for that data.
    catched = false;
    try {
      reader = new StringReader("true\nfalse\nfalse");
      columnDescriptions = Lists.newArrayList();
      dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false);
    } catch (CsvDataSourceException e) {
      catched = true;
      assertEquals(ReasonType.INTERNAL_ERROR, e.getReasonType());
      assertEquals(
          "Wrong number of columns in the data.",
          e.getMessageToUser());
    }
    assertTrue(catched);

    // Working example with a null table description.
    reader = new StringReader("true,false\ntrue,false\ntrue,false\nfalse,false");
    columnDescriptions = null;
    dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false);
    assertEquals(4, dataTable.getNumberOfRows());
    assertEquals(2, dataTable.getNumberOfColumns());
    assertEquals(new TextValue("true"), dataTable.getRow(0).getCell(0).getValue());
    assertEquals(new TextValue("false"), dataTable.getRow(0).getCell(1).getValue());
    assertEquals(new TextValue("true"), dataTable.getRow(1).getCell(0).getValue());
    assertEquals(new TextValue("false"), dataTable.getRow(1).getCell(1).getValue());
    assertEquals(new TextValue("true"), dataTable.getRow(2).getCell(0).getValue());
    assertEquals(new TextValue("false"), dataTable.getRow(2).getCell(1).getValue());
    assertEquals(new TextValue("false"), dataTable.getRow(3).getCell(0).getValue());
    assertEquals(new TextValue("false"), dataTable.getRow(3).getCell(1).getValue());

    // Working example with a table description filled with types.
    reader = new StringReader("true,false\ntrue,false\ntrue,false\nfalse,false");
    columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("1", ValueType.BOOLEAN, "123"));
    columnDescriptions.add(new ColumnDescription("2", ValueType.BOOLEAN, "123"));
    dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false);
    assertEquals(4, dataTable.getNumberOfRows());
    assertEquals(2, dataTable.getNumberOfColumns());
    assertEquals(BooleanValue.TRUE, dataTable.getRow(0).getCell(0).getValue());
    assertEquals(BooleanValue.FALSE, dataTable.getRow(0).getCell(1).getValue());
View Full Code Here

 
  public void testPatterns() throws CsvDataSourceException, IOException {
    // Working example with header rows.
    Reader reader = new StringReader("1,a,20040301\n4,x13a,20050402\n1400,4,20060503");
    List<ColumnDescription> columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.TEXT, null));
   
    ColumnDescription columnDescription = new ColumnDescription("i3", ValueType.DATE, null);
    columnDescription.setPattern("yyyyMMdd");
    columnDescriptions.add(columnDescription);
   
    DataTable dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, true);
    assertEquals(2, dataTable.getNumberOfRows());
    assertEquals(3, dataTable.getNumberOfColumns());
View Full Code Here

  public void testWhitespaces() throws CsvDataSourceException, IOException {
    // Working example with header rows.
    Reader reader = new StringReader("   1   ,2,   3\n4   , 5 , 6");
    List<ColumnDescription> columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i3", ValueType.NUMBER, null));
      
    DataTable dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, true);
    assertEquals(1, dataTable.getNumberOfRows());
    assertEquals(3, dataTable.getNumberOfColumns());
    assertEquals(new NumberValue(4), dataTable.getRow(0).getCell(0).getValue());
View Full Code Here

 
  public void testEmptyStrings() throws CsvDataSourceException, IOException {
    // Working example with header rows.
    Reader reader = new StringReader("   1   ,,2,   3\n4   , 5 , 6,\n 7 ,,,10");
    List<ColumnDescription> columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("i1", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i2", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i3", ValueType.NUMBER, null));
    columnDescriptions.add(new ColumnDescription("i4", ValueType.NUMBER, null));
      
    DataTable dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, true);
    assertEquals(2, dataTable.getNumberOfRows());
    assertEquals(4, dataTable.getNumberOfColumns());
    assertEquals(new NumberValue(4), dataTable.getRow(0).getCell(0).getValue());
View Full Code Here

    assertEquals("3", dataTable.getColumnDescription(3).getLabel());
 
 
  public void testReadWithLocale() throws IOException, CsvDataSourceException {
    List <ColumnDescription> columnDescriptions = Lists.newArrayList();
    columnDescriptions.add(new ColumnDescription("A", ValueType.NUMBER, "A"));
    columnDescriptions.add(new ColumnDescription("B", ValueType.TIMEOFDAY, "B"));
    TimeOfDayValue hindiTimeOfDayValue = new TimeOfDayValue(1, 12, 1);
    String hindiTimeOfDayString =  "\u0966\u0967\u003a\u0967\u0968\u003a\u0966\u0967";
    Reader reader = new StringReader("1," + hindiTimeOfDayString);
    DataTable dataTable = CsvDataSourceHelper.read(reader, columnDescriptions, false,
        new ULocale("hi_IN"));
View Full Code Here

    // Create a data table,
    DataTable data = new DataTable();
    ArrayList cd = new ArrayList();
    try {
      // Fill the data table.
      cd.add(new ColumnDescription("date", ValueType.DATETIME, "Date"));
      Sensor sensor =
          ofy().load().type(Sensor.class).id(Long.parseLong(request.getParameter("id"))).now();
      log.log(Level.WARNING, "sensor={0}", sensor);
      if (sensor.getType() == Sensor.Type.TEMPERATURE || sensor.getType() == Sensor.Type.HUMIDITY) {
        cd.add(new ColumnDescription("high", ValueType.NUMBER, "High"));
        cd.add(new ColumnDescription("low", ValueType.NUMBER, "Low"));
      } else if (sensor.getType() == Sensor.Type.LIGHT) {
        cd.add(new ColumnDescription("nonzeroavg", ValueType.NUMBER, "Total"));
      } else if (sensor.getType() == Sensor.Type.WINDSPEED) {
        cd.add(new ColumnDescription("high", ValueType.NUMBER, "High"));
      }
      data.addColumns(cd);

      List<ReadingHistory> readings =
          ofy().load().type(ReadingHistory.class).ancestor(sensor).list();
View Full Code Here

  @Override
  public DataTable generateDataTable(Query query, HttpServletRequest request) {
    // Create a data table,
    DataTable data = new DataTable();
    ArrayList cd = new ArrayList();
    cd.add(new ColumnDescription("date", ValueType.DATETIME, "Date"));
    cd.add(new ColumnDescription("reading", ValueType.NUMBER, "Reading"));
    data.addColumns(cd);

    // Fill the data table.
    try {
      // TODO pass sensor id in as a parameter, then pass back values for that id
View Full Code Here

TOP

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

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.