Thank you so much for your reply. I modified the request like so:
requestFactory.formRequest().findForm(1).with("fieldsList").fire(...
but now I get an UnexectedException with this message:
Could not determine getter for property value on type Field
Thanks again.
On Oct 17, 11:20 pm, "Aidan O'Kelly" <[email protected]> wrote:
> When you find(), or return an object from other method through
> RequestFactory on the client-side, relationships, such as a List<MyProxy>
> need to be explicitly retrieved, using syntax like:
>
> requestFactory.formRequest().findForm(1).with('"fieldList").fire(...
>
> http://code.google.com/webtoolkit/doc/latest/DevGuideRequestFactory.h...
>
>
>
>
>
>
>
> On Tue, Oct 18, 2011 at 3:52 AM, 007design <[email protected]> wrote:
> > I'm trying to understand RequestFactory but having quite a difficult
> > time. First, one note: I'm using ORMLite for persistence, I found it
> > easier and simpler to learn than Hibernate so I'm hoping I can
> > continue to use it. Those are the @Database annotations in example
> > below. I've boiled down my application to a smaller amount of code.
> > I'm really hoping someone can take a quick look at it and tell me what
> > I'm doing wrong. When I try and load the application in the browser I
> > get a NullPointerException on response.getFieldsList(). I'm guessing
> > that after the Form object is fetched from the database the
> > "connection is closed" or something so calling getFieldsList() doesn't
> > work because the method "gets more data from the database".
>
> > public class FormBuilder implements EntryPoint {
> > public void onModuleLoad() {
> > final Label label = new Label();
> > RootPanel.get("labelContainer").add(label);
>
> > final EventBus eventBus = new SimpleEventBus();
> > EntityRequestFactory requestFactory =
> > GWT.create(EntityRequestFactory.class);
> > requestFactory.initialize(eventBus);
>
> > requestFactory.formRequest().findForm(1).fire(new
> > Receiver<FormProxy>() {
> > @Override
> > public void onSuccess(FormProxy response) {
> > for (FieldProxy field :
> > response.getFieldsList()) {
> > label.setText(label.getText() +
> > field.getName());
> > }
> > }
> > });
> > }
> > }
>
> > @DatabaseTable (tableName="forms")
> > public class Form {
> > public Form() {}
>
> > @DatabaseField (columnName="form_id", generatedId=true)
> > private Integer id;
> > public void setId(Integer id) { this.id = id; }
> > public Integer getId() { return id; }
>
> > public List<Field> getFieldsList() {
> > return Field.getFieldsList(getId());
> > }
>
> > public static Form findForm(Integer id) {
> > // Get form record from database
> > }
>
> > }
>
> > public class Field {
> > public Field() {}
>
> > @DatabaseField (columnName="field_id", generatedId=true)
> > private Integer id;
> > public void setId(Integer id) { this.id = id; }
> > public Integer getId() { return id; }
>
> > /**
> > * The form to which this field is associated
> > */
> > private Integer formId;
> > public void setFormId(Integer formId) { this.formId = formId; }
> > public Integer getFormId() { return this.formId; }
>
> > public Form getForm() {
> > return Form.findForm(getFormId());
> > }
>
> > public static Field findField(Integer id) {
> > // Get field record from database
> > }
>
> > public static List<Field> getFieldsList(Integer id) {
> > // Get field records for db where formid = id
> > }
> > }
>
> > @ProxyFor (Form.class)
> > public interface FormProxy extends EntityProxy {
> > Integer getId();
> > List<FieldProxy> getFieldsList();
> > void setId(Integer id);
> > void setTimestamp(Date timestamp);
> > }
>
> > @ProxyFor (Field.class)
> > public interface FieldProxy extends EntityProxy {
> > Integer getFormId();
> > Integer getId();
> > void setFormId(Integer formId);
> > void setId(Integer id);
> > }
>
> > @Service (Form.class)
> > public interface FormRequest extends RequestContext {
> > Request<FormProxy> findForm(Integer id);
> > InstanceRequest<FormProxy, List<FieldProxy>> getFieldsList();
> > }
>
> > @Service (Field.class)
> > public interface FieldRequest extends RequestContext {
> > Request<FieldProxy> findField(Integer id);
> > Request<List<FieldProxy>> getFieldsList(Integer formId);
> > }
>
> > --
> > 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.
--
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.