Thanks Thomas,
But I guess if we remove the type, validation will fail to
validate .ui.xml. Still will try and let you know the results.
Thanks,
-Pandurang
On Wednesday, 18 July 2012 22:07:07 UTC+5:30, Thomas Broyer wrote:
>
> Just a wild guess: try to remove the type="" on your ui:with. Maybe the
> generator is confused and thinks it has to instantiate a Person object
> (what would normally be done with UiBinder), in which case it's no surprise
> that the Person's properties are all 'null'.
> BTW, to debug generated code, pass the "-gen someFolder" to the DevMode or
> Compiler so that it's output to disk, and then add the "someFolder" folder
> to the "sources" of your Eclipse launcher (or whatever the equivalent in
> your IDE if not using Eclipse). You'll then be able to step into the
> generated code.
>
> On Wednesday, July 18, 2012 6:44:07 AM UTC+2, Vasu wrote:
>>
>> I tried to create a sample by using UiRenderer. But Showing null values
>> as result. And as the UiRenderer code implementation is generated I am not
>> even able to debug it. Following is the sample I tried.
>>
>> Person.java
>>
>> --------------------------------------------------------------------------------------------------------------------------
>> public class Person {
>>
>> private String fname;
>> private String lname;
>> private String emailid;
>> private int age;
>>
>> /**
>> * @return the fname
>> */
>> public String getFname() {
>> return fname;
>> }
>>
>> /**
>> * @param fname
>> * the fname to set
>> */
>> public void setFname(String fname) {
>> this.fname = fname;
>> }
>>
>> /**
>> * @return the lname
>> */
>> public String getLname() {
>> return lname;
>> }
>>
>> /**
>> * @param lname
>> * the lname to set
>> */
>> public void setLname(String lname) {
>> this.lname = lname;
>> }
>>
>> /**
>> * @return the emailid
>> */
>> public String getEmailid() {
>> return emailid;
>> }
>>
>> /**
>> * @param emailid
>> * the emailid to set
>> */
>> public void setEmailid(String emailid) {
>> this.emailid = emailid;
>> }
>>
>> /**
>> * @return the age
>> */
>> public int getAge() {
>> return age;
>> }
>>
>> /**
>> * @param age
>> * the age to set
>> */
>> public void setAge(int age) {
>> this.age = age;
>> }
>>
>> }
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>>
>> PersonCell.ui.xml
>>
>> --------------------------------------------------------------------------------------------------------------------------
>> <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'>
>> <ui:with field='person' type='com.sample.renderer.Person' />
>>
>> <div>
>> First Name :
>> <span>
>> <ui:text from='{person.getFname}' />
>> </span>
>> <p>
>> Last Name :
>> <span>
>> <ui:text from='{person.getLname}' />
>> </span>
>> </p>
>> <p>
>> Email :
>> <span>
>> <ui:text from='{person.getEmailid}' />
>> </span>
>> </p>
>> </div>
>> </ui:UiBinder>
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>> PersonCell.java
>>
>> --------------------------------------------------------------------------------------------------------------------------
>> public class PersonCell extends AbstractCell<Person> {
>>
>> interface MyUiRenderer extends UiRenderer {
>> void render(SafeHtmlBuilder sb, Person person);
>> }
>>
>> private static MyUiRenderer renderer =
>> GWT.create(MyUiRenderer.class);
>>
>> @Override
>> public void render(com.google.gwt.cell.client.Cell.Context context,
>> Person value, SafeHtmlBuilder sb) {
>> renderer.render(sb, value);
>> }
>>
>> }
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>> onModuleLoad implementation
>>
>>
>> --------------------------------------------------------------------------------------------------------------------------
>> PersonCell cell = new PersonCell();
>> CellList<Person> cellList = new CellList<Person>(cell);
>> List<Person> list = new ArrayList<Person>();
>> Person p = new Person();
>> p.setFname("Pranoti");
>> p.setLname("Patil");
>> p.setEmailid("[email protected]");
>> p.setAge(30);
>> list.add(p);
>>
>> p = new Person();
>> p.setFname("Pandurang");
>> p.setLname("Patil");
>> p.setEmailid("[email protected]");
>> p.setAge(30);
>> list.add(p);
>>
>> p = new Person();
>> p.setFname("Ravi");
>> p.setLname("Kumar");
>> p.setEmailid("[email protected]");
>> p.setAge(30);
>> list.add(p);
>>
>> cellList.setRowCount(list.size(), true);
>> cellList.setRowData(list);
>>
>> RootPanel.get().add(cellList);
>>
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>>
>> output:
>>
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>> First Name : null
>>
>> Last Name : null
>>
>> Email : null
>> First Name : null
>>
>> Last Name : null
>>
>> Email : null
>> First Name : null
>>
>> Last Name : null
>>
>> Email : null
>>
>> --------------------------------------------------------------------------------------------------------------------------
>>
>>
>> Any help would be much appriciated. I am not getting if I am
>> missing something. Even I tried the sample given on GWT documenntation
>> located at
>> refer<https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Rendering_HTML_for_Cells>,
>>
>> getting similar results.
>>
>> When I tried to debug above code by applying break points
>> inside redner() method of PersonCell, to check if I get required object
>> over there, while it renders every cell. And I am able to see proper object
>> is getting passed over there. But When apply break point in any of the
>> getter of Person class, and try to see what value person object has. Then
>> it is surprising to see it has all null values. Need to understand if its
>> bug in GWT library or I am missing anything while using it.
>>
>>
>> Thanks,
>> -Pandurang Patil.
>>
>
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-web-toolkit/-/POZcNOJO2kUJ.
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.