You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whirr.apache.org by ph...@apache.org on 2010/09/30 23:02:36 UTC

svn commit: r1003262 - in /incubator/whirr/trunk: CHANGES.txt cli/src/main/java/org/apache/whirr/cli/Main.java core/src/main/java/org/apache/whirr/service/ServiceFactory.java

Author: phunt
Date: Thu Sep 30 21:02:36 2010
New Revision: 1003262

URL: http://svn.apache.org/viewvc?rev=1003262&view=rev
Log:
WHIRR-104. print available services in cli help string

Modified:
    incubator/whirr/trunk/CHANGES.txt
    incubator/whirr/trunk/cli/src/main/java/org/apache/whirr/cli/Main.java
    incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ServiceFactory.java

Modified: incubator/whirr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/CHANGES.txt?rev=1003262&r1=1003261&r2=1003262&view=diff
==============================================================================
--- incubator/whirr/trunk/CHANGES.txt (original)
+++ incubator/whirr/trunk/CHANGES.txt Thu Sep 30 21:02:36 2010
@@ -28,6 +28,8 @@ Trunk (unreleased changes)
     WHIRR-102. unknown service NPEs cli, should print the bad service
     to console (phunt)
 
+    WHIRR-104. print available services in cli help string (phunt)
+
 Release 0.1.0 - 2010-09-02
 
   INCOMPATIBLE CHANGES

Modified: incubator/whirr/trunk/cli/src/main/java/org/apache/whirr/cli/Main.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/cli/src/main/java/org/apache/whirr/cli/Main.java?rev=1003262&r1=1003261&r2=1003262&view=diff
==============================================================================
--- incubator/whirr/trunk/cli/src/main/java/org/apache/whirr/cli/Main.java (original)
+++ incubator/whirr/trunk/cli/src/main/java/org/apache/whirr/cli/Main.java Thu Sep 30 21:02:36 2010
@@ -18,18 +18,20 @@
 
 package org.apache.whirr.cli;
 
-import com.google.common.collect.Maps;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeSet;
 
 import org.apache.whirr.cli.command.DestroyClusterCommand;
 import org.apache.whirr.cli.command.LaunchClusterCommand;
 import org.apache.whirr.cli.command.VersionCommand;
+import org.apache.whirr.service.ServiceFactory;
+
+import com.google.common.collect.Maps;
 
 /**
  * The entry point for the Whirr CLI.
@@ -56,6 +58,13 @@ public class Main {
         out.printf("%" + maxLen + "s  %s\n", command.getName(),
             command.getDescription());
       }
+      out.println();
+      out.println("Available services:");
+      ServiceFactory serviceFactory = new ServiceFactory();
+      for (String serviceName :
+        new TreeSet<String>(serviceFactory.availableServices())) {
+        out.println("  " + serviceName);
+      }
       return -1;
     }
     Command command = commandMap.get(list.get(0));

Modified: incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ServiceFactory.java?rev=1003262&r1=1003261&r2=1003262&view=diff
==============================================================================
--- incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ServiceFactory.java (original)
+++ incubator/whirr/trunk/core/src/main/java/org/apache/whirr/service/ServiceFactory.java Thu Sep 30 21:02:36 2010
@@ -19,6 +19,9 @@
 package org.apache.whirr.service;
 
 import java.util.ServiceLoader;
+import java.util.Set;
+
+import com.google.common.collect.Sets;
 
 /**
  * This class is used to create {@link Service} instances.
@@ -44,4 +47,16 @@ public class ServiceFactory {
     }
     return null;
   }
+
+  /**
+   * Return a collection of available services.
+   * @return
+   */
+  public Set<String> availableServices() {
+    Set<String> result = Sets.newHashSet();
+    for (Service s : serviceLoader) {
+      result.add(s.getName());
+    }
+    return result;
+  }
 }