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/01/07 21:26:17 UTC

[1/4] camel git commit: Camel catalog - Add validation error about incapable of parsing uri

Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x e8b1ba6e0 -> f8cbb2893
  refs/heads/master 6e0550c78 -> c45bf0a02


Camel catalog - Add validation error about incapable of parsing uri


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

Branch: refs/heads/master
Commit: 22b54c048cf0c5469864bd42396b5c6bb93990b6
Parents: 6e0550c
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 7 21:12:06 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 7 21:12:06 2016 +0100

----------------------------------------------------------------------
 .../apache/camel/catalog/DefaultCamelCatalog.java |  6 ++++++
 .../camel/catalog/EndpointValidationResult.java   | 18 +++++++++++++++---
 .../apache/camel/catalog/CamelCatalogTest.java    |  5 +++++
 3 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/22b54c04/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 24baa69..735d88d 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -745,6 +745,12 @@ public class DefaultCamelCatalog implements CamelCatalog {
         boolean lenientProperties;
         String scheme;
 
+        // skip uris that may start with a placeholder
+        if (uri.startsWith("{{")) {
+            result.addIncapable(uri);
+            return result;
+        }
+
         try {
             // parse the uri
             URI u = normalizeUri(uri);

http://git-wip-us.apache.org/repos/asf/camel/blob/22b54c04/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
index 5ae61b6..55e133f 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
@@ -33,9 +33,10 @@ public class EndpointValidationResult implements Serializable {
     private final String uri;
     private int errors;
 
-    // component
+    // general
     private String syntaxError;
     private String unknownComponent;
+    private String incapable;
 
     // options
     private Set<String> unknown;
@@ -62,7 +63,7 @@ public class EndpointValidationResult implements Serializable {
     }
 
     public boolean isSuccess() {
-        boolean ok = syntaxError == null && unknownComponent == null
+        boolean ok = syntaxError == null && unknownComponent == null && incapable == null
                 && unknown == null && required == null;
         if (ok) {
             ok = invalidEnum == null && invalidEnumChoices == null && invalidReference == null
@@ -76,6 +77,11 @@ public class EndpointValidationResult implements Serializable {
         errors++;
     }
 
+    public void addIncapable(String uri) {
+        this.incapable = uri;
+        errors++;
+    }
+
     public void addUnknownComponent(String name) {
         this.unknownComponent = name;
         errors++;
@@ -176,6 +182,10 @@ public class EndpointValidationResult implements Serializable {
         return syntaxError;
     }
 
+    public String getIncapable() {
+        return incapable;
+    }
+
     public Set<String> getUnknown() {
         return unknown;
     }
@@ -231,7 +241,9 @@ public class EndpointValidationResult implements Serializable {
             return null;
         }
 
-        if (syntaxError != null) {
+        if (incapable != null) {
+            return "Incapable of parsing uri " + incapable;
+        } else if (syntaxError != null) {
             return "Syntax error " + syntaxError;
         } else if (unknownComponent != null) {
             return "Unknown component " + unknownComponent;

http://git-wip-us.apache.org/repos/asf/camel/blob/22b54c04/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index b764e1b..8132107 100644
--- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -543,6 +543,11 @@ public class CamelCatalogTest {
         // placeholder for a bunch of optional options
         result = catalog.validateEndpointProperties("aws-swf://activity?{{options}}");
         assertTrue(result.isSuccess());
+
+        // incapable to parse
+        result = catalog.validateEndpointProperties("{{getFtpUrl}}?recursive=true");
+        assertFalse(result.isSuccess());
+        assertTrue(result.getIncapable() != null);
     }
 
     @Test


[2/4] camel git commit: Camel catalog - Validate incapable parsing errors

Posted by da...@apache.org.
Camel catalog - Validate incapable parsing errors


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

Branch: refs/heads/master
Commit: c45bf0a02e73faab397bdb560425fb4502330ece
Parents: 22b54c0
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 7 21:25:30 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 7 21:25:30 2016 +0100

----------------------------------------------------------------------
 .../camel/catalog/DefaultCamelCatalog.java      | 21 ++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c45bf0a0/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 735d88d..1e97a1f 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -745,19 +745,18 @@ public class DefaultCamelCatalog implements CamelCatalog {
         boolean lenientProperties;
         String scheme;
 
-        // skip uris that may start with a placeholder
-        if (uri.startsWith("{{")) {
-            result.addIncapable(uri);
-            return result;
-        }
-
         try {
             // parse the uri
             URI u = normalizeUri(uri);
             scheme = u.getScheme();
             String json = componentJSonSchema(scheme);
             if (json == null) {
-                result.addUnknownComponent(scheme);
+                // if the uri starts with a placeholder then we are also incapable of parsing it as we wasn't able to resolve the component name
+                if (uri.startsWith("{{")) {
+                    result.addIncapable(uri);
+                } else if (scheme != null) {
+                    result.addUnknownComponent(scheme);
+                }
                 return result;
             }
 
@@ -768,7 +767,13 @@ public class DefaultCamelCatalog implements CamelCatalog {
             rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
             properties = endpointProperties(uri);
         } catch (URISyntaxException e) {
-            result.addSyntaxError(e.getMessage());
+            if (uri.startsWith("{{")) {
+                // if the uri starts with a placeholder then we are also incapable of parsing it as we wasn't able to resolve the component name
+                result.addIncapable(uri);
+            } else {
+                result.addSyntaxError(e.getMessage());
+            }
+
             return result;
         }
 


[4/4] camel git commit: Camel catalog - Validate incapable parsing errors

Posted by da...@apache.org.
Camel catalog - Validate incapable parsing errors


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

Branch: refs/heads/camel-2.16.x
Commit: f8cbb28934b44604c0e648e0f78e65364ec268b9
Parents: 9e8fc4a
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 7 21:25:30 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 7 21:26:10 2016 +0100

----------------------------------------------------------------------
 .../camel/catalog/DefaultCamelCatalog.java      | 21 ++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f8cbb289/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 735d88d..1e97a1f 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -745,19 +745,18 @@ public class DefaultCamelCatalog implements CamelCatalog {
         boolean lenientProperties;
         String scheme;
 
-        // skip uris that may start with a placeholder
-        if (uri.startsWith("{{")) {
-            result.addIncapable(uri);
-            return result;
-        }
-
         try {
             // parse the uri
             URI u = normalizeUri(uri);
             scheme = u.getScheme();
             String json = componentJSonSchema(scheme);
             if (json == null) {
-                result.addUnknownComponent(scheme);
+                // if the uri starts with a placeholder then we are also incapable of parsing it as we wasn't able to resolve the component name
+                if (uri.startsWith("{{")) {
+                    result.addIncapable(uri);
+                } else if (scheme != null) {
+                    result.addUnknownComponent(scheme);
+                }
                 return result;
             }
 
@@ -768,7 +767,13 @@ public class DefaultCamelCatalog implements CamelCatalog {
             rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
             properties = endpointProperties(uri);
         } catch (URISyntaxException e) {
-            result.addSyntaxError(e.getMessage());
+            if (uri.startsWith("{{")) {
+                // if the uri starts with a placeholder then we are also incapable of parsing it as we wasn't able to resolve the component name
+                result.addIncapable(uri);
+            } else {
+                result.addSyntaxError(e.getMessage());
+            }
+
             return result;
         }
 


[3/4] camel git commit: Camel catalog - Add validation error about incapable of parsing uri

Posted by da...@apache.org.
Camel catalog - Add validation error about incapable of parsing uri


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

Branch: refs/heads/camel-2.16.x
Commit: 9e8fc4ab14c7d3c54eb681d0602e53ffae09cfe8
Parents: e8b1ba6
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 7 21:12:06 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 7 21:26:02 2016 +0100

----------------------------------------------------------------------
 .../apache/camel/catalog/DefaultCamelCatalog.java |  6 ++++++
 .../camel/catalog/EndpointValidationResult.java   | 18 +++++++++++++++---
 .../apache/camel/catalog/CamelCatalogTest.java    |  5 +++++
 3 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9e8fc4ab/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 24baa69..735d88d 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -745,6 +745,12 @@ public class DefaultCamelCatalog implements CamelCatalog {
         boolean lenientProperties;
         String scheme;
 
+        // skip uris that may start with a placeholder
+        if (uri.startsWith("{{")) {
+            result.addIncapable(uri);
+            return result;
+        }
+
         try {
             // parse the uri
             URI u = normalizeUri(uri);

http://git-wip-us.apache.org/repos/asf/camel/blob/9e8fc4ab/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
index 5ae61b6..55e133f 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/EndpointValidationResult.java
@@ -33,9 +33,10 @@ public class EndpointValidationResult implements Serializable {
     private final String uri;
     private int errors;
 
-    // component
+    // general
     private String syntaxError;
     private String unknownComponent;
+    private String incapable;
 
     // options
     private Set<String> unknown;
@@ -62,7 +63,7 @@ public class EndpointValidationResult implements Serializable {
     }
 
     public boolean isSuccess() {
-        boolean ok = syntaxError == null && unknownComponent == null
+        boolean ok = syntaxError == null && unknownComponent == null && incapable == null
                 && unknown == null && required == null;
         if (ok) {
             ok = invalidEnum == null && invalidEnumChoices == null && invalidReference == null
@@ -76,6 +77,11 @@ public class EndpointValidationResult implements Serializable {
         errors++;
     }
 
+    public void addIncapable(String uri) {
+        this.incapable = uri;
+        errors++;
+    }
+
     public void addUnknownComponent(String name) {
         this.unknownComponent = name;
         errors++;
@@ -176,6 +182,10 @@ public class EndpointValidationResult implements Serializable {
         return syntaxError;
     }
 
+    public String getIncapable() {
+        return incapable;
+    }
+
     public Set<String> getUnknown() {
         return unknown;
     }
@@ -231,7 +241,9 @@ public class EndpointValidationResult implements Serializable {
             return null;
         }
 
-        if (syntaxError != null) {
+        if (incapable != null) {
+            return "Incapable of parsing uri " + incapable;
+        } else if (syntaxError != null) {
             return "Syntax error " + syntaxError;
         } else if (unknownComponent != null) {
             return "Unknown component " + unknownComponent;

http://git-wip-us.apache.org/repos/asf/camel/blob/9e8fc4ab/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index b764e1b..8132107 100644
--- a/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/platforms/catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -543,6 +543,11 @@ public class CamelCatalogTest {
         // placeholder for a bunch of optional options
         result = catalog.validateEndpointProperties("aws-swf://activity?{{options}}");
         assertTrue(result.isSuccess());
+
+        // incapable to parse
+        result = catalog.validateEndpointProperties("{{getFtpUrl}}?recursive=true");
+        assertFalse(result.isSuccess());
+        assertTrue(result.getIncapable() != null);
     }
 
     @Test