Author: cschneider
Date: Mon Jan 21 15:56:47 2013
New Revision: 1436431

URL: http://svn.apache.org/viewvc?rev=1436431&view=rev
Log:
CAMEL-5968 Consolidate route commands using actract command

Added:
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
   (with props)
Modified:
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
    
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteSuspend.java

Added: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java?rev=1436431&view=auto
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
 (added)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
 Mon Jan 21 15:56:47 2013
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.karaf.commands;
+
+import java.util.List;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Route;
+import org.apache.camel.karaf.commands.internal.RegexUtil;
+import org.apache.felix.gogo.commands.Argument;
+import org.apache.karaf.shell.console.OsgiCommandSupport;
+
+public abstract class AbstractRouteCommand extends OsgiCommandSupport {
+    @Argument(index = 0, name = "route", description = "The Camel route ID or 
a wildcard expression", required = true, multiValued = false)
+    String route;
+
+    @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
+    String context;
+
+    private CamelController camelController;
+
+    public void setCamelController(CamelController camelController) {
+        this.camelController = camelController;
+    }
+    
+    public abstract void executeOnRoute(CamelContext camelContext, Route 
camelRoute) throws Exception;
+    
+    public Object doExecute() throws Exception {
+        List<Route> camelRoutes = camelController.getRoutes(context, 
RegexUtil.wildcardAsRegex(route));
+        if (camelRoutes == null || camelRoutes.isEmpty()) {
+            System.err.println("Camel routes using " + route + " not found.");
+            return null;
+        }
+        for (Route camelRoute : camelRoutes) {
+            CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
+            executeOnRoute(camelContext, camelRoute);
+        }
+
+        return null;
+    }
+}

Propchange: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java?rev=1436431&r1=1436430&r2=1436431&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java
 Mon Jan 21 15:56:47 2013
@@ -16,44 +16,20 @@
  */
 package org.apache.camel.karaf.commands;
 
-import java.util.List;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
-import org.apache.camel.karaf.commands.internal.RegexUtil;
-import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
 
 /**
  * Command to resume a route.
  */
 @Command(scope = "camel", name = "route-resume", description = "Resume a Camel 
route or a group of routes.")
-public class RouteResume extends OsgiCommandSupport {
-
-    @Argument(index = 0, name = "route", description = "The Camel route ID or 
a wildcard expression.", required = true, multiValued = false)
-    String route;
-
-    @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
-    String context;
-
-    private CamelController camelController;
-
-    public void setCamelController(CamelController camelController) {
-        this.camelController = camelController;
-    }
+public class RouteResume extends AbstractRouteCommand {
 
-    public Object doExecute() throws Exception {
-        List<Route> camelRoutes = camelController.getRoutes(context, 
RegexUtil.wildcardAsRegex(route));
-        if (camelRoutes == null) {
-            System.err.println("Camel routes using  " + route + " not found.");
-            return null;
-        }
-        for (Route camelRoute : camelRoutes) {
-            CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
-            camelContext.resumeRoute(camelRoute.getId());
-        }
-        return null;
-    }
+       @Override
+       public void executeOnRoute(CamelContext camelContext, Route camelRoute)
+                       throws Exception {
+               camelContext.resumeRoute(camelRoute.getId());
+       }
 
 }

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java?rev=1436431&r1=1436430&r2=1436431&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java
 Mon Jan 21 15:56:47 2013
@@ -16,45 +16,19 @@
  */
 package org.apache.camel.karaf.commands;
 
-import java.util.List;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
-import org.apache.camel.karaf.commands.internal.RegexUtil;
-import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
 
 /**
  * Command to start a route.
  */
 @Command(scope = "camel", name = "route-start", description = "Start a Camel 
route or a group of routes")
-public class RouteStart extends OsgiCommandSupport {
-
-    @Argument(index = 0, name = "route", description = "The Camel route ID or 
a wildcard expression", required = true, multiValued = false)
-    String route;
-
-    @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
-    String context;
-
-    private CamelController camelController;
-
-    public void setCamelController(CamelController camelController) {
-        this.camelController = camelController;
-    }
-
-    public Object doExecute() throws Exception {
-        List<Route> camelRoutes = camelController.getRoutes(context, 
RegexUtil.wildcardAsRegex(route));
-        if (camelRoutes == null || camelRoutes.isEmpty()) {
-            System.err.println("Camel routes using " + route + " not found.");
-            return null;
-        }
-        for (Route camelRoute : camelRoutes) {
-            CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
-            camelContext.startRoute(camelRoute.getId());
-        }
+public class RouteStart extends AbstractRouteCommand {
 
-        return null;
-    }
+       @Override
+       public void executeOnRoute(CamelContext camelContext, Route camelRoute) 
throws Exception {
+               camelContext.startRoute(camelRoute.getId());
+       }
 
 }

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java?rev=1436431&r1=1436430&r2=1436431&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java
 Mon Jan 21 15:56:47 2013
@@ -16,55 +16,19 @@
  */
 package org.apache.camel.karaf.commands;
 
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
-import org.apache.camel.karaf.commands.internal.RegexUtil;
-import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
-import org.apache.felix.gogo.commands.Option;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
 
 /**
  * Command to stop a route.
  */
 @Command(scope = "camel", name = " route-stop", description = "Stop a Camel 
route or a group of routes.")
-public class RouteStop extends OsgiCommandSupport {
-
-    @Argument(index = 0, name = "route", description = "The Camel route ID or 
a wildcard expression.", required = true, multiValued = false)
-    String route;
-
-    @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
-    String context;
-    
-    @Option(name = "-t", valueToShowInHelp = "", description = "Specifies the 
timeout in seconds which is used to stop a route.", required = false, 
multiValued = false)
-    int timeout = -1;
-
-
-    private CamelController camelController;
-
-    public void setCamelController(CamelController camelController) {
-        this.camelController = camelController;
-    }
-
-    public Object doExecute() throws Exception {
-        List<Route> camelRoutes = camelController.getRoutes(context, 
RegexUtil.wildcardAsRegex(route));
-        if (camelRoutes == null || camelRoutes.isEmpty()) {
-            System.err.println("Camel routes using " + route + " not found.");
-            return null;
-        }
-        for (Route camelRoute : camelRoutes) {
-            CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
-            if (timeout > 0) {
-                camelContext.stopRoute(camelRoute.getId(), timeout, 
TimeUnit.SECONDS);
-            } else {
-                camelContext.stopRoute(camelRoute.getId());
-            }
-        }
+public class RouteStop extends AbstractRouteCommand {
 
-        return null;
-    }
+       @Override
+       public void executeOnRoute(CamelContext camelContext, Route camelRoute) 
throws Exception {
+       camelContext.stopRoute(camelRoute.getId());
+       }
 
 }

Modified: 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteSuspend.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteSuspend.java?rev=1436431&r1=1436430&r2=1436431&view=diff
==============================================================================
--- 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteSuspend.java
 (original)
+++ 
camel/trunk/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteSuspend.java
 Mon Jan 21 15:56:47 2013
@@ -16,45 +16,19 @@
  */
 package org.apache.camel.karaf.commands;
 
-import java.util.List;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
-import org.apache.camel.karaf.commands.internal.RegexUtil;
-import org.apache.felix.gogo.commands.Argument;
 import org.apache.felix.gogo.commands.Command;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
 
 /**
  * Command to suspend a route.
  */
 @Command(scope = "camel", name = " route-suspend", description = "Suspend a 
Camel route or a group of routes.")
-public class RouteSuspend extends OsgiCommandSupport {
-
-    @Argument(index = 0, name = "route", description = "The Camel route ID or 
a wildcard expression.", required = true, multiValued = false)
-    String route;
-
-    @Argument(index = 1, name = "context", description = "The Camel context 
name.", required = false, multiValued = false)
-    String context;
-
-    private CamelController camelController;
-
-    public void setCamelController(CamelController camelController) {
-        this.camelController = camelController;
-    }
-
-    public Object doExecute() throws Exception {
-        List<Route> camelRoutes = camelController.getRoutes(context, 
RegexUtil.wildcardAsRegex(route));
-        if (camelRoutes == null || camelRoutes.isEmpty()) {
-            System.err.println("Camel routes using " + route + " not found.");
-            return null;
-        }
-        for (Route camelRoute : camelRoutes) {
-            CamelContext camelContext = 
camelRoute.getRouteContext().getCamelContext();
-            camelContext.suspendRoute(camelRoute.getId());
-        }
+public class RouteSuspend extends AbstractRouteCommand {
 
-        return null;
-    }
+       @Override
+       public void executeOnRoute(CamelContext camelContext, Route camelRoute) 
throws Exception {
+               camelContext.suspendRoute(camelRoute.getId());
+       }
 
 }


Reply via email to