Hi,
I’m having some trouble to get an editor and request factory working
together.
I have made an editor of a user with an address editor within it.
The problem is with the saving of the changes with the user and the
embedded address. Or I can load the user and the address by using with(..)
Or If I comment that line out, I can only see the user with the address
field empty but then I can save it.
When I try the and, to load the editordriver with the adres I get the
following: The requested type is not default-instantiable.
someone knows what I'm doing wrong?
Many thanks in advance
Blas
public class EditUserPresenter extends
PresenterWidget<EditUserPresenter.MyView> implements EditUserUiHandler
{
public interface MyView extends PopupView, HasUiHandlers<EditUserUiHandler>
{
public DialogBox getDialog();
public HTMLPanel getHtmlPanel();
public UserEditor getUserEditor();
}
private final DataRequestFactory rf;
@Inject
public EditUserPresenter(final EventBus eventBus, final MyView view, final
DataRequestFactory rf)
{
super(eventBus, view);
getView().setUiHandlers(this);
this.rf = rf;
}
@Override
protected void onBind()
{
super.onBind();
}
@Override
public void onSave()
{
editorDriver.flush().fire(new Receiver<Void>() {
@Override
public void onSuccess(Void response)
{
getView().getDialog().hide();
}
@Override
public void onConstraintViolation(Set<ConstraintViolation<?>> violations)
{
// TODO Auto-generated method stub
super.onConstraintViolation(violations);
}
@Override
public void onFailure(ServerFailure error)
{
Window.alert("fail");
// TODO Auto-generated method stub
super.onFailure(error);
}
});
}
@Override
public void onCancel()
{
getView().hide();
}
public void setUser(UserProxy user)
{
this.user = user;
}
@Override
protected void onReveal()
{
// TODO Auto-generated method stub
super.onReveal();
edit((RequestContext) null);
}
@Override
protected void onHide()
{
user = null;
super.onHide();
}
private final Driver editorDriver = GWT.create(Driver.class);;
private UserProxy user;
private void edit(RequestContext usercontext)
{
editorDriver.initialize(rf, getView().getUserEditor());
if (usercontext == null) {
fetchAndEdit();
return;
}
editorDriver.edit(user, usercontext);
getView().getDialog().center();
}
private void fetchAndEdit()
{
Request<UserProxy> req = rf.userRequest().findById(user.getId());
//req.with(editorDriver.getPaths());
req.fire(new Receiver<UserProxy>() {
@Override
public void onSuccess(UserProxy response)
{
user = response;
UserRequest context = rf.userRequest();
edit(context);
}
});
// TODO Auto-generated method stub
}
interface Driver extends RequestFactoryEditorDriver<UserProxy, UserEditor>
{
}
}
--
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/-/o20Vl3e2u7wJ.
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.