Hi everybody!

I'm trying to retrieves jsonArray in my httpServlet under to use the
remote paging of my gridPanel.
I followed this exemples : 
http://www.17od.com/2008/07/24/how-to-create-a-remote-paging-listview-using-gwt-ext/
I almost have the same code. But when i build my grid, the servlet is
never call and i have no message in my log. I use apach tomcat server.

My code :
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package malak.cara.client.riupdate;

import malak.cara.client.MainEntryPoint;

import com.gwtext.client.core.RegionPosition;
import com.gwtext.client.core.SortDir;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.HttpProxy;
import com.gwtext.client.data.IntegerFieldDef;
import com.gwtext.client.data.JsonReader;
import com.gwtext.client.data.RecordDef;
import com.gwtext.client.data.Store;
import com.gwtext.client.data.StringFieldDef;
import com.gwtext.client.widgets.Button;
import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.MessageBox;
import com.gwtext.client.widgets.PagingToolbar;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.event.PanelListenerAdapter;
import com.gwtext.client.widgets.grid.ColumnConfig;
import com.gwtext.client.widgets.grid.ColumnModel;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GridView;
import com.gwtext.client.widgets.grid.RowSelectionModel;
import com.gwtext.client.widgets.layout.BorderLayoutData;


public class AppRouteIdUpdate extends Panel {

    /**
     * Panel of AppRouteIdUpdate
     */
    public static Panel centerPanel;
    public GridPanel routesIdGrid;
    public ColumnModel columnModel;
    public final int nbColumns = 8;
    public Button previousB;

    public AppRouteIdUpdate() {
        super();
        this.setBorder(false);
        this.setAutoScroll(true);
        //this.setLayout(new BorderLayout());

        buildCenterPanel();
        this.add(centerPanel, new BorderLayoutData
(RegionPosition.CENTER));
        this.doLayout();
        MainEntryPoint.refresh();
    }

    /**
     * This method builds the center panel
     */
    public void buildCenterPanel() {
        centerPanel = new Panel();
        centerPanel.setAutoWidth(true);
        centerPanel.setAutoHeight(true);
        centerPanel.setAutoScroll(true);
        centerPanel.setBorder(false);
        centerPanel.doLayout(true);
        buildroutesIdGrid();
    }

    /**
     * This method builds the routesIdGrid
     */
    public void buildroutesIdGrid() {

        HttpProxy dataProxy = new HttpProxy("http://localhost:8888/
routesId");

        final RecordDef recordDef = new RecordDef(new FieldDef[]{
                    new StringFieldDef("class"),
                    new StringFieldDef("route_id"),
                    new IntegerFieldDef("id"),
                    new StringFieldDef("projet"),
                    new StringFieldDef("cli"),
                    new StringFieldDef("country"),
                    new StringFieldDef("route_type"),
                    new StringFieldDef("resource"),
                    new StringFieldDef("resource_type"),
                    new StringFieldDef("plan"),
                });

        JsonReader reader = new JsonReader(recordDef);
        reader.setRoot("routesId");
        reader.setTotalProperty("totalRoutesId");
        reader.setId("id");

        final Store store = new Store(dataProxy, reader, true);
        store.setDefaultSort("id", SortDir.ASC);



        ColumnConfig[] columns = new ColumnConfig[]{
            new ColumnConfig("Route Id", "route_id", 100, true),
            new ColumnConfig("Projet", "projet", 90, true),
            new ColumnConfig("Cli", "cli", 130, true),
            new ColumnConfig("Country", "country", 100, true),
            new ColumnConfig("Route Type", "route_type", 100,
            true),
            new ColumnConfig("Resource", "resource", 100, true),
            new ColumnConfig("Type Of Resource", "resource_type", 100,
true),
            new ColumnConfig("plan", "plan", 100, true)
        };

        columnModel = new ColumnModel(columns);
        columnModel.setDefaultSortable(true);

        routesIdGrid = new GridPanel();
        routesIdGrid.setWidth(1000);
        routesIdGrid.setHeight(300);
        routesIdGrid.setStore(store);
        routesIdGrid.setColumnModel(columnModel);
        routesIdGrid.setTrackMouseOver(true);
        routesIdGrid.setLoadMask(true);
        routesIdGrid.setSelectionModel(new RowSelectionModel());
        routesIdGrid.setStripeRows(true);
        routesIdGrid.setEnableColumnResize(true);

        GridView view = new GridView();
        view.setForceFit(true);
        routesIdGrid.setView(view);

        PagingToolbar pagingToolbar = new PagingToolbar(store);
        pagingToolbar.setPageSize(15);
        pagingToolbar.setDisplayInfo(true);

        routesIdGrid.setBottomToolbar(pagingToolbar);

        centerPanel.add(routesIdGrid);
        routesIdGrid.addListener(new PanelListenerAdapter() {

            public void onRender(Component component) {
                store.load(0, 15);
            }
        });
    }
}


The servlet side :

public class RoutesIdServlet extends HttpServlet {
    /**
     * Araxxe logger
     */
    private static ArxLogger log = new ArxLogger(
            RoutesIdServlet.class);

    /**
     * Processes requests for both HTTP <code>GET</code> and
<code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        // Display the parameters we're passed in for debugging
purposes
        //printParameters(req);

        // Get the limit and sort parameters off the request
        int start = request.getParameter("start") == null ? 1 :
Integer.parseInt(request.getParameter(
                "start"));
        int numberToReturn = request.getParameter("limit") == null ?
10 : Integer.parseInt(request.getParameter(
                "limit"));
        String sortBy = request.getParameter("sort") == null ? "id" :
request.getParameter(
                "sort");
        String sortOrder = request.getParameter("dir") == null ?
"asc" : request.getParameter(
                "dir");

        // Create the SQL query used to retrieve the persons
        String sql = createMainSQLQuery(sortBy, sortOrder);

        ArrayList routesId;
        try {
            // Execute the query to return the exact records
requested
            routesId = getroutesId(sql, start, numberToReturn);

            // Convert the list of routesId into a JSON string
            JSONObject jsonDataToReturn = new JSONObject();
            JSONArray jsonroutesId = new JSONArray();
            jsonroutesId.add(routesId);
            jsonDataToReturn.put("totalRoutesId",
getTotalNumberOfroutesId(sql));
            jsonDataToReturn.put("routesId", jsonroutesId);

            // Write everything back to the requestor

            response.getWriter().print(jsonDataToReturn.toString(1));

        /* TODO output your page here
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet RoutesIdServlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet RoutesIdServlet at " +
request.getContextPath () + "</h1>");
        out.println("</body>");
        out.println("</html>");
         */
        } finally {
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet
methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("on pac laaaa");
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

    public ArrayList getroutesId(String sql, int start, int
numberToReturn) {
        StringBuffer sqlBuffer = new StringBuffer(
                "SELECT * FROM (SELECT a.*, ROWNUM rnum from (");
        sqlBuffer.append(sql);
        sqlBuffer.append(") a WHERE ROWNUM <= ");
        sqlBuffer.append(start + numberToReturn);
        sqlBuffer.append(") WHERE rnum > ");
        sqlBuffer.append(start);

        RouteId tmproutesId = null;
        log.debug("AppCallingCardUpdateServiceImpl.getCallingCards" +
                " query = " + sqlBuffer.toString());
        ResultSet rs = ArmDb.executeQuery(sqlBuffer.toString());

        if (rs == null) {
            log.error("AppCallingCardUpdateServiceImpl.getCallingCards
" +
                    "cannot execute query: " + sqlBuffer.toString());
            ArmDb.releaseResultSet(rs);
            return null;
        }
        ArrayList routesId = new ArrayList();
        try {
            int id = 0;
            while (rs.next()) {

                tmproutesId = new RouteId();
                tmproutesId.setId(id);
                tmproutesId.setRouteId(rs.getString("route_id"));
                tmproutesId.setProvider(rs.getString("projet"));
                tmproutesId.setExpectedCli(rs.getString("cli"));
                tmproutesId.setCountry(rs.getString("country"));
                tmproutesId.setRouteType(rs.getString("route_type"));
                tmproutesId.setAPartyResource(rs.getString
("resource"));
                tmproutesId.setTypeOfNumbering(rs.getString
("resource_type"));
                tmproutesId.setPlmn(rs.getString("plan"));
                id++;
                routesId.add(tmproutesId);
            }
        } catch (Exception e) {

            log.exception(e);

            ArmDb.releaseResultSet(rs);
            return null;
        }

        log.info("AppCallingCardUpdateServiceImpl.getCallingCards " +
                "Successfull retrievment of Calling Cards");
        ArmDb.releaseResultSet(rs);
        return routesId;
    }

    /**
     * Return the total numbner of records that the given query will
return.
     * @param sql
     * @return
     */
    private Integer getTotalNumberOfroutesId(String sql){

        Integer count = new Integer(0);

        StringBuffer sqlBuffer = new StringBuffer("SELECT COUNT(*)
count FROM (");
        sqlBuffer.append(sql);
        sqlBuffer.append(")");

        ResultSet rs = ArmDb.executeQuery(sqlBuffer.toString());

        log.debug("Method routesIdServlet.getTotalNumberOfPersons
query :" +
                sqlBuffer.toString());
        if (rs == null) {
            log.warn("Method routesIdServlet.getTotalNumberOfPersons"
+
                    " cannot get data from bypass_tags table");
            return new Integer(-1);
        }
        try {
            while (rs.next()) {
                count = new Integer(rs.getInt("count"));
            } // end while

        } catch (Exception e) {
            log.exception(e);
            ArmDb.releaseResultSet(rs);
            return new Integer(-1);
        } // end try

        log.info("routesIdServlet.getTotalNumberOfPersons " +
                "Successfull retrievment of bypass_tags count");
        ArmDb.releaseResultSet(rs);
        return count;
    }


    private String createMainSQLQuery(String sortBy, String sortOrder)
{
        StringBuffer sql = new StringBuffer(
                "SELECT route_id, projet, cli, country," +
                " route_type, resource,resource_type, plan" +
                " FROM routeId");
        sql.append(" ORDER BY ");
        sql.append(sortBy);
        sql.append(" ");
        sql.append(sortOrder);

        return sql.toString();
    }

And to conclude my routeId class :

package  malak.cara.servlets;


public class RouteId {

 tmproutesId.setRouteId(rs.getString("route_id"));

    private int id;
    private String routeId;
    private String projet;
    private String cli;
    private String country;
    private String routeType;
    private String resource;
    private String resrouce_type;
    private String plan;

    public String getAPartyResource() {
        return aPartyResource;
    }

    public String getCountry() {
        return country;
    }

    public String Cli() {
        return cli;
    }

    public int getId() {
        return id;
    }

    public String getPlan() {
        return plan;
    }

    public String getProjet() {
        return projet;
    }

    public String getRouteId() {
        return routeId;
    }

    public String getRouteType() {
        return routeType;
    }

    public String getResourceType() {
        return resourceType;
    }

    public void setResourceType(String resourceType) {
        this.resourceType= resourceType;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public void setCli(String cli) {
        this.cli= cli;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setPlmn(String plan) {
        this.plan= plan;
    }

    public void setProvider(String projet) {
        this.projet= projet;
    }

    public void setRouteId(String routeId) {
        this.routeId = routeId;
    }

    public void setRouteType(String routeType) {
        this.routeType = routeType;
    }

    public void setRouteType(String routeType) {
        this.routeType= routeType;
    }

}

I have only one message in my browser (mozilla with developper
toolbar) :
access to restricted URL denied


Thanks in advance,
Damien
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to