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); + } +}