Figured it out.
The issue is that the ChildView had a getter that exposed the AddressForm
to its parent:
public AddressForm<Child1> getAddressForm() {
return addressForm;
}
This was causing the Editor framework to choke.
On Wednesday, November 22, 2017 at 3:05:00 PM UTC-5, hy wrote:
>
> I am trying to use a nested editors; however its been failing at the code
> generation step.
> Below is a sample code snippet to explain the issue:
>
> public class ParentView
> implements Editor<Parent>{
>
> interface Binder
> extends UiBinder<Widget, ParentView> {
> }
>
> interface Driver
> extends SimpleBeanEditorDriver<Parent, ParentView> {
> }
>
> @UiField @Editor.Path ("child1") ChildView childView;
> @UiField @Editor.Path ("child2") Child2View child2View;
>
>
>
> public class ChildView
> extends Composite
> implements Editor<Child1> {
>
> interface ChildViewUiBinder
> extends UiBinder<HTMLPanel, ChildView> {
> }
>
> private static ChildViewUiBinder uiBinder =
> GWT.create(ChildViewUiBinder.class);
>
> @UiField @Editor.Path ("") AddressForm<Child1> formAddress;
> @UiField @Path ("") InformationForm<Child1> informationForm;
>
>
>
> public class AddressForm<T>
> extends Composite
> implements Editor<T> {
>
> interface AddressFormUiBinder
> extends UiBinder<HTMLPanel, AddressForm> {
> }
>
> private static AddressFormUiBinder uiBinder =
> GWT.create(AddressFormUiBinder.class);
>
> @UiField InputEditor<String> address1;
> @UiField InputEditor<String> address2;
> @UiField InputEditor<String> city;
> @UiField SelectEditor<String> stateCode;
> @UiField InputEditor<String> zip;
>
>
>
> public class InformationForm<T>
> extends Composite
> implements Editor<T> {
>
> interface InformationFormUiBinder
> extends UiBinder<HTMLPanel, InformationForm> {
> }
>
> private static InformationFormUiBinder uiBinder =
> GWT.create(InformationFormUiBinder.class);
>
> @UiField InputEditor<Integer> a;
> @UiField InputEditor<Float> b;
>
>
> When I try to compile the above code, I get the below error:
>
> [ERROR] Could not find a getter for path getFormAddress in proxy type
> com.......Child1 [ERROR] Unable to create Editor model due to
> previous errors
>
>
>
> The class hierarchy looks like this:
>
> public class Parent {
>
> private Child1 child1;
> private Child2 child2;
>
> public Child1 getChild1() {
> return child1;
> }
>
> public void setChild1(Child1 child1) {
> this.child1 = child1;
> }
>
> public Child2 getChild2() {
> return child2;
> }
>
> public void setChild2(Child2 child2) {
> this.child2 = child2;
> }
> }
>
>
> public class Child1 {
>
> private Integer id;
> //below are common for AddressForm
> private String address1;
> private String address2;
> private String address3;
> private String city;
> private String stateCode;
> private String zip;
>
> //below are common for InformationForm
> private int a;
> private float b;
>
>
>
> I can use the AddressForm<T> widget successfully when its a direct child of
> the parent view; however it fails in the above case where it is in the child
> view.
>
> InformationForm<T> on the other hand works correctly without any issues.
>
>
>
> Appreciate any help regarding this.
>
>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.