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 2017/10/14 12:49:42 UTC
camel git commit: CAMEL-11910: camel-maven-plugin - validate should
not include route ids as consumer urls
Repository: camel
Updated Branches:
refs/heads/camel-2.20.x f6d794f7d -> 0fe49998e
CAMEL-11910: camel-maven-plugin - validate should not include route ids as consumer urls
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0fe49998
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0fe49998
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0fe49998
Branch: refs/heads/camel-2.20.x
Commit: 0fe49998eac127969e8d9111aec9a02912d5a3b9
Parents: f6d794f
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Oct 14 14:44:55 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Oct 14 14:49:14 2017 +0200
----------------------------------------------------------------------
.../apache/camel/parser/RouteBuilderParser.java | 4 +--
.../parser/helper/CamelJavaParserHelper.java | 28 +++++++++++++-------
...DuplicateIdBuilderDCamelTestSupportTest.java | 8 +++---
.../camel/parser/java/SimpleProcessorTest.java | 2 +-
4 files changed, 27 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0fe49998/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/RouteBuilderParser.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/RouteBuilderParser.java b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/RouteBuilderParser.java
index d38e1d6..5be3a71 100644
--- a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/RouteBuilderParser.java
+++ b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/RouteBuilderParser.java
@@ -284,10 +284,10 @@ public final class RouteBuilderParser {
MethodSource<JavaClassSource> method = CamelJavaParserHelper.findConfigureMethod(clazz);
if (method != null) {
- List<ParserResult> expressions = CamelJavaParserHelper.parseCamelConsumerUris(method, true, false);
+ List<ParserResult> expressions = CamelJavaParserHelper.parseCamelRouteIds(method);
for (ParserResult result : expressions) {
// route ids is assigned in java dsl using the routeId method
- if (result.isParsed() && "routeId".equals(result.getNode())) {
+ if (result.isParsed()) {
String fileName = fullyQualifiedFileName;
if (fileName.startsWith(baseDir)) {
fileName = fileName.substring(baseDir.length() + 1);
http://git-wip-us.apache.org/repos/asf/camel/blob/0fe49998/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
index 57c5102..cad1166 100644
--- a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
+++ b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
@@ -19,6 +19,7 @@ package org.apache.camel.parser.helper;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
import org.apache.camel.parser.ParserResult;
import org.apache.camel.parser.RouteBuilderParser;
@@ -167,16 +168,20 @@ public final class CamelJavaParserHelper {
return null;
}
+ public static List<ParserResult> parseCamelRouteIds(MethodSource<JavaClassSource> method) {
+ return doParseCamelUris(method, true, false, true, false, true);
+ }
+
public static List<ParserResult> parseCamelConsumerUris(MethodSource<JavaClassSource> method, boolean strings, boolean fields) {
- return doParseCamelUris(method, true, false, strings, fields);
+ return doParseCamelUris(method, true, false, strings, fields, false);
}
public static List<ParserResult> parseCamelProducerUris(MethodSource<JavaClassSource> method, boolean strings, boolean fields) {
- return doParseCamelUris(method, false, true, strings, fields);
+ return doParseCamelUris(method, false, true, strings, fields, false);
}
private static List<ParserResult> doParseCamelUris(MethodSource<JavaClassSource> method, boolean consumers, boolean producers,
- boolean strings, boolean fields) {
+ boolean strings, boolean fields, boolean routeIdsOnly) {
List<ParserResult> answer = new ArrayList<ParserResult>();
@@ -191,7 +196,7 @@ public final class CamelJavaParserHelper {
Expression exp = es.getExpression();
List<ParserResult> uris = new ArrayList<ParserResult>();
- parseExpression(method.getOrigin(), block, exp, uris, consumers, producers, strings, fields);
+ parseExpression(method.getOrigin(), block, exp, uris, consumers, producers, strings, fields, routeIdsOnly);
if (!uris.isEmpty()) {
// reverse the order as we will grab them from last->first
Collections.reverse(uris);
@@ -206,24 +211,24 @@ public final class CamelJavaParserHelper {
}
private static void parseExpression(JavaClassSource clazz, Block block, Expression exp, List<ParserResult> uris,
- boolean consumers, boolean producers, boolean strings, boolean fields) {
+ boolean consumers, boolean producers, boolean strings, boolean fields, boolean routeIdsOnly) {
if (exp == null) {
return;
}
if (exp instanceof MethodInvocation) {
MethodInvocation mi = (MethodInvocation) exp;
- doParseCamelUris(clazz, block, mi, uris, consumers, producers, strings, fields);
+ doParseCamelUris(clazz, block, mi, uris, consumers, producers, strings, fields, routeIdsOnly);
// if the method was called on another method, then recursive
exp = mi.getExpression();
- parseExpression(clazz, block, exp, uris, consumers, producers, strings, fields);
+ parseExpression(clazz, block, exp, uris, consumers, producers, strings, fields, routeIdsOnly);
}
}
private static void doParseCamelUris(JavaClassSource clazz, Block block, MethodInvocation mi, List<ParserResult> uris,
- boolean consumers, boolean producers, boolean strings, boolean fields) {
+ boolean consumers, boolean producers, boolean strings, boolean fields, boolean routeIdsOnly) {
String name = mi.getName().getIdentifier();
- if (consumers) {
+ if (routeIdsOnly) {
// include route id for consumers
if ("routeId".equals(name)) {
List args = mi.arguments();
@@ -239,6 +244,11 @@ public final class CamelJavaParserHelper {
}
}
}
+ // we only want route ids so return here
+ return;
+ }
+
+ if (consumers) {
if ("from".equals(name)) {
List args = mi.arguments();
if (args != null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/0fe49998/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterRouteDuplicateIdBuilderDCamelTestSupportTest.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterRouteDuplicateIdBuilderDCamelTestSupportTest.java b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterRouteDuplicateIdBuilderDCamelTestSupportTest.java
index 2f37fb8..fc295f7 100644
--- a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterRouteDuplicateIdBuilderDCamelTestSupportTest.java
+++ b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterRouteDuplicateIdBuilderDCamelTestSupportTest.java
@@ -18,7 +18,6 @@ package org.apache.camel.parser.java;
import java.io.File;
import java.util.List;
-import java.util.stream.Collectors;
import org.apache.camel.parser.ParserResult;
import org.apache.camel.parser.helper.CamelJavaParserHelper;
@@ -43,9 +42,12 @@ public class RoasterRouteDuplicateIdBuilderDCamelTestSupportTest {
for (ParserResult result : list) {
LOG.info("Consumer: " + result.getElement());
}
- Assert.assertEquals(6, list.size());
+ Assert.assertEquals(3, list.size());
- list = list.stream().filter(r -> r.getNode().equals("routeId")).collect(Collectors.toList());
+ list = CamelJavaParserHelper.parseCamelRouteIds(method);
+ for (ParserResult result : list) {
+ LOG.info("Route id: " + result.getElement());
+ }
Assert.assertEquals(3, list.size());
Assert.assertEquals("foo", list.get(0).getElement());
Assert.assertEquals("bar", list.get(1).getElement());
http://git-wip-us.apache.org/repos/asf/camel/blob/0fe49998/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/SimpleProcessorTest.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/SimpleProcessorTest.java b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/SimpleProcessorTest.java
index de37bf8..4df4363 100644
--- a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/SimpleProcessorTest.java
+++ b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/SimpleProcessorTest.java
@@ -33,7 +33,7 @@ public class SimpleProcessorTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start").process(new Processor() {
+ from("direct:start").routeId("myRoute").process(new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getOut().setBody("Bye World");
}