package org.greenstone.p2p;

import java.util.*;
import java.net.URL;

public class ListServersAction extends AbstractServerAction
{ public String LISTSERVERS = "ListServers";

  public ListServersAction(NameServer host)
  { super(host);
  }

  public String getActionName()
  { return LISTSERVERS;
  }
  
  public void doAction(URL forwarder, Map parameters)
  { this.propagateAction(forwarder, parameters);
  
    // Build a list of all servers
    AbstractClientResponse response = new AbstractClientResponse();

    Enumeration servers = this.host.servers();
    while (servers.hasMoreElements())
      { URL gsServer = (URL) servers.nextElement();
	System.out.println("Adding listserver item " + gsServer);

	response.addValue("Server", gsServer.toString());
      }
    response.setSuccessful(true);

    // Send it back to the forwarder right now...
    this.host.receiveResponse(forwarder, response);
  }
}