You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/02/26 11:45:20 UTC

svn commit: r748074 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/ camel-core/src/main/java/org/apache/camel/model/ components/camel-web/src/main/java/org/apache/camel/web/resources/ components/camel-web/src/main/webapp/css/ compone...

Author: jstrachan
Date: Thu Feb 26 10:45:20 2009
New Revision: 748074

URL: http://svn.apache.org/viewvc?rev=748074&view=rev
Log:
CAMEL-1355 - added the status of the routes

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteType.java
    camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java
    camel/trunk/components/camel-web/src/main/webapp/css/site.css
    camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/index.jsp

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=748074&r1=748073&r2=748074&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java Thu Feb 26 10:45:20 2009
@@ -422,6 +422,9 @@
     }
 
     public void addRouteDefinitions(Collection<RouteType> routeDefinitions) throws Exception {
+        for (RouteType routeDefinition : routeDefinitions) {
+            routeDefinition.setCamelContext(this);
+        }
         this.routeDefinitions.addAll(routeDefinitions);
         if (shouldStartRoutes()) {
             startRouteDefinitions(routeDefinitions);
@@ -444,7 +447,7 @@
      * Returns the status of the service of the given ID or null if there is no service created yet
      */
     public ServiceStatus getRouteStatus(String key) {
-        RouteService routeService = routeServices.remove(key);
+        RouteService routeService = routeServices.get(key);
         if (routeService != null) {
             return routeService.getStatus();
         }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteType.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteType.java?rev=748074&r1=748073&r2=748074&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteType.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RouteType.java Thu Feb 26 10:45:20 2009
@@ -33,6 +33,7 @@
 import org.apache.camel.Endpoint;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.Route;
+import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.impl.DefaultRouteContext;
 import org.apache.camel.processor.interceptor.StreamCachingInterceptor;
@@ -74,6 +75,17 @@
         return "Route[" + inputs + " -> " + outputs + "]";
     }
 
+
+    /**
+     * Returns the status of the route if it has been registered with a {@link CamelContext}
+     */
+    public ServiceStatus getStatus() {
+        if (camelContext != null) {
+            return camelContext.getRouteStatus(this);
+        }
+        return null;
+    }
+
     public List<RouteContext> addRoutes(CamelContext context, Collection<Route> routes) throws Exception {
         List<RouteContext> answer = new ArrayList<RouteContext>();
         setCamelContext(context);

Modified: camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java?rev=748074&r1=748073&r2=748074&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java (original)
+++ camel/trunk/components/camel-web/src/main/java/org/apache/camel/web/resources/ConvertersResource.java Thu Feb 26 10:45:20 2009
@@ -18,6 +18,7 @@
 package org.apache.camel.web.resources;
 
 import org.apache.camel.impl.converter.DefaultTypeConverter;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -62,16 +63,9 @@
 */
 
     public ConvertersFromResource getConvertersFrom(@PathParam("type") String typeName) {
-        Class type;
-        try {
-            type = Thread.currentThread().getContextClassLoader().loadClass(typeName);
-        } catch (ClassNotFoundException e) {
-            try {
-                type = getClass().getClassLoader().loadClass(typeName);
-            } catch (ClassNotFoundException e1) {
-                LOG.debug("Could not find class " + typeName + ". Reason: " + e, e);
-                return null;
-            }
+        Class type = ObjectHelper.loadClass(typeName, getClass().getClassLoader());
+        if (type == null) {
+            return null;
         }
         return new ConvertersFromResource(getContextResource(), type);
     }

Modified: camel/trunk/components/camel-web/src/main/webapp/css/site.css
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/css/site.css?rev=748074&r1=748073&r2=748074&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/css/site.css (original)
+++ camel/trunk/components/camel-web/src/main/webapp/css/site.css Thu Feb 26 10:45:20 2009
@@ -204,3 +204,19 @@
   text-align:center;
   color: #a0a0a0;
 }
+
+.Starting {
+  color: yellow;
+}
+
+.Started {
+  color: green;
+}
+
+.Stopped {
+  color: red;
+}
+
+.Stopping {
+  color: brown;
+}
\ No newline at end of file

Modified: camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/index.jsp
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/index.jsp?rev=748074&r1=748073&r2=748074&view=diff
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/index.jsp (original)
+++ camel/trunk/components/camel-web/src/main/webapp/org/apache/camel/web/resources/RoutesResource/index.jsp Thu Feb 26 10:45:20 2009
@@ -7,11 +7,23 @@
 
 <h2>Routes</h2>
 
+<table>
+  <tr>
+    <th>Route</th>
+    <th>Status</th>
+  </tr>
 <ul>
   <c:forEach var="i" items="${it.routes}">
-    <li><a href='<c:url value="/routes/${i.id}"/>'>${i.shortName}</a> ${i.description}
+  <tr>
+    <td>
+      <a href='<c:url value="/routes/${i.id}"/>'>${i.shortName}</a> ${i.description}
+    </td>
+    <td class="${i.status}">
+      ${i.status}
+    </td>
   </c:forEach>
 </ul>
+</table>
 
 </body>
 </html>