View Javadoc

1   package de.orangecafe.amazonrcp.gui.commands;
2   
3   import org.springframework.richclient.command.support.AbstractActionCommandExecutor;
4   import org.springframework.richclient.application.ApplicationException;
5   import org.springframework.util.Assert;
6   
7   import java.util.Map;
8   
9   import com.amazon.webservices.awsecommerceservice._2007_04_04.Items;
10  import com.amazon.webservices.awsecommerceservice._2007_04_04.ItemSearchRequest;
11  import de.orangecafe.amazonrcp.service.ServiceException;
12  import de.orangecafe.amazonrcp.service.IAmazonService;
13  
14  /**
15   * @author Torsten Strasser
16   */
17  public class SearchCommandExecutor extends AbstractActionCommandExecutor {
18      private ItemSearchRequest _request;
19      private IAmazonService _service;
20  
21      public SearchCommandExecutor() {
22          internalSetEnabled(false);
23      }
24  
25      public void setAmazonService(final IAmazonService service) {
26          Assert.notNull(service);
27          _service = service;
28      }
29  
30      @Override
31      public void execute() {
32          search();
33      }
34  
35      @Override
36      public void execute(final Map map) {
37          _request = (ItemSearchRequest) map.get("request");
38  
39          internalSetEnabled(true);
40  
41          execute();
42      }
43  
44      private Items search() {
45          try {
46              return _service.search(_request);
47          } catch (ServiceException e) {
48              throw new ApplicationException(e);
49          }
50      }
51  }