You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/12/03 12:48:56 UTC

svn commit: r1547349 - in /karaf/trunk: bundle/command/src/main/java/org/apache/karaf/bundle/command/ features/command/src/main/java/org/apache/karaf/features/command/ http/command/src/main/java/org/apache/karaf/http/command/ instance/command/src/main/...

Author: jbonofre
Date: Tue Dec  3 11:48:55 2013
New Revision: 1547349

URL: http://svn.apache.org/r1547349
Log:
[KARAF-2598] Add --no-format option to the commands using ShellTable

Modified:
    karaf/trunk/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
    karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
    karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
    karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
    karaf/trunk/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
    karaf/trunk/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
    karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
    karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
    karaf/trunk/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
    karaf/trunk/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
    karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
    karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
    karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
    karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
    karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
    karaf/trunk/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
    karaf/trunk/shell/table/src/main/java/org/apache/karaf/shell/table/ShellTable.java
    karaf/trunk/shell/table/src/test/java/org/apache/karaf/shell/tabletest/ShellTableTest.java
    karaf/trunk/web/command/src/main/java/org/apache/karaf/web/commands/List.java

Modified: karaf/trunk/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
URL: http://svn.apache.org/viewvc/karaf/trunk/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java (original)
+++ karaf/trunk/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java Tue Dec  3 11:48:55 2013
@@ -41,6 +41,9 @@ public class ListBundles extends OsgiCom
     @Option(name = "-t", valueToShowInHelp = "", description = "Specifies the bundle threshold; bundles with a start-level less than this value will not get printed out.", required = false, multiValued = false)
     int bundleLevelThreshold = -1;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     private BundleService bundleService;
 
     public void setBundleService(BundleService bundleService) {
@@ -79,7 +82,7 @@ public class ListBundles extends OsgiCom
                         info.getStartLevel(), version, name);
             }
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java (original)
+++ karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java Tue Dec  3 11:48:55 2013
@@ -23,6 +23,7 @@ import org.apache.karaf.features.Feature
 import org.apache.karaf.features.Repository;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "feature", name = "version-list", description = "Lists all versions of a feature available from the currently available repositories.")
@@ -31,6 +32,9 @@ public class ListFeatureVersionsCommand 
 	@Argument(index = 0, name = "feature", description = "Name of feature.", required = true, multiValued = false)
 	String feature;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected void doExecute(FeaturesService admin) throws Exception {
         ShellTable table = new ShellTable();
         table.column("Version");
@@ -47,7 +51,7 @@ public class ListFeatureVersionsCommand 
             }
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
     }
 
 }

Modified: karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java (original)
+++ karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java Tue Dec  3 11:48:55 2013
@@ -37,6 +37,9 @@ public class ListFeaturesCommand extends
     @Option(name = "-o", aliases = {"--ordered"}, description = "Display a list using alphabetical order ", required = false, multiValued = false)
     boolean ordered;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected void doExecute(FeaturesService featuresService) throws Exception {
         boolean needsLegend = false;
         
@@ -71,7 +74,7 @@ public class ListFeaturesCommand extends
             }
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         if (needsLegend) {
             System.out.println("* Installed via deploy directory");

Modified: karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java (original)
+++ karaf/trunk/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java Tue Dec  3 11:48:55 2013
@@ -29,8 +29,11 @@ import org.apache.karaf.shell.table.Shel
 @Command(scope = "feature", name = "repo-list", description = "Displays a list of all defined repositories.")
 public class RepoListCommand extends FeaturesCommandSupport {
 
-    @Option(name="-r", description="Reload all feature urls")
+    @Option(name="-r", description="Reload all feature urls", required = false, multiValued = false)
     boolean reload;
+
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
     
     protected void doExecute(FeaturesService featuresService) throws Exception {
         if (reload) {
@@ -46,7 +49,7 @@ public class RepoListCommand extends Fea
      	for (Repository repo : repos) {
      	    table.addRow().addContent(repo.getName(), repo.getURI().toString()); 
      	}
-     	table.print(System.out);
+     	table.print(System.out, !noFormat);
     }
 
     private void reloadAllRepos(FeaturesService featuresService) throws MultiException {

Modified: karaf/trunk/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java (original)
+++ karaf/trunk/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java Tue Dec  3 11:48:55 2013
@@ -21,6 +21,7 @@ import java.util.Arrays;
 import org.apache.karaf.http.core.ServletInfo;
 import org.apache.karaf.http.core.ServletService;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
 import org.apache.karaf.shell.table.Col;
 import org.apache.karaf.shell.table.ShellTable;
@@ -28,6 +29,9 @@ import org.apache.karaf.shell.table.Shel
 @Command(scope = "http", name = "list", description = "Lists details for servlets.")
 public class ServletListCommand extends OsgiCommandSupport {
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     private ServletService servletService;
     
     public ServletListCommand(ServletService servletService) {
@@ -48,7 +52,7 @@ public class ServletListCommand extends 
             table.addRow().addContent(info.getBundle().getBundleId(), info.getClassName(), info.getName(),
                                       info.getStateString(), info.getAlias(), Arrays.toString(info.getUrls()));
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
         return null;
     }
 

Modified: karaf/trunk/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java (original)
+++ karaf/trunk/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java Tue Dec  3 11:48:55 2013
@@ -30,6 +30,9 @@ public class ListCommand extends Instanc
     @Option(name = "-o", aliases = { "--java-opts" }, description = "Displays the Java options used to launch the JVM", required = false, multiValued = false)
     boolean javaOpts;
 
+    @Option(name = "--no-color", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected Object doExecute() throws Exception {
         getInstanceService().refreshInstance();
         Instance[] instances = getInstanceService().getInstances();
@@ -49,7 +52,7 @@ public class ListCommand extends Instanc
                     instance.getPid(),
                     getRightColumnValue(instance));
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
         return null;
     }
 

Modified: karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java (original)
+++ karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java Tue Dec  3 11:48:55 2013
@@ -19,6 +19,7 @@ import org.apache.karaf.shell.commands.C
 import org.apache.karaf.jaas.boot.ProxyLoginModule;
 import org.apache.karaf.jaas.config.JaasRealm;
 import org.apache.karaf.jaas.modules.BackingEngine;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 import javax.security.auth.login.AppConfigurationEntry;
@@ -27,6 +28,9 @@ import java.util.List;
 @Command(scope = "jaas", name = "realm-list", description = "List JAAS realms")
 public class ListRealmsCommand extends JaasCommandSupport {
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     @Override
     protected Object doExecute(BackingEngine engine) throws Exception {
         return null;
@@ -55,7 +59,7 @@ public class ListRealmsCommand extends J
             }
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java (original)
+++ karaf/trunk/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java Tue Dec  3 11:48:55 2013
@@ -21,6 +21,7 @@ import org.apache.karaf.shell.commands.C
 import org.apache.karaf.jaas.boot.principal.UserPrincipal;
 import org.apache.karaf.jaas.config.JaasRealm;
 import org.apache.karaf.jaas.modules.BackingEngine;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 import javax.security.auth.login.AppConfigurationEntry;
@@ -30,6 +31,9 @@ import java.util.List;
 @Command(scope = "jaas", name = "user-list", description = "List the users of the selected JAAS realm/login module")
 public class ListUsersCommand extends JaasCommandSupport {
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     @Override
     protected Object doExecute() throws Exception {
         JaasRealm realm = (JaasRealm) session.get(JAAS_REALM);
@@ -82,7 +86,7 @@ public class ListUsersCommand extends Ja
 
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java (original)
+++ karaf/trunk/kar/command/src/main/java/org/apache/karaf/kar/command/ListKarCommand.java Tue Dec  3 11:48:55 2013
@@ -17,10 +17,14 @@
 package org.apache.karaf.kar.command;
 
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "kar", name = "list", description = "List the installed KAR files.")
 public class ListKarCommand extends KarCommandSupport {
+
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
     
     public Object doExecute() throws Exception {
 
@@ -31,7 +35,7 @@ public class ListKarCommand extends KarC
             table.addRow().addContent(karName);
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java
URL: http://svn.apache.org/viewvc/karaf/trunk/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java (original)
+++ karaf/trunk/log/command/src/main/java/org/apache/karaf/log/command/GetLogLevel.java Tue Dec  3 11:48:55 2013
@@ -18,6 +18,7 @@ package org.apache.karaf.log.command;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 import java.util.Enumeration;
@@ -33,6 +34,9 @@ public class GetLogLevel extends LogComm
     @Argument(index = 0, name = "logger", description = "The name of the logger, ALL or ROOT (default)", required = false, multiValued = false)
     String logger;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected Object doExecute() throws Exception {
         Map<String, String> loggers = logService.getLevel(logger);
 
@@ -44,7 +48,7 @@ public class GetLogLevel extends LogComm
             table.addRow().addContent(logger, loggers.get(logger));
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java (original)
+++ karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListCommand.java Tue Dec  3 11:48:55 2013
@@ -24,6 +24,7 @@ import org.apache.karaf.shell.commands.A
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.apache.felix.service.command.CommandSession;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "obr", name = "list", description = "Lists OBR bundles, optionally providing the given packages.")
@@ -32,6 +33,9 @@ public class ListCommand implements Acti
     @Argument(index = 0, name = "packages", description = "A list of packages separated by whitespaces.", required = false, multiValued = true)
     List<String> packages;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     RepositoryAdmin repoAdmin;
 
     public void setRepoAdmin(RepositoryAdmin repoAdmin) {
@@ -77,7 +81,7 @@ public class ListCommand implements Acti
                     emptyIfNull(resource.getVersion()));
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 
         return null;
     }

Modified: karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java (original)
+++ karaf/trunk/obr/command/src/main/java/org/apache/karaf/obr/command/ListUrlCommand.java Tue Dec  3 11:48:55 2013
@@ -19,11 +19,15 @@ package org.apache.karaf.obr.command;
 import org.apache.felix.bundlerepository.Repository;
 import org.apache.felix.bundlerepository.RepositoryAdmin;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "obr", name = "url-list", description = "Displays the repository URLs currently associated with the OBR service.")
 public class ListUrlCommand extends ObrCommandSupport {
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected void doExecute(RepositoryAdmin admin) {
 
         ShellTable table = new ShellTable();
@@ -38,7 +42,7 @@ public class ListUrlCommand extends ObrC
             }
         }
 
-        table.print(System.out);
+        table.print(System.out, !noFormat);
     }
 
 }

Modified: karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java (original)
+++ karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Exports.java Tue Dec  3 11:48:55 2013
@@ -42,6 +42,9 @@ public class Exports extends OsgiCommand
     @Option(name = "-d", description = "Only show packages that are exported by more than one bundle", required = false, multiValued = false)
     private boolean onlyDuplicates;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     public Exports(PackageService packageService) {
         super();
         this.packageService = packageService;
@@ -70,7 +73,7 @@ public class Exports extends OsgiCommand
                 table.addRow().addContent(pVer.getPackageName(),pVer.getVersion().toString(), bundle.getBundleId(), bundle.getSymbolicName());
             }
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
 	}
     
     private void checkDuplicateExports() {
@@ -88,7 +91,7 @@ public class Exports extends OsgiCommand
             	table.addRow().addContent(pVer.getPackageName(), pVer.getVersion().toString(), pBundles); 
             }
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
     }
 
 	private String getBundlesSt(Set<Bundle> bundles) {

Modified: karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java
URL: http://svn.apache.org/viewvc/karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java (original)
+++ karaf/trunk/package/command/src/main/java/org/apache/karaf/packages/command/Imports.java Tue Dec  3 11:48:55 2013
@@ -33,6 +33,9 @@ public class Imports extends OsgiCommand
     @Option(name = "-p", description = "Only show package instead of full filter", required = false, multiValued = false)
     boolean onlyPackage;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     private PackageService packageService;
 
     public Imports(PackageService packageService) {
@@ -55,7 +58,7 @@ public class Imports extends OsgiCommand
             String firstCol = onlyPackage ? req.getPackageName() : req.getFilter();
             table.addRow().addContent(firstCol, req.isOptional() ? "optional" : "", bundle.getBundleId(), bundle.getSymbolicName(), req.isResolveable());
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
         return null;
     }
 

Modified: karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java (original)
+++ karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/impl/ThreadsAction.java Tue Dec  3 11:48:55 2013
@@ -22,6 +22,7 @@ import java.lang.management.ThreadMXBean
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.AbstractAction;
 import org.apache.karaf.shell.table.ShellTable;
 
@@ -35,6 +36,9 @@ public class ThreadsAction extends Abstr
     @Argument(name = "id", description="Show details for thread with this Id", required = false, multiValued = false)
     Long id;
 
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
+
     protected Object doExecute() throws Exception {
         ThreadMXBean threadsBean = ManagementFactory.getThreadMXBean();
         
@@ -69,7 +73,7 @@ public class ThreadsAction extends Abstr
             long id = ti.getThreadId();
             table.addRow().addContent(id, ti.getThreadName(), ti.getThreadState(), threadsBean.getThreadCpuTime(id) / 1000000, threadsBean.getThreadUserTime(id) / 1000000);
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
     }
 
 }

Modified: karaf/trunk/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java (original)
+++ karaf/trunk/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java Tue Dec  3 11:48:55 2013
@@ -121,7 +121,7 @@ public class CommandListHelpProvider imp
             String key = NameScoping.getCommandNameWithoutGlobalPrefix(session, entry.getKey());
             table.addRow().addContent(key, entry.getValue());
         }
-        table.print(out);
+        table.print(out, true);
     }
     
     protected Function unProxy(Function function) {

Modified: karaf/trunk/shell/table/src/main/java/org/apache/karaf/shell/table/ShellTable.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/table/src/main/java/org/apache/karaf/shell/table/ShellTable.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/shell/table/src/main/java/org/apache/karaf/shell/table/ShellTable.java (original)
+++ karaf/trunk/shell/table/src/main/java/org/apache/karaf/shell/table/ShellTable.java Tue Dec  3 11:48:55 2013
@@ -76,7 +76,13 @@ public class ShellTable {
         return this;
     }
 
-    public void print(PrintStream out)  {
+    public void print(PrintStream out) {
+        print(out, true);
+    }
+
+    public void print(PrintStream out, boolean format)  {
+
+        // "normal" table rendering, with borders
         Row headerRow = new Row(cols);
         headerRow.formatContent(cols);
         for (Row row : rows) {
@@ -87,7 +93,7 @@ public class ShellTable {
             tryGrowToMaxSize();
         }
 
-        if (showHeaders) {
+        if (format && showHeaders) {
             String headerLine = headerRow.getContent(cols, separator);
             out.println(headerLine);
             for (Col col : cols) {
@@ -97,10 +103,16 @@ public class ShellTable {
         }
 
         for (Row row : rows) {
-            out.println(row.getContent(cols, separator));
+            if (!format) {
+                if (separator == null || separator.equals(" | "))
+                    out.println(row.getContent(cols, "\t"));
+                else out.println(row.getContent(cols, separator));
+            } else {
+                out.println(row.getContent(cols, separator));
+            }
         }
 
-        if (rows.size() == 0 && emptyTableText != null) {
+        if (format && rows.size() == 0 && emptyTableText != null) {
             out.println(emptyTableText);
         }
     }

Modified: karaf/trunk/shell/table/src/test/java/org/apache/karaf/shell/tabletest/ShellTableTest.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/table/src/test/java/org/apache/karaf/shell/tabletest/ShellTableTest.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/shell/table/src/test/java/org/apache/karaf/shell/tabletest/ShellTableTest.java (original)
+++ karaf/trunk/shell/table/src/test/java/org/apache/karaf/shell/tabletest/ShellTableTest.java Tue Dec  3 11:48:55 2013
@@ -45,7 +45,7 @@ public class ShellTableTest {
 
         StringWriter writer = new StringWriter();
         PrintStream out = new PrintStream(new WriterOutputStream(writer));
-        table.print(out);
+        table.print(out, true);
         out.flush();
         String expected = 
                 "   id | Name                 |                Centered                \n" + 
@@ -66,7 +66,7 @@ public class ShellTableTest {
 
         StringWriter writer = new StringWriter();
         PrintStream out = new PrintStream(new WriterOutputStream(writer));
-        table.print(out);
+        table.print(out, true);
         out.flush();
         String expected = 
                 "1      | 2\n" + 
@@ -85,7 +85,7 @@ public class ShellTableTest {
 
         StringWriter writer = new StringWriter();
         PrintStream out = new PrintStream(new WriterOutputStream(writer));
-        table.print(out);
+        table.print(out, true);
         out.flush();
         String expected = //
                   "1     |  2\n" //
@@ -104,7 +104,7 @@ public class ShellTableTest {
 
         StringWriter writer = new StringWriter();
         PrintStream out = new PrintStream(new WriterOutputStream(writer));
-        table.print(out);
+        table.print(out, true);
         out.flush();
         String expected = //
                   "1     | \n" + // 
@@ -112,6 +112,39 @@ public class ShellTableTest {
                   "quite | \n";
         Assert.assertEquals(expected, getString(writer));
     }
+
+    @Test
+    public void testNoFormat() {
+        ShellTable table = new ShellTable();
+        table.column(new Col("first"));
+        table.column(new Col("second"));
+
+        table.addRow().addContent("first column", "second column");
+
+        StringWriter writer = new StringWriter();
+        PrintStream out = new PrintStream(new WriterOutputStream(writer));
+        table.print(out, false);
+        out.flush();
+        String expected = "first column\tsecond column\n";
+        Assert.assertEquals(expected, getString(writer));
+    }
+
+    @Test
+    public void testNoFormatWithCustomSeparator() {
+        ShellTable table = new ShellTable();
+        table.separator(";");
+        table.column(new Col("first"));
+        table.column(new Col("second"));
+
+        table.addRow().addContent("first column", "second column");
+
+        StringWriter writer = new StringWriter();
+        PrintStream out = new PrintStream(new WriterOutputStream(writer));
+        table.print(out, false);
+        out.flush();
+        String expected = "first column;second column\n";
+        Assert.assertEquals(expected, getString(writer));
+    }
     
     private String getString(StringWriter writer) {
         return writer.getBuffer().toString().replace("\r\n", "\n");

Modified: karaf/trunk/web/command/src/main/java/org/apache/karaf/web/commands/List.java
URL: http://svn.apache.org/viewvc/karaf/trunk/web/command/src/main/java/org/apache/karaf/web/commands/List.java?rev=1547349&r1=1547348&r2=1547349&view=diff
==============================================================================
--- karaf/trunk/web/command/src/main/java/org/apache/karaf/web/commands/List.java (original)
+++ karaf/trunk/web/command/src/main/java/org/apache/karaf/web/commands/List.java Tue Dec  3 11:48:55 2013
@@ -17,6 +17,7 @@
 package org.apache.karaf.web.commands;
 
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.console.OsgiCommandSupport;
 import org.apache.karaf.shell.table.Col;
 import org.apache.karaf.shell.table.ShellTable;
@@ -26,6 +27,9 @@ import org.apache.karaf.web.WebContainer
 
 @Command(scope = "web", name = "list", description = "Lists details for war bundles.")
 public class List extends OsgiCommandSupport {
+
+    @Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
+    boolean noFormat;
     
     private WebContainerService webContainerService;
     
@@ -55,7 +59,7 @@ public class List extends OsgiCommandSup
             }
             
         }
-        table.print(System.out);
+        table.print(System.out, !noFormat);
         return null;
     }