Hi,

I am not sure why you would like to change this behavior, however, there is
currently no api for changing it.

The code that handles this is in JsonRenderer.renderJsonResponse (lines
120-128). It is open source, so you can change it as you like for your own
use and as long as it is in the confines of the code license.

Cheers,
VizWiz.

On Thu, Aug 13, 2009 at 9:46 AM, Hazer <[email protected]> wrote:

>
> I see. Thanks for that, so there must be code in the servlet which
> handles this "hasTheDataChanged" query.
>
> I have a Servlet which extends DataSourceServlet, so it only
> implements one method: generateTable. This method builds a dataTable
> object from a db backend. Is there another method I should be
> overriding to get the desired effect of a servlet response which says
> "Yes, the data has changed" or "No, the data is the same".
>
> Thanks very much for your help.
>
>
> On Aug 11, 1:33 pm, MC Get Vizzy <[email protected]> wrote:
> > On Tue, Aug 11, 2009 at 12:56 PM, Hazer <[email protected]> wrote:
> >
> > > Hi, thanks for the response.
> >
> > > But when you ask "has the underlying data changed", do you mean the
> > > remote dataTable to be fetched? How could the client know if the data
> > > has changed without sending the query at the refresh interval? Is
> > > there some sort of implicit "hasDataChanged" request sent before
> > > query.send is fired??
> >
> > the data source is queried, and if the data source responds that the
> > underlying data has not changed, your callback is not called.
> >
> >
> >
> >
> >
> >
> >
> > > thanks in advance!
> >
> > > On Aug 9, 2:07 pm, MC Get Vizzy <[email protected]> wrote:
> > > > regarding the refresh interval, is it possible that the underlying
> data
> > > has
> > > > not changed?  if the data has not changed, your callback will not be
> > > called.
> > > > regarding the redraw, what you have should work -- let me know if you
> > > have
> > > > further questions.
> >
> > > > On Tue, Aug 4, 2009 at 10:56 AM, Hazer <[email protected]> wrote:
> >
> > > > > Hi,
> >
> > > > > I have successfully created a PieChart which receives its DataTable
> > > > > via the Query.send method. However, it does not fire this method
> after
> > > > > the first time.
> >
> > > > >                Query query = Query.create("http://localhost:8084/
> > > > > FetchDataTable");
> > > > >                query.setRefreshInterval(5);
> > > > >                query.send(new Callback(){
> > > > >                    public void onResponse(QueryResponse response) {
> > > > >                        if (response.isError())
> > > > >                            SC.say("An error occured: " +
> > > > > response.getDetailedMessage());
> > > > >                        else
> > > > >                        {
> > > > >                            dataTable = response.getDataTable();
> > > > >                            pie = new PieChart(dataTable,
> > > > > createPieChartOptions(300, 180, "My auto refresh pie chart"));
> > > > >                            pie.addSelectHandler
> > > > > (createPieChartSelectHandler(pie));
> > > > >                            hLayout.addMember(pie);
> > > > >                        }
> > > > >                    }
> > > > >                });
> >
> > > > > I've got 2 questions really:
> > > > > 1) What is causing the above code to not fire the query.send every
> 5
> > > > > secs?
> > > > > 2) This onResponse creates a new pie chart and adds it to hLayout
> upon
> > > > > every successful response. I'm assuming the correct thing would be
> to
> > > > > call pie.draw(dataTable, createPieChartOptions(300, 180, "My auto
> > > > > refresh pie chart"))
> > > > > I also assume I shouldn't be creating a new PieChart in the
> > > > > onResponse, so it must already have been created, but how can I
> create
> > > > > it AND add it to my DOM before I have my first dataTable?
> >
> > > > > Here's an attempt to create the "empty" pie chart beforehand:
> >
> > > > >                pie = new PieChart();
> > > > >                pie.addSelectHandler(createPieChartSelectHandler
> > > > > (pie));
> > > > >                hLayout.addMember(pie);
> >
> > > > >                Query query = Query.create("
> > > > >http://localhost:8084/FetchDataTable";);
> > > > >                query.setRefreshInterval(5);
> > > > >                query.send(new Callback(){
> > > > >                    public void onResponse(QueryResponse response) {
> > > > >                        if (response.isError())
> > > > >                            SC.say("An error occured: " +
> > > > > response.getDetailedMessage());
> > > > >                        else
> > > > >                        {
> > > > >                            dataTable = response.getDataTable();
> > > > >                            pie.draw(dataTable,
> createPieChartOptions
> > > > > (300, 180, "My auto refresh pie chart"));
> > > > >                        }
> > > > >                    }
> > > > >                });
> >
> > > > > ...but again, the query.send doesn't get called more than once. :(
> >
>

--~--~---------~--~----~------------~-------~--~----~
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