diff --git a/config/alfresco/messages/rest-framework-messages.properties b/config/alfresco/messages/rest-framework-messages.properties index 3fd1259015..6e64ee6e77 100644 --- a/config/alfresco/messages/rest-framework-messages.properties +++ b/config/alfresco/messages/rest-framework-messages.properties @@ -2,6 +2,7 @@ framework.exception.ApiDefault=Unknown error calling the Rest API framework.exception.ConstraintViolated=A constraint was violated framework.exception.InvalidArgument=An invalid argument was received {0} +framework.exception.InvalidProperty=The property ''{0}'' with value ''{1}'' is invalid for {2} comparison. framework.exception.InvalidQuery=An invalid WHERE query was received. {0} framework.exception.InvalidSelect=An invalid {1} query was received. {0} framework.exception.NotFound={0} was not found diff --git a/source/java/org/alfresco/rest/workflow/api/impl/MapBasedQueryWalker.java b/source/java/org/alfresco/rest/workflow/api/impl/MapBasedQueryWalker.java index f0ecdd3fa8..f039506d00 100644 --- a/source/java/org/alfresco/rest/workflow/api/impl/MapBasedQueryWalker.java +++ b/source/java/org/alfresco/rest/workflow/api/impl/MapBasedQueryWalker.java @@ -177,7 +177,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter @Override public void comparison(int type, String propertyName, String propertyValue) { - boolean throwError = false; + boolean throwError = false; if (variablesEnabled && propertyName.startsWith("variables/")) { @@ -193,7 +193,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else if (type == WhereClauseParser.MATCHES) @@ -204,7 +204,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else if (type == WhereClauseParser.GREATERTHAN) @@ -215,7 +215,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else if (type == WhereClauseParser.GREATERTHANOREQUALS) @@ -226,7 +226,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else if (type == WhereClauseParser.LESSTHAN) @@ -237,7 +237,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else if (type == WhereClauseParser.LESSTHANOREQUALS) @@ -248,7 +248,7 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } else { - throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); + throwError = !handleUnmatchedComparison(type, propertyName, propertyValue); } } else @@ -257,7 +257,10 @@ public class MapBasedQueryWalker extends WalkerCallbackAdapter } } - if (throwError) { throw new InvalidArgumentException(type + " is not allowed for 'scope' comparison."); } + if (throwError) + { + throw new InvalidArgumentException("framework.exception.InvalidProperty", new Object[] {propertyName, propertyValue, WhereClauseParser.tokenNames[type]}); + } } public String getProperty(String propertyName, int type)