Hello all,

      I have a Composite with Widgets that are populated from the 
database.  Let's assume I need to add new Item object and ID for this 
object comes from database after object is persisted on the server. So I 
did:

      

private void addItem(String title, String description) {
          ItemDTO itemDto = new ItemDTO(0L, title, description, false); 
          todoService.saveItem(itemDto, new AsyncCallback<ItemDTO>() {
            @Override
            public void onFailure(Throwable caught) {
                Window.alert("Failed to save item");
            }
            @Override
            public void onSuccess(ItemDTO itemDto) {
                Window.alert("Item saved");
                item.setId(itemDto.getId());
                item.setTitle(itemDto.getTitle());
                item.setDescription(itemDto.getDescription());
                content.add(item);
            }
            
        });

       
       This way Item is added to database, but Window.alert is not shown 
and UI does not show the item newly added.
       If I did this way:
 

private void addItem(String title, String description) {
        Item item = new Item();
        item.setTitle(title);
        item.setDescription(description);
        content.add(item);
        ItemDTO itemDto = new ItemDTO(0L, title, description, false);
        todoService.saveItem(itemDto, new AsyncCallback<Long>() {
            @Override
            public void onFailure(Throwable caught) {
                Window.alert("Failed to save item");
            }

            @Override
            public void onSuccess(Long id) {
                Window.alert("Item saved");
                updateItem(id);
            }

        });
    }

    private void updateItem(Long id) {
        Item item = (Item) content.getWidget(content.getWidgetCount()-1);
        item.setId(id);
    }

         Everything works as expected, but "update" item logic is a bit 
dangerous. Why I can't add item object in callback?  What's wrong with a 
first example?

Thank you.

-- 
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.

Reply via email to