Hi I m getting the following error can anyone please help me in
resolving and getting a proper pagination flow, on clicking of the
paginate icon. below is the code I have been trying to use and the
exception I'm getting :

Exception :
===========

11:17:33.939 [ERROR] [myapps] Unable to load module entry point class
com.apps.app1.client.Myapps (see associated exception for details)

java.lang.NullPointerException: null
    at
com.google.gwt.user.client.ui.HTMLPanel.addAndReplaceElement(HTMLPanel.java:
197)
    at
com.apps.app1.client.GridData_GridDataUiBinderImpl.createAndBindUi(GridData_GridDataUiBinderImpl.java:
37)
    at
com.apps.app1.client.GridData_GridDataUiBinderImpl.createAndBindUi(GridData_GridDataUiBinderImpl.java:
1)
    at com.apps.app1.client.GridData.<init>(GridData.java:61)
    at com.apps.app1.client.Myapps.onModuleLoad(Myapps.java:14)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:
396)
    at
com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:
200)
    at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
525)
    at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
363)
    at java.lang.Thread.run(Thread.java:619)










The GridData.java file
==================

package com.apps.app1.client;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;

import com.apps.app1.client.Contact.Category;
import com.google.gwt.cell.client.CheckboxCell;
import com.google.gwt.cell.client.DateCell;
import com.google.gwt.cell.client.EditTextCell;
import com.google.gwt.cell.client.FieldUpdater;
import com.google.gwt.cell.client.NumberCell;
import com.google.gwt.cell.client.SelectionCell;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.cellview.client.Column;
import com.google.gwt.user.cellview.client.DataGrid;
import com.google.gwt.user.cellview.client.Header;
import com.google.gwt.user.cellview.client.SafeHtmlHeader;
import com.google.gwt.user.cellview.client.SimplePager;
import com.google.gwt.user.cellview.client.TextColumn;
import
com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
import
com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
import com.google.gwt.user.cellview.client.SimplePager.TextLocation;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SelectionChangeEvent;
import com.google.gwt.view.client.SingleSelectionModel;

public class GridData extends Composite {

        private static GridDataUiBinder uiBinder = GWT
                        .create(GridDataUiBinder.class);

        interface GridDataUiBinder extends UiBinder<Widget, GridData> {
        }

          @UiField(provided = true)
          DataGrid<Contact> table;
          @UiField(provided = true)
          SimplePager pager1;



        public GridData() {

                table = new DataGrid<Contact>();
                SimplePager.Resources pagerResources =
GWT.create(SimplePager.Resources.class);
                SimplePager pager1 = new SimplePager(TextLocation.CENTER,
pagerResources, false, 0, true);
                pager1.setDisplay(table);
                initWidget(uiBinder.createAndBindUi(this));
                
table.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
                /*DockLayoutPanel mainPanel = new DockLayoutPanel(Unit.EM);
                VerticalPanel panel = new VerticalPanel();
                panel.setBorderWidth(5);
                panel.setTitle("North");
                VerticalPanel panel1 = new VerticalPanel();
                panel.setBorderWidth(5);
                panel1.setTitle("East");
                VerticalPanel panel2 = new VerticalPanel();
                panel.setBorderWidth(5);
                panel2.setTitle("West");
                VerticalPanel panel3 = new VerticalPanel();
                panel.setBorderWidth(5);
                panel2.setTitle("South");

                mainPanel.insertNorth(panel, 10.0, null);
                mainPanel.insertWest(panel1, 10.0, null);
                mainPanel.insertEast(panel2, 10.0, null);
                */


                table.setWidth("100%");
                final ListDataProvider<Contact> dataProvider = new
ListDataProvider<Contact>();
                dataProvider.addDataDisplay(table);

                String[] categoryArray = new String[]
{"Jack","Ron","Hermaine","Harry","Voldermort"};
                final Category[] categories = new 
Category[categoryArray.length];
                for(int i = 0 ; i< categoryArray.length; i++)
                {
                        categories[i] = new Category(categoryArray[i]);
                }
                List<Contact> CONTACTS = dataProvider.getList();
                Contact contact = new Contact();
                CONTACTS = contact.getContacts();

                Column<Contact, Number> ageColumn = new Column<Contact, 
Number>(new
NumberCell()) {

                        @Override
                        public Integer getValue(Contact object) {
                                // TODO Auto-generated method stub
                                return object.age;
                        }
                };

                List<String> categoryName = new ArrayList<String>();
                for(Category category : categories){

                        categoryName.add(category.getDisplayName());
                }
                SelectionCell selectionCell = new SelectionCell(categoryName);
                Column<Contact, String> categoryColumn  = new Column<Contact,
String>(selectionCell) {

                        @Override
                        public String getValue(Contact object) {
                                // TODO Auto-generated method stub
                                return object.category.getDisplayName();
                        }
                };
                table.setColumnWidth(categoryColumn, 40.0, Unit.PX);
                table.addColumn(categoryColumn, "category", "Category");
                Header<String> ageFooter = new Header<String>(new 
EditTextCell()) {
                        @Override
                        public String getValue() {
                                List<Contact> items = table.getVisibleItems();
                                if (items.size() == 0) {
                                        return "";
                                } else {
                                        int totalAge = 0;
                                        for (Contact item : items) {
                                                totalAge += item.age;
                                        }
                                        return "Avg: " + totalAge / 
items.size();
                                }
                        }
                };
                table.setColumnWidth(ageColumn, 40.0, Unit.PX);
                table.addColumn(ageColumn, new
SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant("Age")), ageFooter);

                ListHandler<Contact> sortHandler = new
ListHandler<Contact>(dataProvider.getList());
                table.addColumnSortHandler(sortHandler);





                Column<Contact, String> nameColumn = new Column<Contact, 
String>(new
EditTextCell()) {

                        @Override
                        public String getValue(Contact object) {
                                // TODO Auto-generated method stub
                                return object.name;
                        }
                };
                nameColumn.setSortable(true);
                sortHandler.setComparator(nameColumn, new Comparator<Contact>() 
{
                        public int compare(Contact o1, Contact o2) {
                                return -((o1.name).compareTo(o2.name));
                        }
                });

                table.addColumn(nameColumn, "Name", "Name");
                nameColumn.setFieldUpdater(new FieldUpdater<Contact, String>() {

                        @Override
                        public void update(int index, Contact object, String 
value) {
                                // TODO Auto-generated method stub
                                object.name = value;
                                dataProvider.refresh();
                        }
                });
                table.setColumnWidth(nameColumn, 60.0, Unit.PX);
                TextColumn<Contact> addressColumn = new TextColumn<Contact>() {

                        @Override
                        public String getValue(Contact object) {
                                // TODO Auto-generated method stub
                                return object.address;
                        }
                };
                addressColumn.setSortable(true);
                addressColumn.setFieldUpdater(new FieldUpdater<Contact, 
String>() {

                        @Override
                        public void update(int index, Contact object, String 
value) {
                                // TODO Auto-generated method stub
                                object.address = value;
                                dataProvider.refresh();
                        }
                });
                table.setColumnWidth(addressColumn, 70.0, Unit.PX);
                table.addColumn(addressColumn, "Address", "Address");

                DateCell dateCell = new DateCell();
                Column<Contact, Date> dateColumn = new Column<Contact,
Date>(dateCell) {

                        @Override
                        public Date getValue(Contact object) {
                                // TODO Auto-generated method stub
                                return object.birthday;

                        }
                };
                table.setColumnWidth(dateColumn, 40.0, Unit.PX);
                table.addColumn(dateColumn, "Date", "Birthday");
                /*final SelectionModel<Contact> selectionModel12 = new
MultiSelectionModel<Contact>();
                table.setSelectionModel(selectionModel12,
DefaultSelectionEventManager.<Contact>createCheckboxManager());*/
                final SingleSelectionModel<Contact> selectionModel1      = new
SingleSelectionModel<Contact>();
                table.setSelectionModel(selectionModel1);
                selectionModel1.addSelectionChangeHandler(new
SelectionChangeEvent.Handler() {
                        @Override
                        public void onSelectionChange(SelectionChangeEvent 
event) {
                                // TODO Auto-generated method stub
                                Contact selected = 
selectionModel1.getSelectedObject();
                                if(selected != null)
                                {
                                        final DialogBox box = new DialogBox();
                                        box.setAnimationEnabled(true);
                                        box.setHTML(selected.name);
                                        box.setText(selected.name);
                                        VerticalPanel w = new VerticalPanel();
                                        //w.setSize("5px", "10px");
                                        w.setBorderWidth(1);
                                        /*Image image = new 
Image("D:\\checkout1\\rocro-modularization\
\rocro-web\\rocro-entrypoint\\target\\rocro-entrypoint\
\com.subex.rocro.web.app.ROCroApplication\\resources\\common\\icons\
\ol_close.png");
                                        image.addClickHandler(new 
ClickHandler() {

                                                @Override
                                                public void onClick(ClickEvent 
event) {
                                                        // TODO Auto-generated 
method stub
                                                        box.hide();
                                                }
                                        });
                                        image.setSize("50px", "30px");
                                        w.add(image)*/
                                        w.add(new Button("Close IT", new 
ClickHandler() {

                                                @Override
                                                public void onClick(ClickEvent 
event) {
                                                        // TODO Auto-generated 
method stub
                                                        box.hide();
                                                }
                                        }));
                                        w.setTitle(selected.name);
                                        box.setPopupPosition(350, 100);
                                        box.add(w);
                                        box.show();
                                }
                        }
                });
                Column<Contact, Boolean> checkColumn = new Column<Contact,
Boolean>(new CheckboxCell(true, false)) {

                        @Override
                        public Boolean getValue(Contact object) {

                                return selectionModel1.isSelected(object);
                        }
                };
                table.addColumn(checkColumn, 
SafeHtmlUtils.fromSafeConstant("<br/
>"));
                table.setColumnWidth(checkColumn, 40, Unit.PX);
                table.setVisibleRange(0, 13);
                table.setRowCount(CONTACTS.size(), true);
                table.setRowData(0, CONTACTS);
                /*mainPanel.insertSouth(pager, 10.0, null);
                VerticalPanel panel4 = new VerticalPanel();
                panel4.add(table);
                panel4.add(pager);
                mainPanel.add(table); */
                /*RootLayoutPanel.get().add(mainPanel);*/


        }

}


the GridData.ui.xml file
===================

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent";>
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
        xmlns:g="urn:import:com.google.gwt.user.client.ui"
  xmlns:c="urn:import:com.google.gwt.user.cellview.client">

  <g:DockLayoutPanel
    unit="EM">
    <!-- DataGrid. -->
    <g:center>
      <c:DataGrid
        ui:field="table" />
    </g:center>

    <!-- Pager. -->
    <g:south
      size="3">
      <g:HTMLPanel>
        <table
          style="width:100%">
          <tr>
            <td
              align='center'>
              <c:SimplePager ui:field="pager1"/>
            </td>
          </tr>
        </table>
      </g:HTMLPanel>
    </g:south>
  </g:DockLayoutPanel>
</ui:UiBinder>


the Myapps.java file
===================

package com.apps.app1.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootLayoutPanel;


/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class Myapps implements EntryPoint {

        @Override
        public void onModuleLoad() {
                GridData data = new GridData();
                RootLayoutPanel.get().add(data);
        }
}



Please help me out in getting the a  proper solution for it.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to