You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/03/06 10:26:34 UTC

[1/2] camel git commit: CAMEL-8443: Added routeDescription to java dsl to make it easier to set it. And use that for route description over JMX.

Repository: camel
Updated Branches:
  refs/heads/master 5cddef75f -> 4a0dfd0b6


CAMEL-8443: Added routeDescription to java dsl to make it easier to set it. And use that for route description over JMX.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d43d1028
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d43d1028
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d43d1028

Branch: refs/heads/master
Commit: d43d1028d1b12be5f749b7c4c1f4eaa7a1568317
Parents: 5cddef7
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Mar 6 09:49:45 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Mar 6 09:49:45 2015 +0100

----------------------------------------------------------------------
 .../src/main/java/org/apache/camel/Route.java   | 10 ++++++++++
 .../org/apache/camel/impl/DefaultRoute.java     |  5 +++++
 .../apache/camel/impl/DefaultRouteContext.java  |  1 +
 .../camel/management/mbean/ManagedRoute.java    |  2 +-
 .../apache/camel/model/ProcessorDefinition.java | 20 ++++++++++++++++++++
 .../org/apache/camel/model/RouteDefinition.java | 13 +++++++++++++
 .../ManagedRouteStopAndStartTest.java           |  8 +++++++-
 7 files changed, 57 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/Route.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/Route.java b/camel-core/src/main/java/org/apache/camel/Route.java
index e53c42c..162f07a 100644
--- a/camel-core/src/main/java/org/apache/camel/Route.java
+++ b/camel-core/src/main/java/org/apache/camel/Route.java
@@ -36,6 +36,7 @@ public interface Route extends EndpointAware {
     String PARENT_PROPERTY = "parent";
     String GROUP_PROPERTY = "group";
     String REST_PROPERTY = "rest";
+    String DESCRIPTION_PROPERTY = "description";
 
     /**
      * Gets the route id
@@ -66,6 +67,15 @@ public interface Route extends EndpointAware {
     Map<String, Object> getProperties();
 
     /**
+     * Gets the route description (if any has been configured).
+     * <p/>
+     * The description is configured using the {@link #DESCRIPTION_PROPERTY} as key in the {@link #getProperties()}.
+     *
+     * @return the description, or <tt>null</tt> if no description has been configured.
+     */
+    String getDescription();
+
+    /**
      * Gets the route context
      *
      * @return the route context

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/impl/DefaultRoute.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRoute.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRoute.java
index 61b1e62..0d214c0 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRoute.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRoute.java
@@ -76,6 +76,11 @@ public abstract class DefaultRoute extends ServiceSupport implements Route {
         return properties;
     }
 
+    public String getDescription() {
+        Object value = properties.get(Route.DESCRIPTION_PROPERTY);
+        return value != null ? value.toString() : null;
+    }
+
     public void onStartingServices(List<Service> services) throws Exception {
         addServices(services);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
index 39b6089..52e4328 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
@@ -196,6 +196,7 @@ public class DefaultRouteContext implements RouteContext {
             Route edcr = new EventDrivenConsumerRoute(this, getEndpoint(), internal);
             edcr.getProperties().put(Route.ID_PROPERTY, routeId);
             edcr.getProperties().put(Route.PARENT_PROPERTY, Integer.toHexString(route.hashCode()));
+            edcr.getProperties().put(Route.DESCRIPTION_PROPERTY, route.getDescriptionText());
             if (route.getGroup() != null) {
                 edcr.getProperties().put(Route.GROUP_PROPERTY, route.getGroup());
             }

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 631a0e0..3bd1dad 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -63,7 +63,7 @@ public class ManagedRoute extends ManagedPerformanceCounter implements TimerList
     public ManagedRoute(ModelCamelContext context, Route route) {
         this.route = route;
         this.context = context;
-        this.description = route.toString();
+        this.description = route.getDescription();
         boolean enabled = context.getManagementStrategy().getStatisticsLevel() != ManagementStatisticsLevel.Off;
         setStatisticsEnabled(enabled);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
index 3a114a8..7d440f8 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
@@ -960,6 +960,26 @@ public abstract class ProcessorDefinition<Type extends ProcessorDefinition<Type>
     }
 
     /**
+     * Set the route description for this route
+     *
+     * @param description the route description
+     * @return the builder
+     */
+    @SuppressWarnings("unchecked")
+    public Type routeDescription(String description) {
+        ProcessorDefinition<?> def = this;
+
+        RouteDefinition route = ProcessorDefinitionHelper.getRoute(def);
+        if (route != null) {
+            DescriptionDefinition desc = new DescriptionDefinition();
+            desc.setText(description);
+            route.setDescription(desc);
+        }
+
+        return (Type) this;
+    }
+
+    /**
      * <a href="http://camel.apache.org/multicast.html">Multicast EIP:</a>
      * Multicasts messages to all its child outputs; so that each processor and
      * destination gets a copy of the original message to avoid the processors

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java b/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
index 5533090..54e7e55 100644
--- a/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -364,6 +364,19 @@ public class RouteDefinition extends ProcessorDefinition<RouteDefinition> {
     }
 
     /**
+     * Set the route description for this route
+     *
+     * @param description the route description
+     * @return the builder
+     */
+    public RouteDefinition routeDescription(String description) {
+        DescriptionDefinition desc = new DescriptionDefinition();
+        desc.setText(description);
+        setDescription(desc);
+        return this;
+    }
+
+    /**
      * Disable stream caching for this route.
      *
      * @return the builder

http://git-wip-us.apache.org/repos/asf/camel/blob/d43d1028/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopAndStartTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopAndStartTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopAndStartTest.java
index 3f08854..b6d6aa7 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopAndStartTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteStopAndStartTest.java
@@ -56,6 +56,12 @@ public class ManagedRouteStopAndStartTest extends ManagementTestSupport {
         String state = (String) mbeanServer.getAttribute(on, "State");
         assertEquals("Should be started", ServiceStatus.Started.name(), state);
 
+        String id = (String) mbeanServer.getAttribute(on, "RouteId");
+        assertEquals("foo", id);
+
+        String description = (String) mbeanServer.getAttribute(on, "Description");
+        assertEquals("This is the foo route", description);
+
         // stop
         mbeanServer.invoke(on, "stop", null, null);
 
@@ -98,7 +104,7 @@ public class ManagedRouteStopAndStartTest extends ManagementTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("file://target/managed")
+                from("file://target/managed").routeId("foo").routeDescription("This is the foo route")
                     .convertBodyTo(String.class)
                     .to("mock:result");
             }


[2/2] camel git commit: CAMEL-8443: Added routeDescription to java dsl to make it easier to set it. And use that for route description over JMX.

Posted by da...@apache.org.
CAMEL-8443: Added routeDescription to java dsl to make it easier to set it. And use that for route description over JMX.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4a0dfd0b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4a0dfd0b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4a0dfd0b

Branch: refs/heads/master
Commit: 4a0dfd0b6731b70453e46d2fe48f035991a070f7
Parents: d43d102
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Mar 6 10:27:53 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Mar 6 10:27:53 2015 +0100

----------------------------------------------------------------------
 .../src/main/resources/META-INF/spring/camel-context.xml          | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/4a0dfd0b/examples/camel-example-management/src/main/resources/META-INF/spring/camel-context.xml
----------------------------------------------------------------------
diff --git a/examples/camel-example-management/src/main/resources/META-INF/spring/camel-context.xml b/examples/camel-example-management/src/main/resources/META-INF/spring/camel-context.xml
index fb9a263..56e1f7e 100644
--- a/examples/camel-example-management/src/main/resources/META-INF/spring/camel-context.xml
+++ b/examples/camel-example-management/src/main/resources/META-INF/spring/camel-context.xml
@@ -32,12 +32,14 @@
     <jmxAgent id="agent" createConnector="true" loadStatisticsEnabled="true"/>
 
     <route>
+      <description>Route that creates input files</description>
       <from uri="timer://inbox?period=5000"/>
       <bean beanType="org.apache.camel.example.management.StockService" method="createRandomStocks"/>
       <to uri="file://target/inbox"/>
     </route>
 
     <route>
+      <description>Route that pickup incoming files and split into messages with stock prices</description>
       <from uri="file://target/inbox"/>
       <split>
         <xpath>/stocks/stock</xpath>
@@ -50,6 +52,7 @@
     </route>
 
     <route>
+      <description>Route that process stock prices and logs</description>
       <from uri="activemq:queue:stock"/>
       <delay>
         <constant>100</constant>