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 2016/03/07 09:58:31 UTC

[2/2] camel git commit: CAMEL-9672: ClassCastException with interceptFrom and using when with JMX. Thanks to Stephan Siano for the patch.

CAMEL-9672: ClassCastException with interceptFrom and using when with JMX. Thanks to Stephan Siano for the patch.


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

Branch: refs/heads/camel-2.16.x
Commit: 064005c0ac4a515afc58bb10f0f8597b769a4b89
Parents: 3660437
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Mar 7 09:25:38 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Mar 7 09:57:15 2016 +0100

----------------------------------------------------------------------
 .../DefaultManagementObjectStrategy.java        |  3 +-
 .../camel/management/mbean/ManagedFilter.java   |  9 ++--
 .../management/ManagedInterceptFromTest.java    | 54 ++++++++++++++++++++
 3 files changed, 60 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/064005c0/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index d30e4fe..c53cffb 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -96,6 +96,7 @@ import org.apache.camel.management.mbean.ManagedUnmarshal;
 import org.apache.camel.management.mbean.ManagedValidate;
 import org.apache.camel.management.mbean.ManagedWeightedLoadBalancer;
 import org.apache.camel.management.mbean.ManagedWireTapProcessor;
+import org.apache.camel.model.ExpressionNode;
 import org.apache.camel.model.LoadBalanceDefinition;
 import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.ProcessDefinition;
@@ -307,7 +308,7 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
             } else if (target instanceof RoutingSlip) {
                 answer = new ManagedRoutingSlip(context, (RoutingSlip) target, (org.apache.camel.model.RoutingSlipDefinition) definition);
             } else if (target instanceof FilterProcessor) {
-                answer = new ManagedFilter(context, (FilterProcessor) target, (org.apache.camel.model.FilterDefinition) definition);
+                answer = new ManagedFilter(context, (FilterProcessor) target, (ExpressionNode)definition);
             } else if (target instanceof LogProcessor) {
                 answer = new ManagedLog(context, (LogProcessor) target, definition);
             } else if (target instanceof LoopProcessor) {

http://git-wip-us.apache.org/repos/asf/camel/blob/064005c0/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedFilter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedFilter.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedFilter.java
index d84b40f..2d253b6 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedFilter.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedFilter.java
@@ -19,8 +19,7 @@ package org.apache.camel.management.mbean;
 import org.apache.camel.CamelContext;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.api.management.mbean.ManagedFilterMBean;
-import org.apache.camel.model.FilterDefinition;
-import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.model.ExpressionNode;
 import org.apache.camel.processor.FilterProcessor;
 
 /**
@@ -30,14 +29,14 @@ import org.apache.camel.processor.FilterProcessor;
 public class ManagedFilter extends ManagedProcessor implements ManagedFilterMBean {
     private final FilterProcessor processor;
 
-    public ManagedFilter(CamelContext context, FilterProcessor processor, FilterDefinition definition) {
+    public ManagedFilter(CamelContext context, FilterProcessor processor, ExpressionNode definition) {
         super(context, processor, definition);
         this.processor = processor;
     }
 
     @Override
-    public FilterDefinition getDefinition() {
-        return (FilterDefinition) super.getDefinition();
+    public ExpressionNode getDefinition() {
+        return (ExpressionNode) super.getDefinition();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/064005c0/camel-core/src/test/java/org/apache/camel/management/ManagedInterceptFromTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedInterceptFromTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedInterceptFromTest.java
new file mode 100644
index 0000000..0ea3050
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedInterceptFromTest.java
@@ -0,0 +1,54 @@
+/**
+ * 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.management;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ * @version 
+ */
+public class ManagedInterceptFromTest extends ManagementTestSupport {
+
+    public void testManageWithInterceptFrom() throws Exception {
+        // JMX tests dont work well on AIX CI servers (hangs them)
+        if (isPlatform("aix")) {
+            return;
+        }
+
+        MockEndpoint foo = getMockEndpoint("mock:foo");
+        foo.expectedMessageCount(1);
+        MockEndpoint intercepted = getMockEndpoint("mock:intercepted");
+        intercepted.setExpectedMessageCount(1);
+
+        template.sendBodyAndHeader("direct:start", "Hello World", "foo", "123");
+
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                interceptFrom().when(simple("${header.foo} == '123'")).to("mock:intercepted");
+                from("direct:start").to("mock:foo");
+            }
+        };
+    }
+
+}