You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by pl...@apache.org on 2016/09/16 22:03:26 UTC
[16/50] [abbrv] incubator-tamaya-extensions git commit: TAMAYA-149:
Fixed invalid return on URL resolver. Added possibility to replace unresolved
values with just an empty String as return value.
TAMAYA-149: Fixed invalid return on URL resolver. Added possibility to replace unresolved values with just an empty String as return value.
Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/commit/777cc107
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/tree/777cc107
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/diff/777cc107
Branch: refs/heads/master
Commit: 777cc107477e90428c32f725e36a8cea42b3133e
Parents: c742739
Author: anatole <an...@apache.org>
Authored: Thu May 5 18:47:15 2016 +0200
Committer: anatole <an...@apache.org>
Committed: Thu May 5 18:47:15 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/tamaya/resolver/Resolver.java | 15 +++++++++++++--
.../internal/DefaultExpressionEvaluator.java | 16 ++++++++++++----
.../internal/ExpressionResolutionFilter.java | 2 +-
.../tamaya/resolver/internal/URLResolver.java | 3 +--
.../tamaya/resolver/spi/ExpressionEvaluator.java | 4 +++-
5 files changed, 30 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/777cc107/resolver/src/main/java/org/apache/tamaya/resolver/Resolver.java
----------------------------------------------------------------------
diff --git a/resolver/src/main/java/org/apache/tamaya/resolver/Resolver.java b/resolver/src/main/java/org/apache/tamaya/resolver/Resolver.java
index e6375f7..cdd93e0 100644
--- a/resolver/src/main/java/org/apache/tamaya/resolver/Resolver.java
+++ b/resolver/src/main/java/org/apache/tamaya/resolver/Resolver.java
@@ -39,7 +39,7 @@ public final class Resolver {
*/
public static String evaluateExpression(String key, String value){
return ServiceContextManager.getServiceContext().getService(ExpressionEvaluator.class)
- .evaluateExpression(key, value);
+ .evaluateExpression(key, value, true);
}
/**
@@ -48,7 +48,18 @@ public final class Resolver {
* @return the filtered/evaluated value, including null.
*/
public static String evaluateExpression(String value){
+ return evaluateExpression(value, true);
+ }
+
+ /**
+ * Evaluates the current expression.
+ * @param value the value to be filtered/evaluated.
+ * @param maskNotFound if true, not found expression parts will be replaced vy surrounding with [].
+ * Setting to false will replace the value with an empty String.
+ * @return the filtered/evaluated value, including null.
+ */
+ public static String evaluateExpression(String value, boolean maskNotFound){
return ServiceContextManager.getServiceContext().getService(ExpressionEvaluator.class)
- .evaluateExpression(null, value);
+ .evaluateExpression(null, value, maskNotFound);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/777cc107/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java
----------------------------------------------------------------------
diff --git a/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java b/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java
index d1fa07f..4f49d53 100644
--- a/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java
+++ b/resolver/src/main/java/org/apache/tamaya/resolver/internal/DefaultExpressionEvaluator.java
@@ -120,10 +120,11 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator {
*
* @param key the key to be filtered
* @param value value to be analyzed for expressions
+ * @param maskUnresolved
* @return the resolved value, or the input in case where no expression was detected.
*/
@Override
- public String evaluateExpression(String key, String value){
+ public String evaluateExpression(String key, String value, boolean maskUnresolved){
if(value ==null){
return null;
}
@@ -146,7 +147,10 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator {
break;
}
String subExpression = parseSubExpression(tokenizer, value);
- current.append(evaluateInternal(subExpression));
+ String res = evaluateInternal(subExpression, maskUnresolved);
+ if(res!=null) {
+ current.append(res);
+ }
break;
default:
current.append(token);
@@ -215,9 +219,11 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator {
* Evalutes the expression parsed, hereby checking for prefixes and trying otherwise all available resolvers,
* based on priority.
* @param unresolvedExpression the parsed, but unresolved expression
+ * @param maskUnresolved if true, not found expression parts will be replaced vy surrounding with [].
+ * Setting to false will replace the value with an empty String.
* @return the resolved expression, or null.
*/
- private String evaluateInternal(String unresolvedExpression) {
+ private String evaluateInternal(String unresolvedExpression, boolean maskUnresolved) {
String value = null;
// 1 check for explicit prefix
for(ExpressionResolver resolver:resolvers){
@@ -240,7 +246,9 @@ public class DefaultExpressionEvaluator implements ExpressionEvaluator {
}
if(value==null){
LOG.log(Level.WARNING, "Unresolvable expression encountered " + unresolvedExpression);
- value = "?{" + unresolvedExpression + '}';
+ if(maskUnresolved){
+ value = "?{" + unresolvedExpression + '}';
+ }
}
return value;
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/777cc107/resolver/src/main/java/org/apache/tamaya/resolver/internal/ExpressionResolutionFilter.java
----------------------------------------------------------------------
diff --git a/resolver/src/main/java/org/apache/tamaya/resolver/internal/ExpressionResolutionFilter.java b/resolver/src/main/java/org/apache/tamaya/resolver/internal/ExpressionResolutionFilter.java
index e8bad93..20e2c7a 100644
--- a/resolver/src/main/java/org/apache/tamaya/resolver/internal/ExpressionResolutionFilter.java
+++ b/resolver/src/main/java/org/apache/tamaya/resolver/internal/ExpressionResolutionFilter.java
@@ -79,7 +79,7 @@ public class ExpressionResolutionFilter implements PropertyFilter {
@Override
public String filterProperty(String valueToBeFiltered, FilterContext context){
LOG.finest("Resolving " + valueToBeFiltered + "(key=" + context.getKey() + ")");
- return evaluator.evaluateExpression(context.getKey(), valueToBeFiltered);
+ return evaluator.evaluateExpression(context.getKey(), valueToBeFiltered, true);
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/777cc107/resolver/src/main/java/org/apache/tamaya/resolver/internal/URLResolver.java
----------------------------------------------------------------------
diff --git a/resolver/src/main/java/org/apache/tamaya/resolver/internal/URLResolver.java b/resolver/src/main/java/org/apache/tamaya/resolver/internal/URLResolver.java
index b0b6331..32195f8 100644
--- a/resolver/src/main/java/org/apache/tamaya/resolver/internal/URLResolver.java
+++ b/resolver/src/main/java/org/apache/tamaya/resolver/internal/URLResolver.java
@@ -55,12 +55,11 @@ public final class URLResolver implements ExpressionResolver {
while ((inputLine = bufferedReader.readLine()) != null) {
builder.append(inputLine).append("\n");
}
-
return builder.toString();
}
} catch (Exception e) {
LOG.log(Level.FINEST, "Could not resolve URL: " + expression, e);
- return '['+expression+']';
+ return null;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-extensions/blob/777cc107/resolver/src/main/java/org/apache/tamaya/resolver/spi/ExpressionEvaluator.java
----------------------------------------------------------------------
diff --git a/resolver/src/main/java/org/apache/tamaya/resolver/spi/ExpressionEvaluator.java b/resolver/src/main/java/org/apache/tamaya/resolver/spi/ExpressionEvaluator.java
index 1f7c861..e9e8aa4 100644
--- a/resolver/src/main/java/org/apache/tamaya/resolver/spi/ExpressionEvaluator.java
+++ b/resolver/src/main/java/org/apache/tamaya/resolver/spi/ExpressionEvaluator.java
@@ -49,7 +49,9 @@ public interface ExpressionEvaluator {
* Evaluates the current expression.
* @param key the key, not null.
* @param value the value to be filtered/evaluated.
+ * @param maskNotFound if true, not found expression parts will be replaced vy surrounding with [].
+ * Setting to false will replace the value with an empty String.
* @return the filtered/evaluated value, including null.
*/
- String evaluateExpression(String key, String value);
+ String evaluateExpression(String key, String value, boolean maskNotFound);
}