Repository: camel
Updated Branches:
  refs/heads/master d482a12b7 -> d02a9ce1b


Camel route coverage should skip policy/transacted as they are abstract nodes.


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

Branch: refs/heads/master
Commit: d02a9ce1b1fa74dce150e47184f8c71431ecfb09
Parents: d482a12
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Oct 17 13:53:11 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Oct 17 13:53:11 2017 +0200

----------------------------------------------------------------------
 .../org/apache/camel/parser/helper/RouteCoverageHelper.java | 4 ++--
 .../main/java/org/apache/camel/maven/RouteCoverageMojo.java | 9 +++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d02a9ce1/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
----------------------------------------------------------------------
diff --git 
a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
 
b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
index 655d974..109a2a5 100644
--- 
a/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
+++ 
b/tooling/camel-route-parser/src/main/java/org/apache/camel/parser/helper/RouteCoverageHelper.java
@@ -136,8 +136,8 @@ public final class RouteCoverageHelper {
             return;
         }
 
-        // only calculate for elements within the route
-        if (!"route".equals(key)) {
+        // only calculate for elements within the route or children of 
policy/transaction
+        if (!"route".equals(key) && !"policy".equals(key) && 
!"transacted".equals(key)) {
             Integer count = 0;
             Node total = node.getAttributes().getNamedItem("exchangesTotal");
             if (total != null) {

http://git-wip-us.apache.org/repos/asf/camel/blob/d02a9ce1/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
 
b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index 4864bba..a790bba 100644
--- 
a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++ 
b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -365,6 +365,15 @@ public class RouteCoverageMojo extends AbstractExecMojo {
     }
 
     private static void gatherRouteCoverageSummary(CamelNodeDetails node, 
Iterator<CoverageData> it, AtomicInteger level, List<RouteCoverageNode> answer) 
{
+        // we want to skip data for policy/transacted as they are abstract 
nodes and just gather their children immediately
+        boolean skipData = "policy".equals(node.getName()) || 
"transacted".equals(node.getName());
+        if (skipData) {
+            for (CamelNodeDetails child : node.getOutputs()) {
+                gatherRouteCoverageSummary(child, it, level, answer);
+            }
+            return;
+        }
+
         RouteCoverageNode data = new RouteCoverageNode();
         data.setName(node.getName());
         data.setLineNumber(Integer.valueOf(node.getLineNumber()));

Reply via email to