[jboss-cvs] JBossAS SVN: r73699 - in projects/jboss-deployers/trunk/deployers-vfs/src: resources/tests/bean/multiple/multirar.jar and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 27 06:00:56 EDT 2008
Author: alesj
Date: 2008-05-27 06:00:56 -0400 (Tue, 27 May 2008)
New Revision: 73699
Added:
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias-ext.xml
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias.xml
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/jboss-rar.xml
projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/rar.xml
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/AliasMetaData.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/MultiRarDeployer.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/test/MultiFilesUnitTestCase.java
Modified:
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/MergeDeployerTestSuite.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentDeployer.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentMetaData.java
Log:
Test MultipleSRD.
Added: projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias-ext.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias-ext.xml (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias-ext.xml 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aliases xmlns="urn:jboss:alias:1.0">
+ <alias>Alias2</alias>
+</aliases>
\ No newline at end of file
Added: projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias.xml (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/alias.xml 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aliases xmlns="urn:jboss:alias:1.0">
+ <alias>Alias1</alias>
+</aliases>
\ No newline at end of file
Added: projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/jboss-rar.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/jboss-rar.xml (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/jboss-rar.xml 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: ra.xml 71789 2008-04-08 13:46:40Z adrian at jboss.org $ -->
+
+<jboss-connector xmlns="http://jboss.org/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
+ version="1.5"
+>
+
+ <description>JBoss LocalTransaction JDBC Wrapper Resource Adapter</description>
+
+ <elt>java.lang.Object</elt>
+
+</jboss-connector>
\ No newline at end of file
Added: projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/rar.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/rar.xml (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/resources/tests/bean/multiple/multirar.jar/META-INF/rar.xml 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: ra.xml 71789 2008-04-08 13:46:40Z adrian at jboss.org $ -->
+
+<connector xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
+ version="1.5"
+ attrib="Test"
+>
+
+ <description>JBoss LocalTransaction JDBC Wrapper Resource Adapter</description>
+
+</connector>
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/MergeDeployerTestSuite.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/MergeDeployerTestSuite.java 2008-05-27 09:13:50 UTC (rev 73698)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/MergeDeployerTestSuite.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -26,6 +26,7 @@
import junit.textui.TestRunner;
import org.jboss.test.deployers.vfs.deployer.merge.test.BeanMergeUnitTestCase;
import org.jboss.test.deployers.vfs.deployer.merge.test.MockRarUnitTestCase;
+import org.jboss.test.deployers.vfs.deployer.merge.test.MultiFilesUnitTestCase;
/**
* Merge deployers tests.
@@ -45,6 +46,7 @@
suite.addTest(BeanMergeUnitTestCase.suite());
suite.addTest(MockRarUnitTestCase.suite());
+ suite.addTest(MultiFilesUnitTestCase.suite());
return suite;
}
Copied: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/AliasMetaData.java (from rev 73696, projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarMetaData.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/AliasMetaData.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/AliasMetaData.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,52 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* 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.test.deployers.vfs.deployer.merge.support;
+
+import java.io.Serializable;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlNsForm;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.xb.annotations.JBossXmlSchema;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+ at JBossXmlSchema(namespace="urn:jboss:alias:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
+ at XmlRootElement(name="aliases")
+public class AliasMetaData implements Serializable
+{
+ public static final long serialUIDVersion = 1l;
+
+ private String alias;
+
+ public String getAlias()
+ {
+ return alias;
+ }
+
+ @XmlElement
+ public void setAlias(String alias)
+ {
+ this.alias = alias;
+ }
+}
\ No newline at end of file
Added: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/MultiRarDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/MultiRarDeployer.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/MultiRarDeployer.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,85 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* 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.test.deployers.vfs.deployer.merge.support;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.HashSet;
+
+import org.jboss.deployers.vfs.spi.deployer.MultipleSchemaResolverDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class MultiRarDeployer extends MultipleSchemaResolverDeployer<RarDeploymentMetaData>
+{
+ private static Map<String, Class<?>> getMappings()
+ {
+ Map<String, Class<?>> mappings = new HashMap<String, Class<?>>();
+ mappings.put("rar.xml", RarMetaData.class);
+ mappings.put("jboss-rar.xml", JBossRarMetaData.class);
+ mappings.put("alias.xml", AliasMetaData.class);
+ mappings.put("alias-ext.xml", AliasMetaData.class);
+ return mappings;
+ }
+
+ public MultiRarDeployer()
+ {
+ super(RarDeploymentMetaData.class, getMappings());
+ }
+
+ protected RarDeploymentMetaData mergeMetaData(VFSDeploymentUnit unit, Map<Class<?>, List<Object>> metadata) throws Exception
+ {
+ RarDeploymentMetaData deployment = new RarDeploymentMetaData();
+ RarMetaData spec = getInstance(metadata, RarMetaData.class);
+ JBossRarMetaData jboss = getInstance(metadata, JBossRarMetaData.class);
+ if (spec != null)
+ {
+ deployment.setAttribute(spec.getAttribute());
+ deployment.setElement(spec.getElement());
+ }
+ if (jboss != null)
+ {
+ if (jboss.getAttribute() != null)
+ deployment.setAttribute(jboss.getAttribute());
+ if (jboss.getElement() != null)
+ deployment.setElement(jboss.getElement());
+ }
+
+ List<Object> aliases = metadata.get(AliasMetaData.class);
+ if (aliases != null)
+ {
+ Set<Object> strings = new HashSet<Object>();
+ for (Object md : aliases)
+ {
+ AliasMetaData amd = AliasMetaData.class.cast(md);
+ strings.add(amd.getAlias());
+ }
+ deployment.setAliases(strings);
+ }
+
+ return deployment;
+ }
+}
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentDeployer.java 2008-05-27 09:13:50 UTC (rev 73698)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentDeployer.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -21,11 +21,11 @@
*/
package org.jboss.test.deployers.vfs.deployer.merge.support;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
/**
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -40,6 +40,8 @@
public void deploy(DeploymentUnit unit, RarDeploymentMetaData deployment) throws DeploymentException
{
- unit.addAttachment(BeanMetaData.class, new AbstractBeanMetaData(deployment.getAttribute(), deployment.getElement()));
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deployment.getAttribute(), deployment.getElement());
+ builder.setAliases(deployment.getAliases());
+ unit.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
}
}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentMetaData.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentMetaData.java 2008-05-27 09:13:50 UTC (rev 73698)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/support/RarDeploymentMetaData.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -22,6 +22,7 @@
package org.jboss.test.deployers.vfs.deployer.merge.support;
import java.io.Serializable;
+import java.util.Set;
/**
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
@@ -30,6 +31,7 @@
{
public static final long serialUIDVersion = 1l;
+ private Set<Object> aliases;
private String attribute;
private String element;
@@ -52,4 +54,14 @@
{
this.element = element;
}
+
+ public Set<Object> getAliases()
+ {
+ return aliases;
+ }
+
+ public void setAliases(Set<Object> aliases)
+ {
+ this.aliases = aliases;
+ }
}
\ No newline at end of file
Copied: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/test/MultiFilesUnitTestCase.java (from rev 73696, projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/test/MockRarUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/test/MultiFilesUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/merge/test/MultiFilesUnitTestCase.java 2008-05-27 10:00:56 UTC (rev 73699)
@@ -0,0 +1,83 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* 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.test.deployers.vfs.deployer.merge.test;
+
+import junit.framework.Test;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.kernel.Kernel;
+import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
+import org.jboss.test.deployers.vfs.deployer.merge.support.MultiRarDeployer;
+import org.jboss.test.deployers.vfs.deployer.merge.support.RarDeploymentDeployer;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class MultiFilesUnitTestCase extends AbstractDeployerUnitTest
+{
+ public MultiFilesUnitTestCase(String name) throws Throwable
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(MultiFilesUnitTestCase.class);
+ }
+
+ protected void addDeployers(Kernel kernel)
+ {
+ MultiRarDeployer deployer = new MultiRarDeployer();
+ deployer.setUseSchemaValidation(false);
+ try
+ {
+ controller.install(new AbstractBeanMetaData("mrd", MultiRarDeployer.class.getName()), deployer);
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException(t);
+ }
+ addDeployer(main, deployer);
+ addDeployer(main, new RarDeploymentDeployer());
+ addDeployer(main, new KernelDeploymentDeployer());
+ addDeployer(main, new BeanMetaDataDeployer(kernel));
+ }
+
+ public void testMultipleNames() throws Exception
+ {
+ VFSDeployment deployment = createDeployment("/bean", "multiple/multirar.jar");
+ assertDeploy(deployment);
+
+ ControllerContext context = controller.getInstalledContext("Test");
+ assertNotNull(context);
+ context = controller.getInstalledContext("Alias1");
+ assertNotNull(context);
+ context = controller.getInstalledContext("Alias2");
+ assertNotNull(context);
+
+ assertUndeploy(deployment);
+ assertNull(controller.getContext("Test", null));
+ }
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list