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());
Show replies by date