how can i make this entire process as 1 single event??? http://code.google.com/apis/visualization/documentation/dev/dsl_get_started.html and draw the chart on single click?
On Jun 10, 3:08 pm, Akku <[email protected]> wrote: > This the servlet i have made now and trying to make a chart. > > public class Beat extends HttpServlet implements DataTableGenerator { > > private static final Log log = > LogFactory.getLog(Beat.class.getName()); > > // * Processes requests for both HTTP <code>GET</code> and > <code>POST</code> methods. > protected void processRequest(HttpServletRequest request, > HttpServletResponse response) > throws ServletException, IOException { > response.setContentType("text/html;charset=UTF-8"); > PrintWriter out = response.getWriter(); > > DataTable data = generateDataTable(null, request); > try { > // /* TODO output your page here > out.println("<html>"); > out.println("<head>"); > out.println("<title>Servlet Beat</title>"); > out.println("</head>"); > out.println("<body>"); > out.println("<h1>Servlet Beat at " + > request.getContextPath () + "</h1>"); > out.println("</body>"); > out.println("</html>"); > > DataSourceHelper.executeDataSourceServletFlow(request, response, > (DataTableGenerator)generateDataTable(null, request),Boolean.FALSE); > > /// sending to html to draw the chart // the html code is fine too > RequestDispatcher rd; > rd = request.getRequestDispatcher("newhtml.html"); > rd.include(request, response); ////forward(request, response); > > } finally { > > out.close(); > } > } > > 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 { > data.addRowFromValues("Aye-aye", "http://en.wikipedia.org/wiki/ > Aye-aye", 100, true); > data.addRowFromValues("Sloth", "http://en.wikipedia.org/wiki/ > Sloth", 300, true); > data.addRowFromValues("Leopard", "http://en.wikipedia.org/wiki/ > Leopard", 50, false); > data.addRowFromValues("Tiger", "http://en.wikipedia.org/wiki/ > Tiger", 80, false); > } catch (TypeMismatchException e) { > System.out.println("Invalid type!"); > } > return data; > } > > public Capabilities getCapabilities(){ > return Capabilities.NONE; > } > > protected boolean isRestrictedAccessMode() { > return false; > } > > @Override > protected void doGet(HttpServletRequest request, > HttpServletResponse response) > throws ServletException, IOException { > processRequest(request, response); > } > �...@override > protected void doPost(HttpServletRequest request, > HttpServletResponse response) > throws ServletException, IOException { > processRequest(request, response); > } > > I am not able to draw the chart. > I want to draw the chart at one url hit how can i do > please guide me > > On Jun 10, 12:00 pm, Akku <[email protected]> wrote: > > > ok > > I run this code > > >http://code.google.com/apis/visualization/documentation/dev/dsl_csv.h... > > > when I hit the address I get the following result > > > ............................................}]},{c:[{v:'Tiger'}, > > {v:'http://en.wikipedia.org/wiki/Tiger'},{v:80.0},{v:false}]} which is > > ok > > > then i run the following code > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > > <!DOCTYPE html> > > <html> > > <head> > > <title>Getting Started Example</title> > > <!--Load the AJAX API--> > > <script type="text/javascript" src="http://www.google.com/jsapi"></ > > script> > > <script type="text/javascript"> > > > //Load the Visualization API and the ready-made Google table > > visualization > > google.load('visualization', '1', {'packages':['table']}); > > > // Set a callback to run when the API is loaded. > > google.setOnLoadCallback(init); > > > // Send the query to the data source. > > function init() { > > > // Specify the data source URL. > > var query = new google.visualization.Query('Beat');// name of my > > servlet > > > // Send the query with a callback function. > > query.send(handleQueryResponse); > > } > > > // Handle the query response. > > function handleQueryResponse(response) { > > if (response.isError()) { > > alert('Error in query: ' + response.getMessage() + ' ' + > > response.getDetailedMessage()); > > return; > > } > > > // Draw the visualization. > > var data = response.getDataTable(); > > var chart = new > > google.visualization.Table(document.getElementById('chart_div')); > > chart.draw(data, {width: 600, height: 150, is3D: true}); > > } > > </script> > > </head> > > <body> > > <h1>Hello! Data Source!</h1> > > > A table chart that shows data taken from the simple data source. > > <!--Div that will hold the visualization--> > > <div id="chart_div"></div> > > </body> > > </html> > > > And I get perfect chart. > > > Now I want to design such that when the user hits the address to the > > servlet I dont want the following result > > ............................................}]},{c:[{v:'Tiger'}, > > {v:'http://en.wikipedia.org/wiki/Tiger'},{v:80.0},{v:false}]} which is > > ok > > > instead i want to draw the chart directly using the the above html > > page. > > I tried using dispactcher.forward(XXX.html); > > but i am getting error. > > > So i got hint from the > > site....http://code.google.com/apis/visualization/documentation/dev/dsl_key_c... > > Has anyone tried this or what should be the approach to process and > > draw the chart on one hit and just showing the chart on user's > > browser? > > > On Jun 10, 10:18 am, Badtnik <[email protected]> wrote: > > > > Hey, can you send a simple code snippet causing that response and we > > > can help you debug it? > > > > On Jun 10, 5:11 pm, Akku <[email protected]> wrote: > > > > > I am following this > > > > tutorialshttp://code.google.com/apis/visualization/documentation/dev/dsl_csv.html > > > > > It works fine for me but i am facing one problem > > > > > at the following step given by google > > > > Updating Your Web Application on Apache Tomcat > > > > Click the following > > > > link:http://localhost:8080/myWebApp/csv?url=http://localhost:8080/myWebApp... > > > > > The screen displays 6-7 lines of text, depending on your screen width. > > > > The text begins with google.visualization.Query.setResponse > > > > and ends with {c:[{v:'Bob'},{v:'Jane'}]}]}}); > > > > > This is the response that the example CSV data source sends to a > > > > visualization. > > > > > I DONT want this thing coming in my browser > > > > instead i want to directly draw the chart after user hit the link > > > > as given by google > > > > Using a Visualization to View the Data > > > > The all_examples.html file in the <data_source_library_install>/ > > > > examples/src/html directory can be used to view a visualization of the > > > > data. > > > > > what can i do to follow all the step and directly draw the chart ? > > > > thanking you in advance -- 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.
