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/10 08:32:15 UTC
[1/2] camel git commit: Parse java route tree a bit better for choice
EIP
Repository: camel
Updated Branches:
refs/heads/parser2 ce3f4e114 -> df70bdd76
Parse java route tree a bit better for choice EIP
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/49857113
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/49857113
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/49857113
Branch: refs/heads/parser2
Commit: 49857113d45ad4c290f662fa0ada4434437914bf
Parents: ce3f4e1
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Oct 10 10:16:23 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Oct 10 10:16:23 2017 +0200
----------------------------------------------------------------------
.../helper/CamelJavaTreeParserHelper.java | 26 ++++++--------------
.../parser/java/MyJavaDslRouteBuilder.java | 5 ++--
.../camel/parser/java/RoasterJavaDslTest.java | 9 ++++---
3 files changed, 17 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/49857113/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaTreeParserHelper.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaTreeParserHelper.java b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaTreeParserHelper.java
index d3d1531..774831f 100644
--- a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaTreeParserHelper.java
+++ b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaTreeParserHelper.java
@@ -106,9 +106,6 @@ public final class CamelJavaTreeParserHelper {
CamelNodeDetails node = route.getOutputs().get(i);
String name = node.getName();
- // TODO: use camel catalog to know about these types and when to do what
- // special for some EIPs such as choice
-
if ("from".equals(name)) {
CamelNodeDetails from = nodeFactory.copyNode(null, "from", node);
from.setFileName(fullyQualifiedFileName);
@@ -117,27 +114,20 @@ public final class CamelJavaTreeParserHelper {
} else if ("routeId".equals(name)) {
// should be set on the parent
parent.setRouteId(node.getRouteId());
+ } else if ("end".equals(name) || "endChoice".equals(name) || "endParent".equals(name) || "endRest".equals(name)
+ || "endDoTry".equals(name) || "endHystrix".equals(name)) {
+ // parent should be grand parent
+ parent = parent.getParent();
} else if ("choice".equals(name)) {
+ // special for some EIPs
CamelNodeDetails output = nodeFactory.copyNode(parent, name, node);
parent.addOutput(output);
parent = output;
- } else if ("when".equals(name)) {
- parent = grandParent(parent, "choice");
- CamelNodeDetails output = nodeFactory.copyNode(parent, name, node);
- parent.addOutput(output);
- parent = output;
- } else if ("otherwise".equals(name)) {
- parent = grandParent(parent, "choice");
- CamelNodeDetails output = nodeFactory.copyNode(parent, name, node);
- parent.addOutput(output);
- parent = output;
- } else if ("end".equals(name) || "endChoice".equals(name) || "endDoTry".equals(name)) {
- // special for ending otherwise, as we end it automatic in Java DSL so do a double end then
- if ("otherwise".equals(parent.getName())) {
+ } else if ("when".equals(name) || "otherwise".equals(name)) {
+ // we are in a choice block so parent should be the first choice up the parent tree
+ while (!parent.getName().equals("from") && !"choice".equals(parent.getName())) {
parent = parent.getParent();
}
- // parent should be grand parent
- parent = parent.getParent();
} else {
boolean hasOutput = hasOutput(name);
if (hasOutput) {
http://git-wip-us.apache.org/repos/asf/camel/blob/49857113/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyJavaDslRouteBuilder.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyJavaDslRouteBuilder.java b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyJavaDslRouteBuilder.java
index 1a98ab8..078c70b 100644
--- a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyJavaDslRouteBuilder.java
+++ b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/MyJavaDslRouteBuilder.java
@@ -27,8 +27,9 @@ public class MyJavaDslRouteBuilder extends RouteBuilder {
.setHeader("foo", constant("123"))
.choice()
.when(header("foo"))
- .toD("log:a")
- .when(header("bar"))
+ .to("log:a")
+ .toD("log:a2")
+ .when().header("bar")
.toD("log:b")
.otherwise()
.log("none")
http://git-wip-us.apache.org/repos/asf/camel/blob/49857113/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterJavaDslTest.java
----------------------------------------------------------------------
diff --git a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterJavaDslTest.java b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterJavaDslTest.java
index dc6c63b..c6bc96b 100644
--- a/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterJavaDslTest.java
+++ b/tooling/camel-route-parser/src/test/java/org/apache/camel/parser/java/RoasterJavaDslTest.java
@@ -55,9 +55,12 @@ public class RoasterJavaDslTest extends CamelTestSupport {
assertTrue(tree.contains("25\tfrom"));
assertTrue(tree.contains("27\t setHeader"));
- assertTrue(tree.contains("30\t toD"));
- assertTrue(tree.contains("33\t otherwise"));
- assertTrue(tree.contains("36\t to"));
+ assertTrue(tree.contains("28\t choice"));
+ assertTrue(tree.contains("30\t to"));
+ assertTrue(tree.contains("31\t toD"));
+ assertTrue(tree.contains("33\t toD"));
+ assertTrue(tree.contains("35\t log"));
+ assertTrue(tree.contains("37\t to"));
}
@Test
[2/2] camel git commit: Added todo
Posted by da...@apache.org.
Added todo
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/df70bdd7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/df70bdd7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/df70bdd7
Branch: refs/heads/parser2
Commit: df70bdd76ed4ba9ec1fb5a9a6435a1590e6ea5a0
Parents: 4985711
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Oct 10 10:32:02 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Oct 10 10:32:02 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/camel/maven/helper/RouteCoverageHelper.java | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/df70bdd7/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/helper/RouteCoverageHelper.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/helper/RouteCoverageHelper.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/helper/RouteCoverageHelper.java
index d5a2971..7e1a8ae 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/helper/RouteCoverageHelper.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/helper/RouteCoverageHelper.java
@@ -38,6 +38,9 @@ public final class RouteCoverageHelper {
private RouteCoverageHelper() {
}
+ // TODO: improve this api what is returned
+ // TODO: move this to camel-route-parser
+
public static List<KeyValueHolder<String, Integer>> parseDumpRouteCoverageByRouteId(String directory, String routeId) throws Exception {
List<KeyValueHolder<String, Integer>> answer = new ArrayList<>();