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/01/12 08:58:07 UTC
[1/2] camel git commit: CAMEL-10699: Simple - Add short error message
Repository: camel
Updated Branches:
refs/heads/camel-2.18.x 83e8e1fc7 -> 70d4750fb
refs/heads/master 6eb5b8f4e -> 309374689
CAMEL-10699: Simple - Add short error message
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/30937468
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/30937468
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/30937468
Branch: refs/heads/master
Commit: 30937468965ce5e44e8deee77e9648cc8543fe62
Parents: 6eb5b8f
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 12 09:50:46 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 12 09:53:12 2017 +0100
----------------------------------------------------------------------
.../types/SimpleIllegalSyntaxException.java | 10 ++++++++
.../camel/catalog/DefaultCamelCatalog.java | 25 ++++++++++++++++++++
.../camel/catalog/SimpleValidationResult.java | 9 +++++++
.../apache/camel/catalog/CamelCatalogTest.java | 2 ++
4 files changed, 46 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/30937468/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java b/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
index 0377763..b96db0c 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
@@ -48,6 +48,16 @@ public class SimpleIllegalSyntaxException extends ExpressionIllegalSyntaxExcepti
return index;
}
+ /**
+ * Gets a short error message.
+ */
+ public String getShortMessage() {
+ if (message == null) {
+ return "[null]";
+ }
+ return message;
+ }
+
@Override
public String getMessage() {
if (message == null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/30937468/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 8089281..435d60b 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
@@ -1859,6 +1859,31 @@ public class DefaultCamelCatalog implements CamelCatalog {
// ignore
}
}
+
+ // we need to grab the short message field from this simple syntax exception
+ if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {
+ try {
+ Method method = cause.getClass().getMethod("getShortMessage");
+ Object result = method.invoke(cause);
+ if (result != null) {
+ String msg = (String) result;
+ answer.setShortError(msg);
+ }
+ } catch (Throwable i) {
+ // ignore
+ }
+
+ if (answer.getShortError() == null) {
+ // fallback and try to make existing message short instead
+ String msg = answer.getError();
+ // grab everything before " at location " which would be regarded as the short message
+ int idx = msg.indexOf(" at location ");
+ if (idx > 0) {
+ msg = msg.substring(0, idx);
+ answer.setShortError(msg);
+ }
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/30937468/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
index 87c846e..5032758 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
@@ -22,6 +22,7 @@ public class SimpleValidationResult implements Serializable {
private final String simple;
private String error;
+ private String shortError;
private int index;
public SimpleValidationResult(String simple) {
@@ -44,6 +45,14 @@ public class SimpleValidationResult implements Serializable {
return error;
}
+ public String getShortError() {
+ return shortError;
+ }
+
+ public void setShortError(String shortError) {
+ this.shortError = shortError;
+ }
+
public int getIndex() {
return index;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/30937468/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 cc6c339..e08e668 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
@@ -802,6 +802,7 @@ public class CamelCatalogTest {
assertEquals("${body", result.getSimple());
LOG.info(result.getError());
assertTrue(result.getError().startsWith("expected symbol functionEnd but was eol at location 5"));
+ assertEquals("expected symbol functionEnd but was eol", result.getShortError());
assertEquals(5, result.getIndex());
}
@@ -816,6 +817,7 @@ public class CamelCatalogTest {
assertEquals("${body} > ${header.size", result.getSimple());
LOG.info(result.getError());
assertTrue(result.getError().startsWith("expected symbol functionEnd but was eol at location 22"));
+ assertEquals("expected symbol functionEnd but was eol", result.getShortError());
assertEquals(22, result.getIndex());
}
[2/2] camel git commit: CAMEL-10699: Simple - Add short error message
Posted by da...@apache.org.
CAMEL-10699: Simple - Add short error message
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/70d4750f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/70d4750f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/70d4750f
Branch: refs/heads/camel-2.18.x
Commit: 70d4750fbdea475b2ced6caff5d6b623715bbac3
Parents: 83e8e1f
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Jan 12 09:50:46 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Jan 12 09:58:00 2017 +0100
----------------------------------------------------------------------
.../types/SimpleIllegalSyntaxException.java | 10 ++++++++
.../camel/catalog/DefaultCamelCatalog.java | 25 ++++++++++++++++++++
.../camel/catalog/SimpleValidationResult.java | 9 +++++++
.../apache/camel/catalog/CamelCatalogTest.java | 2 ++
4 files changed, 46 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/70d4750f/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java b/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
index 0377763..b96db0c 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
@@ -48,6 +48,16 @@ public class SimpleIllegalSyntaxException extends ExpressionIllegalSyntaxExcepti
return index;
}
+ /**
+ * Gets a short error message.
+ */
+ public String getShortMessage() {
+ if (message == null) {
+ return "[null]";
+ }
+ return message;
+ }
+
@Override
public String getMessage() {
if (message == null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/70d4750f/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 688c546..b51256d 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
@@ -1715,6 +1715,31 @@ public class DefaultCamelCatalog implements CamelCatalog {
// ignore
}
}
+
+ // we need to grab the short message field from this simple syntax exception
+ if (cause.getClass().getName().equals("org.apache.camel.language.simple.types.SimpleIllegalSyntaxException")) {
+ try {
+ Method method = cause.getClass().getMethod("getShortMessage");
+ Object result = method.invoke(cause);
+ if (result != null) {
+ String msg = (String) result;
+ answer.setShortError(msg);
+ }
+ } catch (Throwable i) {
+ // ignore
+ }
+
+ if (answer.getShortError() == null) {
+ // fallback and try to make existing message short instead
+ String msg = answer.getError();
+ // grab everything before " at location " which would be regarded as the short message
+ int idx = msg.indexOf(" at location ");
+ if (idx > 0) {
+ msg = msg.substring(0, idx);
+ answer.setShortError(msg);
+ }
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/70d4750f/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
----------------------------------------------------------------------
diff --git a/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java b/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
index 87c846e..5032758 100644
--- a/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
+++ b/platforms/catalog/src/main/java/org/apache/camel/catalog/SimpleValidationResult.java
@@ -22,6 +22,7 @@ public class SimpleValidationResult implements Serializable {
private final String simple;
private String error;
+ private String shortError;
private int index;
public SimpleValidationResult(String simple) {
@@ -44,6 +45,14 @@ public class SimpleValidationResult implements Serializable {
return error;
}
+ public String getShortError() {
+ return shortError;
+ }
+
+ public void setShortError(String shortError) {
+ this.shortError = shortError;
+ }
+
public int getIndex() {
return index;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/70d4750f/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 cc6c339..e08e668 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
@@ -802,6 +802,7 @@ public class CamelCatalogTest {
assertEquals("${body", result.getSimple());
LOG.info(result.getError());
assertTrue(result.getError().startsWith("expected symbol functionEnd but was eol at location 5"));
+ assertEquals("expected symbol functionEnd but was eol", result.getShortError());
assertEquals(5, result.getIndex());
}
@@ -816,6 +817,7 @@ public class CamelCatalogTest {
assertEquals("${body} > ${header.size", result.getSimple());
LOG.info(result.getError());
assertTrue(result.getError().startsWith("expected symbol functionEnd but was eol at location 22"));
+ assertEquals("expected symbol functionEnd but was eol", result.getShortError());
assertEquals(22, result.getIndex());
}