You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2011/11/28 16:33:56 UTC

svn commit: r1207306 - in /karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles: Restart.java Start.java Stop.java

Author: gnodet
Date: Mon Nov 28 15:33:55 2011
New Revision: 1207306

URL: http://svn.apache.org/viewvc?rev=1207306&view=rev
Log:
[KARAF-1040] Commands should not catch exceptions but should rethrow them

Modified:
    karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Restart.java
    karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Start.java
    karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Stop.java

Modified: karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Restart.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Restart.java?rev=1207306&r1=1207305&r2=1207306&view=diff
==============================================================================
--- karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Restart.java (original)
+++ karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Restart.java Mon Nov 28 15:33:55 2011
@@ -16,23 +16,33 @@
  */
 package org.apache.karaf.shell.bundles;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.console.MultiException;
 import org.osgi.framework.Bundle;
 
 @Command(scope = "bundle", name = "restart", description = "Restarts bundles.")
 public class Restart extends BundlesCommandWithConfirmation {
 
     protected void doExecute(List<Bundle> bundles) throws Exception {
+        List<Exception> exceptions = new ArrayList<Exception>();
         for (Bundle bundle : bundles) {
             try {
                 bundle.stop();
+            } catch (Exception e) {
+                exceptions.add(new Exception("Unable to stop bundle " + bundle.getBundleId()));
+            }
+        }
+        for (Bundle bundle : bundles) {
+            try {
                 bundle.start();
             } catch (Exception e) {
-                System.err.println(e.toString());
+                exceptions.add(new Exception("Unable to start bundle " + bundle.getBundleId()));
             }
         }
+        MultiException.throwIf("Error restarting bundles", exceptions);
     }
 
 }

Modified: karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Start.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Start.java?rev=1207306&r1=1207305&r2=1207306&view=diff
==============================================================================
--- karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Start.java (original)
+++ karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Start.java Mon Nov 28 15:33:55 2011
@@ -16,22 +16,26 @@
  */
 package org.apache.karaf.shell.bundles;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.console.MultiException;
 import org.osgi.framework.Bundle;
 
 @Command(scope = "bundle", name = "start", description = "Starts bundles.")
 public class Start extends BundlesCommandWithConfirmation {
     
     protected void doExecute(List<Bundle> bundles) throws Exception {
+        List<Exception> exceptions = new ArrayList<Exception>();
         for (Bundle bundle : bundles) {
             try {
                 bundle.start();
             } catch (Exception e) {
-                System.err.println(e.toString());
+                exceptions.add(new Exception("Unable to start bundle " + bundle.getBundleId()));
             }
         }
+        MultiException.throwIf("Error starting bundles", exceptions);
     }
 
 }

Modified: karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Stop.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Stop.java?rev=1207306&r1=1207305&r2=1207306&view=diff
==============================================================================
--- karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Stop.java (original)
+++ karaf/trunk/shell/bundles/src/main/java/org/apache/karaf/shell/bundles/Stop.java Mon Nov 28 15:33:55 2011
@@ -16,22 +16,26 @@
  */
 package org.apache.karaf.shell.bundles;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.console.MultiException;
 import org.osgi.framework.Bundle;
 
 @Command(scope = "bundle", name = "stop", description = "Stop bundles.")
 public class Stop extends BundlesCommandWithConfirmation {
 	
 	protected void doExecute(List<Bundle> bundles) throws Exception {
+        List<Exception> exceptions = new ArrayList<Exception>();
         for (Bundle bundle : bundles) {
             try {
                 bundle.stop();
             } catch (Exception e) {
-                System.err.println(e.toString());
+                exceptions.add(new Exception("Unable to stop bundle " + bundle.getBundleId()));
             }
         }
+        MultiException.throwIf("Error stopping bundles", exceptions);
     }
 
 }