[
https://issues.jboss.org/browse/SHRINKWRAP-398?page=com.atlassian.jira.pl...
]
Craig Ringer updated SHRINKWRAP-398:
------------------------------------
Labels: alternative arquillian beans beans.xml descriptors shrinkwrap (was:
arquillian beans beans.xml descriptors shrinkwrap)
Description:
Using:
org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-impl-javaee:jar:2.0.0-alpha-2
The attached test case produces an invalid beans.xml with a duplicate
<alternatives/> entry with the code:
{code}
BeansDescriptor beansXml = Descriptors.importAs(BeansDescriptor.class)
.from(new File("src/main/webapp/WEB-INF/beans.xml"))
.getOrCreateAlternatives();
{code}
'getOrCreate' is in fact always creating an alternatives entry, so the following
beans.xml is produced in the example:
{code}
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<beans
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<alternatives>
<alternative>com.example.shrinkwraptestskeleton.Production</alternative>
</alternatives>
<alternatives/>
</beans>
{code}
The produced beans.xml descriptor fails at deployment time with:
org.jboss.weld.exceptions.DefinitionException: WELD-001203 <alternatives> can only
be specified once, but appears multiple times:
vfs:/content/demo.jar/META-INF/beans.xml@6
Also: Since there can only ever be one <alternatives/> block, it's not clear
what the difference between getOrCreateAlternatives() and createAlternatives() is. Is the
latter supposed to *replace* any existing block?
The API for managing alternatives is in Descriptors 2.0 is IMO difficult to use and
understand. Issues with examples pending.
was:
Using:
org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-impl-javaee:jar:2.0.0-alpha-2
The attached test case produces an invalid beans.xml with a duplicate
<alternatives/> entry with the code:
{code}
BeansDescriptor beansXml = Descriptors.importAs(BeansDescriptor.class)
.from(new File("src/main/webapp/WEB-INF/beans.xml"))
.getOrCreateAlternatives();
{code}
'getOrCreate' is in fact always creating an alternatives entry, so the following
beans.xml is produced in the example:
{code}
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<beans
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<alternatives>
<alternative>com.example.shrinkwraptestskeleton.Production</alternative>
</alternatives>
<alternatives/>
</beans>
{code}
Also: Since there can only ever be one <alternatives/> block, it's not clear
what the difference between getOrCreateAlternatives() and createAlternatives() is. Is the
latter supposed to *replace* any existing block?
The API for managing alternatives is in Descriptors 2.0 is IMO difficult to use and
understand. Issues with examples pending.
Descriptors 2.0 module creates duplicate <alternatives/>
entries (test case attached)
-------------------------------------------------------------------------------------
Key: SHRINKWRAP-398
URL:
https://issues.jboss.org/browse/SHRINKWRAP-398
Project: ShrinkWrap
Issue Type: Bug
Components: ext-descriptors
Affects Versions: 1.0.0
Environment: java version "1.7.0_01"
Java(TM) SE Runtime Environment (build 1.7.0_01-b08)
Java HotSpot(TM) 64-Bit Server VM (build 21.1-b02, mixed mode)
Linux ayaki.localdomain 3.3.0-4.fc16.x86_64 #1 SMP Tue Mar 20 18:05:40 UTC 2012 x86_64
x86_64 x86_64 GNU/Linux
Reporter: Craig Ringer
Labels: alternative, arquillian, beans, beans.xml, descriptors, shrinkwrap
Attachments: ArquillianShrinkwrapDuplicateAlternatives.zip
Using:
org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-impl-javaee:jar:2.0.0-alpha-2
The attached test case produces an invalid beans.xml with a duplicate
<alternatives/> entry with the code:
{code}
BeansDescriptor beansXml = Descriptors.importAs(BeansDescriptor.class)
.from(new File("src/main/webapp/WEB-INF/beans.xml"))
.getOrCreateAlternatives();
{code}
'getOrCreate' is in fact always creating an alternatives entry, so the following
beans.xml is produced in the example:
{code}
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<beans
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<alternatives>
<alternative>com.example.shrinkwraptestskeleton.Production</alternative>
</alternatives>
<alternatives/>
</beans>
{code}
The produced beans.xml descriptor fails at deployment time with:
org.jboss.weld.exceptions.DefinitionException: WELD-001203 <alternatives> can only
be specified once, but appears multiple times:
vfs:/content/demo.jar/META-INF/beans.xml@6
Also: Since there can only ever be one <alternatives/> block, it's not clear
what the difference between getOrCreateAlternatives() and createAlternatives() is. Is the
latter supposed to *replace* any existing block?
The API for managing alternatives is in Descriptors 2.0 is IMO difficult to use and
understand. Issues with examples pending.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira