Modified the code , it is working now. Thanks for the help
//
//Method in the ComposerEditorContainer class
//
public ComposerProxy save() {
ComposerRequest composerRequest = (ComposerRequest) editorDriver
.flush();
final ComposerProxy newProxy = composerRequest.edit(composer);
composerRequest.persist(newProxy).fire(new Receiver<Boolean>() {
public void onSuccess(Boolean arg0) {
if (arg0)
presenter.updateEditor();
}});
return newProxy;
}
//
//Method in the presenter
//
public void updateEditor() {
requestFactory = GWT.create(AppRequestFactory.class);
requestFactory.initialize(new SimpleEventBus());
ComposerRequest request = requestFactory.getComposerRequest();
Request<ComposerProxy> req = request.findComposer(selectedComposer
.getId());
req.fire(new Receiver<ComposerProxy>() {
public void onSuccess(ComposerProxy arg0) {
selectedComposer = arg0;
editorContainer.setComposer(selectedComposer);
editorContainer.edit(requestFactory.getComposerRequest());
view.clear();
view.addWidget(editorContainer);
}});
}
public void registerEvents() {
eventBus.addHandler(SaveButtonClickedEvent.TYPE,
new SaveButtonClickedEventHandler() {
@Override
public void onSaveButtonClicked(SaveButtonClickedEvent event) {
selectedComposer = ((ComposerEditorContainer)
editorContainer).save();
}
});
eventBus.addHandler(BrowserItemClickedEvent.TYPE,
new BrowserItemClickedEventHandler() {
@Override
public void onBrowserItemClicked(
BrowserItemClickedEvent event) {
requestFactory = GWT.create(AppRequestFactory.class);
requestFactory.initialize(new SimpleEventBus());
ComposerRequest request = requestFactory
.getComposerRequest();
Request<ComposerProxy> req = request.findComposer(event
.getclickedItem().getValue());
req.fire(new Receiver<ComposerProxy>() {
public void onSuccess(ComposerProxy arg0) {
selectedComposer = arg0;
editorContainer.setComposer(selectedComposer);
editorContainer.edit(requestFactory
.getComposerRequest());
view.clear();
view.addWidget(editorContainer);
}
});
}});