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/12/17 11:31:47 UTC

[1/3] camel git commit: Make camel apt compiler plugin roboust in case of weird error

Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x b2614a620 -> 0535e4829


Make camel apt compiler plugin roboust in case of weird error


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

Branch: refs/heads/camel-2.16.x
Commit: 198f3cbdbe2aa48e0ddce5e5b2e17297bf375e4d
Parents: b2614a6
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Dec 17 08:03:27 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Dec 17 11:31:12 2015 +0100

----------------------------------------------------------------------
 .../camel/tools/apt/EipAnnotationProcessor.java   | 18 +++++++++++-------
 .../tools/apt/EndpointAnnotationProcessor.java    | 18 +++++++++++-------
 2 files changed, 22 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/198f3cbd/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
index bab6360..d124e39 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
@@ -90,15 +90,19 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor {
 
     @Override
     public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-        if (roundEnv.processingOver()) {
-            return true;
-        }
+        try {
+            if (roundEnv.processingOver()) {
+                return true;
+            }
 
-        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(XmlRootElement.class);
-        for (Element element : elements) {
-            if (element instanceof TypeElement) {
-                processModelClass(roundEnv, (TypeElement) element);
+            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(XmlRootElement.class);
+            for (Element element : elements) {
+                if (element instanceof TypeElement) {
+                    processModelClass(roundEnv, (TypeElement) element);
+                }
             }
+        } catch (Throwable e) {
+            // ignore
         }
         return true;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/198f3cbd/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index 0f26084..d7c6249 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -68,14 +68,18 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
     private static final String HEADER_FILTER_STRATEGY_JAVADOC = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.";
 
     public boolean process(Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
-        if (roundEnv.processingOver()) {
-            return true;
-        }
-        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(UriEndpoint.class);
-        for (Element element : elements) {
-            if (element instanceof TypeElement) {
-                processEndpointClass(roundEnv, (TypeElement) element);
+        try {
+            if (roundEnv.processingOver()) {
+                return true;
+            }
+            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(UriEndpoint.class);
+            for (Element element : elements) {
+                if (element instanceof TypeElement) {
+                    processEndpointClass(roundEnv, (TypeElement) element);
+                }
             }
+        } catch (Throwable e) {
+            // ignore
         }
         return true;
     }


[2/3] camel git commit: The option is required

Posted by da...@apache.org.
The option is required


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

Branch: refs/heads/camel-2.16.x
Commit: 670363f22dbc8791518f5b1d08229d6e96d0cd56
Parents: 198f3cb
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Dec 17 08:04:31 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Dec 17 11:31:19 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/component/undertow/UndertowEndpoint.java     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/670363f2/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
index 4bb0f01..621c5fd 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
@@ -32,6 +32,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -54,7 +55,7 @@ public class UndertowEndpoint extends DefaultEndpoint implements HeaderFilterStr
     private SSLContext sslContext;
     private OptionMap optionMap;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private URI httpURI;
     @UriParam
     private UndertowHttpBinding undertowHttpBinding;


[3/3] camel git commit: camel apt compiler plugin write error log. Also fix problem for javac to scan/load hadoop/spark JARs

Posted by da...@apache.org.
camel apt compiler plugin write error log. Also fix problem for javac to scan/load hadoop/spark JARs


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

Branch: refs/heads/camel-2.16.x
Commit: 0535e48294008db473354eda9f401634c31ef9af
Parents: 670363f
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Dec 17 08:33:13 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Dec 17 11:31:28 2015 +0100

----------------------------------------------------------------------
 .../tools/apt/AbstractAnnotationProcessor.java  | 31 +++++++++++++++++++-
 .../camel/tools/apt/EipAnnotationProcessor.java |  2 +-
 .../tools/apt/EndpointAnnotationProcessor.java  |  2 +-
 3 files changed, 32 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0535e482/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractAnnotationProcessor.java
index 9a49110..c5af901 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractAnnotationProcessor.java
@@ -17,6 +17,7 @@
 package org.apache.camel.tools.apt;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
@@ -24,6 +25,7 @@ import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.io.Writer;
 import java.net.URI;
+import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 import javax.annotation.processing.AbstractProcessor;
@@ -208,7 +210,7 @@ public abstract class AbstractAnnotationProcessor extends AbstractProcessor {
             String packageName = className.substring(0, idx);
             PackageElement pe = elementUtils.getPackageElement(packageName);
             if (pe != null) {
-                List<? extends Element> enclosedElements = pe.getEnclosedElements();
+                List<? extends Element> enclosedElements = getEnclosedElements(pe);
                 for (Element rootElement : enclosedElements) {
                     if (rootElement instanceof TypeElement) {
                         TypeElement typeElement = (TypeElement) rootElement;
@@ -224,6 +226,17 @@ public abstract class AbstractAnnotationProcessor extends AbstractProcessor {
         return null;
     }
 
+    @SuppressWarnings("unchecked")
+    private List<? extends Element> getEnclosedElements(PackageElement pe) {
+        // some components like hadoop/spark has bad classes that causes javac scanning issues
+        try {
+            return pe.getEnclosedElements();
+        } catch (Throwable e) {
+            // ignore
+        }
+        return Collections.EMPTY_LIST;
+    }
+
     protected void findTypeElementChildren(RoundEnvironment roundEnv, Set<TypeElement> found, String superClassName) {
         Elements elementUtils = processingEnv.getElementUtils();
 
@@ -350,4 +363,20 @@ public abstract class AbstractAnnotationProcessor extends AbstractProcessor {
 
         return null;
     }
+
+    protected void dumpExceptionToErrorFile(String fileName, String message, Throwable e) {
+        File file = new File(fileName);
+        try {
+            FileOutputStream fos = new FileOutputStream(file);
+            StringWriter sw = new StringWriter();
+            PrintWriter pw = new PrintWriter(sw);
+            e.printStackTrace(pw);
+            fos.write(sw.toString().getBytes());
+            pw.close();
+            sw.close();
+            fos.close();
+        } catch (Throwable t) {
+            // ignore
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/0535e482/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
index d124e39..e817d64 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
@@ -102,7 +102,7 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor {
                 }
             }
         } catch (Throwable e) {
-            // ignore
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing EIP model", e);
         }
         return true;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/0535e482/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index d7c6249..e662217 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -79,7 +79,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
                 }
             }
         } catch (Throwable e) {
-            // ignore
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing @UriEndpoint", e);
         }
         return true;
     }