refactored
diff --git a/api/src/main/java/javax/faces/application/_NavigationUtils.java b/api/src/main/java/javax/faces/application/_NavigationUtils.java
index 98689c0..73ae152 100644
--- a/api/src/main/java/javax/faces/application/_NavigationUtils.java
+++ b/api/src/main/java/javax/faces/application/_NavigationUtils.java
@@ -88,11 +88,8 @@
for (int i = 0; i < values.size(); i++)
{
String value = values.get(i);
- if (_isExpression(value))
- {
- // evaluate the ValueExpression
- value = context.getApplication().evaluateExpressionGet(context, value, String.class);
- }
+ // evaluate the ValueExpression
+ value = context.getApplication().evaluateExpressionGet(context, value, String.class);
target.add(value);
}
return target;
diff --git a/impl/src/main/java/org/apache/myfaces/util/NavigationUtils.java b/impl/src/main/java/org/apache/myfaces/util/NavigationUtils.java
index 928ff41..75b7be1 100644
--- a/impl/src/main/java/org/apache/myfaces/util/NavigationUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/util/NavigationUtils.java
@@ -129,13 +129,11 @@
// change any value on the given List, it will be changed in the
// NavigationCase too and the EL expression won't be evaluated again
List<String> target = new ArrayList<>(values.size());
- for (String value : values)
+ for (int i = 0; i < values.size(); i++)
{
- if (_isExpression(value))
- {
- // evaluate the ValueExpression
- value = context.getApplication().evaluateExpressionGet(context, value, String.class);
- }
+ String value = values.get(i);
+ // evaluate the ValueExpression
+ value = context.getApplication().evaluateExpressionGet(context, value, String.class);
target.add(value);
}
return target;