WW-4427 - inject the converter instead of getting it directly

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

Branch: refs/heads/master
Commit: 6a58778399dcdacbe061c55b37a581646871d4ce
Parents: 6834b78
Author: Przemek Bruski <pbru...@atlassian.com>
Authored: Tue Dec 16 16:58:38 2014 +0100
Committer: Przemek Bruski <pbru...@atlassian.com>
Committed: Tue Dec 16 16:58:38 2014 +0100

----------------------------------------------------------------------
 .../java/com/opensymphony/xwork2/ognl/OgnlValueStack.java    | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/6a587783/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
index ce273b1..48e5241 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
@@ -63,6 +63,7 @@ public class OgnlValueStack implements Serializable, 
ValueStack, ClearableValueS
     Map<Object, Object> overrides;
     transient OgnlUtil ognlUtil;
     transient SecurityMemberAccess securityMemberAccess;
+    private transient XWorkConverter converter;
 
     private boolean devMode;
     private boolean logMissingProperties;
@@ -351,8 +352,7 @@ public class OgnlValueStack implements Serializable, 
ValueStack, ClearableValueS
             value = getValue(expr, asType);
             if (value == null) {
                 value = findInContext(expr);
-                final XWorkConverter conv = 
((Container)getContext().get(ActionContext.CONTAINER)).getInstance(XWorkConverter.class);
-                return conv.convertValue(getContext(), value, asType);
+                return converter.convertValue(getContext(), value, asType);
             }
         } finally {
             context.remove(THROW_EXCEPTION_ON_FAILURE);
@@ -475,4 +475,8 @@ public class OgnlValueStack implements Serializable, 
ValueStack, ClearableValueS
         securityMemberAccess.setExcludeProperties(excludeProperties);
     }
 
+    @Inject
+    public void setXWorkConverter(final XWorkConverter converter) {
+        this.converter = converter;
+    }
 }

Reply via email to