[seam-commits] Seam SVN: r13543 - modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Sun Aug 1 17:29:30 EDT 2010


Author: swd847
Date: 2010-08-01 17:29:30 -0400 (Sun, 01 Aug 2010)
New Revision: 13543

Modified:
   modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java
Log:
error checking for inline bean definitions 


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 21:23:34 UTC (rev 13542)
+++ modules/xml/trunk/impl/src/main/java/org/jboss/seam/xml/model/ValueXmlItem.java	2010-08-01 21:29:30 UTC (rev 13543)
@@ -25,6 +25,7 @@
 import java.util.List;
 import java.util.Set;
 
+import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.spi.BeanManager;
 
 import org.jboss.seam.xml.core.BeanResult;
@@ -62,10 +63,15 @@
          ClassXmlItem inline = inlineBeans.get(0);
          for (AnnotationXmlItem i : inline.getChildrenOfType(AnnotationXmlItem.class))
          {
-            if (manager.isQualifier((Class) i.getJavaClass()))
+            Class annotation = (Class) i.getJavaClass();
+            if (manager.isQualifier(annotation))
             {
-               throw new XmlConfigurationException("Cannot define qualifiers on inline beans", i.getDocument(), i.getLineno());
+               throw new XmlConfigurationException("Cannot define qualifiers on inline beans, Qualifier: " + annotation.getName(), i.getDocument(), i.getLineno());
             }
+            else if (manager.isScope(annotation) && annotation != Dependent.class)
+            {
+               throw new XmlConfigurationException("Inline beans must have @Dependent scope, Scope: " + annotation.getName(), i.getDocument(), i.getLineno());
+            }
          }
          syntheticQualifierId = InlineBeanIdCreator.getId();
          AnnotationXmlItem syntheticQualifier = new AnnotationXmlItem(this, InlineBeanQualifier.class, "" + syntheticQualifierId, Collections.EMPTY_MAP, getDocument(), getLineno());



More information about the seam-commits mailing list