[seam-commits] Seam SVN: r13541 - in modules/xml/trunk/impl: src/main/java/org/jboss/seam/xml/bootstrap and 4 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Sun Aug 1 08:59:15 EDT 2010


Author: swd847
Date: 2010-08-01 08:59:15 -0400 (Sun, 01 Aug 2010)
New Revision: 13541

Added:
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ELFieldValue.java
   modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/ELValueProducer.java
Modified:
   modules/xml/trunk/impl/pom.xml
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ArrayFieldSet.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ConstantFieldValue.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValue.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValueObject.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InjectionTargetWrapper.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InlineBeanFieldValue.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/FieldXmlItem.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/PropertyXmlItem.java
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java
   modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/FieldValueBean.java
   modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/SetFieldValueBeanTest.java
   modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/fieldset/set-field-value-beans.xml
Log:
add ability to use EL in seam-xml



Modified: modules/xml/trunk/impl/pom.xml
===================================================================
--- modules/xml/trunk/impl/pom.xml	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/pom.xml	2010-08-01 12:59:15 UTC (rev 13541)
@@ -68,7 +68,13 @@
          <artifactId>junit</artifactId>
          <scope>test</scope>
       </dependency>
-  
+   
+   
+      <dependency>
+         <groupId>el-impl</groupId>
+         <artifactId>el-impl</artifactId>
+         <scope>test</scope>
+      </dependency>
       
    </dependencies>
 

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/bootstrap/XmlExtension.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -222,7 +222,7 @@
       }
    }
 
-   public <T> void processInjectionTarget(@Observes ProcessInjectionTarget<T> event)
+   public <T> void processInjectionTarget(@Observes ProcessInjectionTarget<T> event, BeanManager manager)
    {
 
       AnnotatedType<T> at = event.getAnnotatedType();
@@ -231,7 +231,7 @@
       {
          log.info("Wrapping InjectionTarget to set field values: " + event.getAnnotatedType().getJavaClass().getName());
          List<FieldValueObject> fvs = fieldValues.get(xid.value());
-         event.setInjectionTarget(new InjectionTargetWrapper<T>(event.getInjectionTarget(), fvs));
+         event.setInjectionTarget(new InjectionTargetWrapper<T>(event.getInjectionTarget(), fvs, manager));
       }
    }
 

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ArrayFieldSet.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ArrayFieldSet.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ArrayFieldSet.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -26,6 +26,7 @@
 import java.util.List;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.seam.xml.model.ValueXmlItem;
 import org.jboss.weld.extensions.util.properties.Property;
@@ -54,7 +55,7 @@
 
    }
 
-   public void setValue(Object instance, CreationalContext<?> ctx)
+   public void setValue(Object instance, CreationalContext<?> ctx, BeanManager manager)
    {
       try
       {
@@ -62,7 +63,7 @@
          field.setValue(instance, array);
          for (int i = 0; i < values.size(); ++i)
          {
-            Array.set(array, i, values.get(i).value(arrayType, ctx));
+            Array.set(array, i, values.get(i).value(arrayType, ctx, manager));
          }
       }
       catch (Exception e)

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/CollectionFieldSet.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -34,6 +34,7 @@
 import java.util.TreeSet;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.seam.xml.model.ValueXmlItem;
 import org.jboss.seam.xml.util.TypeReader;
@@ -118,7 +119,7 @@
       }
    }
 
-   public void setValue(Object instance, CreationalContext<?> ctx)
+   public void setValue(Object instance, CreationalContext<?> ctx, BeanManager manager)
    {
       try
       {
@@ -126,7 +127,7 @@
          field.setValue(instance, res);
          for (int i = 0; i < values.size(); ++i)
          {
-            res.add(values.get(i).value(elementType, ctx));
+            res.add(values.get(i).value(elementType, ctx, manager));
          }
       }
       catch (Exception e)

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ConstantFieldValue.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ConstantFieldValue.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ConstantFieldValue.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -22,6 +22,7 @@
 package org.jboss.seam.xml.fieldset;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.seam.xml.util.XmlObjectConverter;
 
@@ -40,7 +41,7 @@
       this.stringValue = stringValue;
    }
 
-   public Object value(Class<?> type, CreationalContext<?> cyx)
+   public Object value(Class<?> type, CreationalContext<?> cyx, BeanManager manager)
    {
       return XmlObjectConverter.convert(type, stringValue);
    }

Added: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ELFieldValue.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ELFieldValue.java	                        (rev 0)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/ELFieldValue.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.xml.fieldset;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+import org.jboss.weld.extensions.el.Expressions;
+import org.jboss.weld.extensions.literal.DefaultLiteral;
+
+/**
+ * Field value impl for EL expressions
+ * 
+ * @author Stuart Douglas
+ * 
+ */
+public class ELFieldValue implements FieldValue
+{
+   private final String expression;
+   private Expressions expressions;
+
+   public ELFieldValue(String expression)
+   {
+      this.expression = expression;
+   }
+
+   public Object value(Class<?> type, CreationalContext<?> ctx, BeanManager manager)
+   {
+      if (expressions == null)
+      {
+         Bean<Expressions> expressionsBean = (Bean) manager.resolve(manager.getBeans(Expressions.class, DefaultLiteral.INSTANCE));
+         CreationalContext<Expressions> bc = manager.createCreationalContext(expressionsBean);
+         expressions = (Expressions) manager.getReference(expressionsBean, Expressions.class, bc);
+      }
+      return expressions.evaluateValueExpression(expression);
+   }
+}

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValue.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValue.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValue.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -22,6 +22,7 @@
 package org.jboss.seam.xml.fieldset;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 /**
  * represents an initial field value. This may just be a wrapper around a
@@ -32,5 +33,5 @@
  */
 public interface FieldValue
 {
-   public Object value(Class<?> type, CreationalContext<?> ctx);
+   public Object value(Class<?> type, CreationalContext<?> ctx, BeanManager manager);
 }

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValueObject.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValueObject.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/FieldValueObject.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -22,6 +22,7 @@
 package org.jboss.seam.xml.fieldset;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 /**
  * FieldValueObjects set field values for a given instance
@@ -31,6 +32,6 @@
  */
 public interface FieldValueObject
 {
-   public void setValue(Object instance, CreationalContext<?> ctx);
+   public void setValue(Object instance, CreationalContext<?> ctx, BeanManager manager);
 
 }

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InjectionTargetWrapper.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InjectionTargetWrapper.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InjectionTargetWrapper.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -25,6 +25,7 @@
 import java.util.Set;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.InjectionPoint;
 import javax.enterprise.inject.spi.InjectionTarget;
 
@@ -32,18 +33,20 @@
 {
    private final InjectionTarget<T> target;
    private final List<FieldValueObject> fieldValues;
+   private final BeanManager manager;
 
-   public InjectionTargetWrapper(InjectionTarget<T> target, List<FieldValueObject> fieldValues)
+   public InjectionTargetWrapper(InjectionTarget<T> target, List<FieldValueObject> fieldValues, BeanManager manager)
    {
       this.fieldValues = fieldValues;
       this.target = target;
+      this.manager = manager;
    }
 
    public void inject(T instance, CreationalContext<T> ctx)
    {
       for (FieldValueObject f : fieldValues)
       {
-         f.setValue(instance, ctx);
+         f.setValue(instance, ctx, manager);
       }
       target.inject(instance, ctx);
    }

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InlineBeanFieldValue.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InlineBeanFieldValue.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/InlineBeanFieldValue.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -38,18 +38,15 @@
 
    private final InlineBeanQualifier.InlineBeanQualifierLiteral literal;
 
-   private final BeanManager manager;
-
    private Bean<?> bean;
 
-   public InlineBeanFieldValue(int syntheticBeanQualifierNo, BeanManager manager)
+   public InlineBeanFieldValue(int syntheticBeanQualifierNo)
    {
       this.beanId = syntheticBeanQualifierNo;
       this.literal = new InlineBeanQualifier.InlineBeanQualifierLiteral(beanId);
-      this.manager = manager;
    }
 
-   public Object value(Class<?> type, CreationalContext<?> ctx)
+   public Object value(Class<?> type, CreationalContext<?> ctx, BeanManager manager)
    {
       if (bean == null)
       {

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/MapFieldSet.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -33,6 +33,7 @@
 import java.util.Map.Entry;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.seam.xml.model.EntryXmlItem;
 import org.jboss.seam.xml.util.TypeReader;
@@ -104,7 +105,7 @@
       }
    }
 
-   public void setValue(Object instance, CreationalContext<?> ctx)
+   public void setValue(Object instance, CreationalContext<?> ctx, BeanManager manager)
    {
       try
       {
@@ -113,7 +114,7 @@
          for (int i = 0; i < values.size(); ++i)
          {
             Entry<Object, FieldValue> e = values.get(i);
-            res.put(e.getKey(), e.getValue().value(valueType, ctx));
+            res.put(e.getKey(), e.getValue().value(valueType, ctx, manager));
          }
       }
       catch (Exception e)

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/fieldset/SimpleFieldValue.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -22,6 +22,7 @@
 package org.jboss.seam.xml.fieldset;
 
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.weld.extensions.util.properties.Property;
 
@@ -44,11 +45,11 @@
       this.value = value;
    }
 
-   public void setValue(Object instance, CreationalContext<?> ctx)
+   public void setValue(Object instance, CreationalContext<?> ctx, BeanManager manager)
    {
       try
       {
-         field.setValue(instance, value.value(field.getJavaClass(), ctx));
+         field.setValue(instance, value.value(field.getJavaClass(), ctx, manager));
       }
       catch (Exception e)
       {

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/FieldXmlItem.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/FieldXmlItem.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/FieldXmlItem.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -25,6 +25,8 @@
 import java.lang.reflect.Method;
 
 import org.jboss.seam.xml.fieldset.ConstantFieldValue;
+import org.jboss.seam.xml.fieldset.ELFieldValue;
+import org.jboss.seam.xml.fieldset.FieldValue;
 import org.jboss.seam.xml.fieldset.SimpleFieldValue;
 import org.jboss.seam.xml.util.TypeOccuranceInformation;
 import org.jboss.weld.extensions.util.properties.Properties;
@@ -40,9 +42,19 @@
       super(XmlItemType.FIELD, parent, parent.getJavaClass(), innerText, null, document, lineno);
       this.field = c;
       this.property = getFieldValueSetter(c);
+
       if (innerText != null && innerText.length() > 0)
       {
-         fieldValue = new SimpleFieldValue(parent.getJavaClass(), property, new ConstantFieldValue(innerText));
+         FieldValue fv;
+         if (innerText.matches("^#\\{.*\\}$"))
+         {
+            fv = new ELFieldValue(innerText);
+         }
+         else
+         {
+            fv = new ConstantFieldValue(innerText);
+         }
+         fieldValue = new SimpleFieldValue(parent.getJavaClass(), property, fv);
       }
       allowed.add(TypeOccuranceInformation.of(XmlItemType.ANNOTATION, null, null));
       allowed.add(TypeOccuranceInformation.of(XmlItemType.VALUE, null, null));

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/PropertyXmlItem.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/PropertyXmlItem.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/PropertyXmlItem.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -24,6 +24,8 @@
 import java.lang.reflect.Method;
 
 import org.jboss.seam.xml.fieldset.ConstantFieldValue;
+import org.jboss.seam.xml.fieldset.ELFieldValue;
+import org.jboss.seam.xml.fieldset.FieldValue;
 import org.jboss.seam.xml.fieldset.FieldValueObject;
 import org.jboss.seam.xml.fieldset.SimpleFieldValue;
 import org.jboss.weld.extensions.util.properties.Properties;
@@ -44,7 +46,16 @@
       this.property = Properties.createProperty(setter);
       if (innerText != null && innerText.length() > 0)
       {
-         fieldValue = new SimpleFieldValue(parent.getJavaClass(), property, new ConstantFieldValue(innerText));
+         FieldValue fv;
+         if (innerText.matches("^#\\{.*\\}$"))
+         {
+            fv = new ELFieldValue(innerText);
+         }
+         else
+         {
+            fv = new ConstantFieldValue(innerText);
+         }
+         fieldValue = new SimpleFieldValue(parent.getJavaClass(), property, fv);
       }
    }
 

Modified: modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java
===================================================================
--- modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -29,6 +29,7 @@
 
 import org.jboss.seam.xml.core.BeanResult;
 import org.jboss.seam.xml.fieldset.ConstantFieldValue;
+import org.jboss.seam.xml.fieldset.ELFieldValue;
 import org.jboss.seam.xml.fieldset.FieldValue;
 import org.jboss.seam.xml.fieldset.InlineBeanFieldValue;
 import org.jboss.seam.xml.fieldset.InlineBeanIdCreator;
@@ -85,11 +86,15 @@
    {
       if (inlineBean == null)
       {
+         if (innerText.matches("^#\\{.*\\}$"))
+         {
+            return new ELFieldValue(innerText);
+         }
          return new ConstantFieldValue(innerText);
       }
       else
       {
-         return new InlineBeanFieldValue(syntheticQualifierId, manager);
+         return new InlineBeanFieldValue(syntheticQualifierId);
       }
    }
 }

Added: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/ELValueProducer.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/ELValueProducer.java	                        (rev 0)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/ELValueProducer.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.xml.test.fieldset;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Named;
+
+public class ELValueProducer
+{
+
+   public static final String EL_VALUE_STRING = "EL Value String";
+
+   @Produces
+   @Named("elValue")
+   public String getElValue()
+   {
+      return EL_VALUE_STRING;
+   }
+
+}

Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/FieldValueBean.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/FieldValueBean.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/FieldValueBean.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -51,6 +51,10 @@
 
    public long lvalue;
 
+   public String elValue;
+
+   public String elInnerTextValue;
+
    int noFieldValue;
 
    public void setIvalue(int value)

Modified: modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/SetFieldValueBeanTest.java
===================================================================
--- modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/SetFieldValueBeanTest.java	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/test/java/org/jboss/seam/xml/test/fieldset/SetFieldValueBeanTest.java	2010-08-01 12:59:15 UTC (rev 13541)
@@ -53,7 +53,8 @@
       Assert.assertTrue(x.lvalue == 23);
       Assert.assertTrue(x.svalue == 4);
       Assert.assertTrue(x.noFieldValue == 7);
-
+      Assert.assertEquals(ELValueProducer.EL_VALUE_STRING, x.elValue);
+      Assert.assertEquals(ELValueProducer.EL_VALUE_STRING, x.elInnerTextValue);
    }
 
    @Test

Modified: modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/fieldset/set-field-value-beans.xml
===================================================================
--- modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/fieldset/set-field-value-beans.xml	2010-08-01 12:05:49 UTC (rev 13540)
+++ modules/xml/trunk/impl/src/test/resources/org/jboss/seam/xml/test/fieldset/set-field-value-beans.xml	2010-08-01 12:59:15 UTC (rev 13541)
@@ -17,6 +17,8 @@
         <test:svalue>4</test:svalue>
         <test:bigDecimalValue>10</test:bigDecimalValue>
         <test:noField>7</test:noField>
+        <test:elValue><value>#{elValue}</value></test:elValue>
+        <test:elInnerTextValue>#{elValue}</test:elInnerTextValue>
     </test:FieldValueBean>
     
     <test:FieldValueBean ivalue="10" stringValue="hello world" enumValue="A" fvalue="0" dvalue="0" bvalue="true" lvalue="23" svalue="4" bigDecimalValue="10" noField="7" >



More information about the seam-commits mailing list