You can find an example usage of this code in its test file:
http://www.google.com/codesearch/p?hl=en#aLJwv4TSmDw/trunk/src/test/java/com/google/visualization/datasource/util/CsvDataSourceHelperTest.java

  Viz Kid

On Tue, Dec 1, 2009 at 8:11 PM, gman <[email protected]> wrote:

> Viz Kid --- You are definitely on the right track. It looks like the
> package I am using expects to see strings only. This is the output I
> get:
>
> google.visualization.Query.setResponse
> ({version:'0.6',status:'ok',sig:'1758220977',table:{cols:
> [{id:'Col0',label:'string',type:'string',pattern:''},
> {id:'Col1',label:'number',type:'string',pattern:''}],rows:[{c:
> [{v:'Memory'},{v:'80'}]},{c:[{v:'CPU'},{v:'55'}]},{c:[{v:'Network'},
> {v:'68'}]}]}});
>
> The first cloumn in the csv file is a string and the second is a
> number. This is returning them both as strings.  The culprit seems to
> be the CsvDataSourceHelper. I am using the code from the examples,
> specifically CsvDataSourceServlet. In this code is the following
> comments:
>
> // Note: We assume that all the columns in the CSV file are text
> columns. In cases where the
>      // column types are known in advance, this behavior can be
> overridden by passing a list of
>      // ColumnDescription objects specifying the column types. See
> CsvDataSourceHelper.read() for
>      // more details.
>      dataTable = CsvDataSourceHelper.read(reader, null, true,
> requestLocale);
>
> So it looks like I need to change the options from the
> CsvDataSourceHelper. From the documentation the fields are defined as:
>
>    reader - The CSV input Reader from which to read.
>    columnDescriptions - The column descriptions. If
> columnDescriptions is null, then it is assumed that all values are
> strings, and the number of the columns is equal to the number of the
> columns in the first line of the reader. If headerRow is set to true,
> and the columnDescriptions does not contain the labels of the columns,
> then the headerRow values are used as the column labels.
>    headerRow - True if there is an header row. In that case, the
> first line of the csv is taken as the header row.
>    locale - An optional locale in which to parse the input csv file.
> If null, uses the default from LocaleUtil#getDefaultLocale.
>
> So it looks like the columnDescriptions needs to be changed to specify
> the data types. I cannot seem to find an example of what the syntax
> would look like for this code.
>
> Can you show me what the syntax looks like or where I can look at an
> example.
>
> As you may have guess by now, I am not much of a java expert -- more
> of a php guy  :-)
>
> ....George
>
>
> On Nov 30, 8:20 am, Viz Kid <[email protected]> wrote:
> > First, in order to make sure that the problem indeed lies with the second
> > column type, you can look at the response itself and verify what are the
> > returned column types (this should be in json format). If indeed both
> > columns are strings, you need to look at your code which generates the
> > DataTable from the csv file. Otherwise, the problem is someplace else.
> >
> > If you are using our external Java library to create the DataTable from
> the
> > csv, you need to specify the the column types (this is not part of the
> csv
> > file itself). The general documentation of the library is
> > here<
> http://code.google.com/apis/visualization/documentation/dev/dsl_javad...>,
> > you can look inside the package
> >
> com.google.visualization.datasource.util<com/google/visualization/datasource/util/package-frame.html>
> > , and specifically, the CsvDataSourceHelper <CsvDataSourceHelper.html>
> class
> > which can construct the DataTable from the csv file/url. The read
> function
> > also expects a the type for each of the columns.
> >
> > Hope it will work now,
> >   Viz Kid.
> >
> > On Mon, Nov 30, 2009 at 3:01 PM, gman <[email protected]> wrote:
> > > Thanks Viz Kid --- That would make sense. I just created the csv file
> > > using the linux vi editor and saving as a .csv file.
> >
> > > Does it have to be created a special way?
> >
> > > I thought a csv file was just a text file with comma separating the
> > > data fields, with each record on a new line. Am I missing something?.
> >
> > > On Nov 29, 5:26 pm, Viz Kid <[email protected]> wrote:
> > > > Hi.
> >
> > > > Is it possible that the data table which is constructed from the csv
> has
> > > > both columns type to be 'string' and not one 'string' and one
> 'number'?
> > > If
> > > > this is the case, the outcome is indeed that no gauge is being
> displayed.
> >
> > > > Viz Kid
> >
> > > > On Sun, Nov 29, 2009 at 2:26 PM, gman <[email protected]> wrote:
> > > > > I just started playing with this yesterday and have run into a
> problem
> > > > > I just cannot seem to get by.
> >
> > > > > Using the sample code for gauges I can display the gauges fine.
> When I
> > > > > get the data from a csv file, no gauges are displayed. However if I
> > > > > change to display a table, it displays just fine. The csv file
> looks
> > > > > like this:
> >
> > > > > Label,Value
> > > > > Memory,80
> > > > > CPU,55
> > > > > Network,68
> >
> > > > > This does work:
> >
> > > > > //    var data = response.getDataTable();
> > > > >  var data = new google.visualization.DataTable();
> > > > >         data.addColumn('string', 'Label');
> > > > >         data.addColumn('number', 'Value');
> > > > >         data.addRows(3);
> > > > >         data.setValue(0, 0, 'Memory');//         data.setValue(0,
> 1,
> > > > > 80);
> > > > >         data.setValue(1, 0, 'CPU');//         data.setValue(1, 1,
> > > > > 55);
> > > > >         data.setValue(2, 0, 'Network');
> > > > >         data.setValue(2, 1, 68);
> >
> > > > >        var chart = new google.visualization.Gauge
> > > > > (document.getElementById('char
> > > > > t_div'));
> > > > >        chart.draw(data, null);
> >
> > > > > This does not work:
> >
> > > > >    var data = response.getDataTable();
> > > > > // var data = new google.visualization.DataTable();
> > > > > //         data.addColumn('string', 'Label');
> > > > > //         data.addColumn('number', 'Value');
> > > > > //         data.addRows(3);
> > > > > //         data.setValue(0, 0, 'Memory');//
> data.setValue(0,
> > > > > 1, 80);
> > > > > //         data.setValue(1, 0, 'CPU');//         data.setValue(1,
> 1,
> > > > > 55);
> > > > > //         data.setValue(2, 0, 'Network');
> > > > > //         data.setValue(2, 1, 68);
> >
> > > > >        var chart = new google.visualization.Gauge
> > > > > (document.getElementById('char
> > > > > t_div'));
> > > > >        chart.draw(data, null);
> >
> > > > > Yet --- Exactly the same code, but changing to a table does work:
> >
> > > > >    var data = response.getDataTable();
> > > > > // var data = new google.visualization.DataTable();
> > > > > //         data.addColumn('string', 'Label');
> > > > > //         data.addColumn('number', 'Value');
> > > > > //         data.addRows(3);
> > > > > //         data.setValue(0, 0, 'Memory');//
> data.setValue(0,
> > > > > 1, 80);
> > > > > //         data.setValue(1, 0, 'CPU');//         data.setValue(1,
> 1,
> > > > > 55);
> > > > > //         data.setValue(2, 0, 'Network');
> > > > > //         data.setValue(2, 1, 68);
> >
> > > > >        var chart = new google.visualization.Table
> > > > > (document.getElementById('char
> > > > > t_div'));
> > > > >        chart.draw(data, null);
> >
> > > > > Any ideas or suggestions?
> >
> > > > > --
> >
> > > > > You received this message because you are subscribed to the Google
> > > Groups
> > > > > "Google Visualization API" group.
> > > > > To post to this group, send email to
> > > > > [email protected].
> > > > > To unsubscribe from this group, send email to
> > > > > [email protected]<google-visualization-api%[email protected]>
> <google-visualization-api%[email protected]<google-visualization-api%[email protected]>
> >
> > > <google-visualization-api%[email protected]<google-visualization-api%[email protected]>
> <google-visualization-api%[email protected]<google-visualization-api%[email protected]>
> >
> >
> > > > > .
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/google-visualization-api?hl=en.
> >
> > > --
> >
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google Visualization API" group.
> > > To post to this group, send email to
> > > [email protected].
> > > To unsubscribe from this group, send email to
> > > [email protected]<google-visualization-api%[email protected]>
> <google-visualization-api%[email protected]<google-visualization-api%[email protected]>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-visualization-api?hl=en.
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "Google Visualization API" group.
> To post to this group, send email to
> [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-visualization-api%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-visualization-api?hl=en.
>
>
>

--

You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.


Reply via email to