Author: tschneider
Date: Wed Nov  7 08:27:54 2007
New Revision: 592809

URL: http://svn.apache.org/viewvc?rev=592809&view=rev
Log:
added bean that handles conversions using xwork

Added:
    
struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/
    
struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/XWorkBeanELResolver.java

Added: 
struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/XWorkBeanELResolver.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/XWorkBeanELResolver.java?rev=592809&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/XWorkBeanELResolver.java
 (added)
+++ 
struts/sandbox/trunk/struts2-juel-plugin/src/main/java/com/googlecode/struts2juel/elresolvers/XWorkBeanELResolver.java
 Wed Nov  7 08:27:54 2007
@@ -0,0 +1,30 @@
+package com.googlecode.struts2juel.elresolvers;
+
+import javax.el.BeanELResolver;
+import javax.el.ELContext;
+
+import com.googlecode.struts2juel.CompoundRootELContext;
+import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
+
+public class XWorkBeanELResolver extends BeanELResolver {
+
+       public XWorkBeanELResolver() {
+               super();
+       }
+
+       public XWorkBeanELResolver(boolean isReadOnly) {
+               super(isReadOnly);
+       }
+
+       @Override
+       public void setValue(ELContext context, Object base, Object property,
+                       Object value) {
+               Class expectedType = getType(context, base, property);
+               if (expectedType != null) {
+                       XWorkConverter converter = ((CompoundRootELContext) 
context)
+                                       .getXworkConverter();
+                       value = converter.convertValue(null, value, 
expectedType);
+               }
+               super.setValue(context, base, property, value);
+       }
+}


Reply via email to