View Javadoc

1   package nl.toolforge.karma.cli.cmd;
2   
3   import nl.toolforge.karma.core.cmd.CommandDescriptor;
4   import nl.toolforge.karma.core.cmd.CommandException;
5   import nl.toolforge.karma.core.cmd.CommandResponse;
6   import nl.toolforge.karma.core.cmd.DefaultCommand;
7   import nl.toolforge.karma.core.cmd.event.MessageEvent;
8   import nl.toolforge.karma.core.cmd.event.SimpleMessage;
9   import nl.toolforge.karma.core.location.Location;
10  import nl.toolforge.karma.core.location.LocationException;
11  import org.apache.commons.lang.StringUtils;
12  
13  import java.util.Iterator;
14  import java.util.Map;
15  
16  /***
17   * Lists all manifests in the working contexts' location store.
18   *
19   * @author D.A. Smedes
20   * @version $Id: ListLocations.java,v 1.1 2004/10/21 06:45:41 asmedes Exp $
21   */
22  public class ListLocations extends DefaultCommand {
23  
24    private CommandResponse response = new CommandResponse();
25  
26    public ListLocations(CommandDescriptor descriptor) {
27      super(descriptor);
28    }
29  
30    public void execute() throws CommandException {
31  
32      Map locations = null;
33      try {
34        locations = getWorkingContext().getLocationLoader().getLocations();
35      } catch (LocationException e) {
36        throw new CommandException(e.getErrorCode(), e.getMessageArguments());
37      }
38  
39      StringBuffer buffer = new StringBuffer();
40  
41      buffer.append("| Id" + StringUtils.repeat(" ", 11) + " |");
42      buffer.append(" Type" + StringUtils.repeat(" ", 5) + " |");
43      buffer.append(" Connection String" + StringUtils.repeat(" ", 51) + " |\n");
44  
45      buffer.append("|" + StringUtils.repeat("_", 98) + "|\n");
46  
47      for (Iterator i = locations.values().iterator(); i.hasNext();) {
48  
49        Location location = (Location) i.next();
50  
51        buffer.append("| " + location.getId() + StringUtils.repeat(" ", 14 - location.getId().length()));
52        buffer.append("| " + location.getType() + StringUtils.repeat(" ", 10 - location.getType().toString().length()));
53        buffer.append("| " + location.toString() + StringUtils.repeat(" ", 69 - location.toString().length()) + "|\n");
54      }
55  
56      response.addEvent(new MessageEvent(new SimpleMessage(buffer.toString())));
57  
58    }
59  
60    public CommandResponse getCommandResponse() {
61      return response;
62    }
63  
64  }