[jboss-cvs] JBossAS SVN: r74453 - in projects/metadata/tags: 1.0.0.Beta20 and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 11 23:31:48 EDT 2008
Author: scott.stark at jboss.org
Date: 2008-06-11 23:31:48 -0400 (Wed, 11 Jun 2008)
New Revision: 74453
Added:
projects/metadata/tags/1.0.0.Beta20/
projects/metadata/tags/1.0.0.Beta20/pom.xml
projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
Removed:
projects/metadata/tags/1.0.0.Beta20/pom.xml
projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
Log:
[maven-release-plugin] copy for tag 1.0.0.Beta20
Copied: projects/metadata/tags/1.0.0.Beta20 (from rev 74441, projects/metadata/trunk)
Deleted: projects/metadata/tags/1.0.0.Beta20/pom.xml
===================================================================
--- projects/metadata/trunk/pom.xml 2008-06-12 00:22:38 UTC (rev 74441)
+++ projects/metadata/tags/1.0.0.Beta20/pom.xml 2008-06-12 03:31:48 UTC (rev 74453)
@@ -1,212 +0,0 @@
-<!--
- vi:ts=2:sw=2:expandtab
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>3</version>
- </parent>
- <groupId>org.jboss.metadata</groupId>
- <artifactId>jboss-metadata</artifactId>
- <packaging>jar</packaging>
- <version>1.0.0-SNAPSHOT</version>
- <name>JBoss Metadata</name>
- <url>http://www.jboss.org</url>
- <description>The common JavaEE metadata classes</description>
- <scm>
- <connection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/metadata/trunk/</connection>
- </scm>
- <licenses>
- <license>
- <name>lgpl</name>
- <url>http://repository.jboss.com/licenses/lgpl.txt</url>
- </license>
- </licenses>
- <organization>
- <name>JBoss, A division of Red Hat</name>
- <url>http://www.jboss.org</url>
- </organization>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <printSummary>true</printSummary>
- <disableXmlReport>false</disableXmlReport>
- <testFailureIgnore>true</testFailureIgnore>
- <redirectTestOutputToFile>true</redirectTestOutputToFile>
- <includes>
- <include>**/*TestCase.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <!--
- Eclipse settings have been removed from parent. This needs to be
- done via an eclipse profile.
- http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085896#4085896
- -->
- <profiles>
- <profile>
- <id>eclipse</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <configuration>
- <downloadSources>true</downloadSources>
- <buildOutputDirectory>target/eclipse-classes</buildOutputDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <!-- This profile allows hudson to skip the jboss-deploy step -->
- <id>jboss-deploy</id>
- <activation>
- <property>
- <name>!skip.jboss-deploy</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.jboss.maven.plugins</groupId>
- <artifactId>maven-jboss-deploy-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <id>jboss-deploy</id>
- <goals>
- <goal>jboss-deploy</goal>
- </goals>
- <phase>deploy</phase>
- </execution>
- </executions>
- <configuration>
- <groupId>jboss</groupId>
- <imports>
- <jboss.common-core>2.2.1.GA,2.2.2.GA</jboss.common-core>
- </imports>
- <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
- <removeArtifactVersion>true</removeArtifactVersion>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
- <!-- Compile Dependencies -->
- <dependencies>
-
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <version>2.0.5.GA</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-common-core</artifactId>
- <version>2.2.5.GA</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.ejb3</groupId>
- <artifactId>jboss-ejb3-ext-api</artifactId>
- <version>0.3</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-ejb-api</artifactId>
- <version>3.0.0.CR1</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-jms-api</artifactId>
- <version>1.1.0.CR1</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-persistence-api</artifactId>
- <version>3.0.0.CR1</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-transaction-api</artifactId>
- <version>1.0.1.CR1</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-spi</artifactId>
- <version>1.0.2.GA</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-jaxws</artifactId>
- <version>2.0.1.GA</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jbossxb</artifactId>
- <version>2.0.0.CR9</version>
- <exclusions>
- <exclusion>
- <groupId>jboss</groupId>
- <artifactId>jboss-common-logging-spi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-vfs</artifactId>
- <version>2.0.0.Beta11</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-mdr</artifactId>
- <version>2.0.0.Beta15</version>
- </dependency>
-
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.1</version>
- </dependency>
-
- <!-- Test Dependencies -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.test</groupId>
- <artifactId>jboss-test</artifactId>
- <version>1.1.0.GA</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
Copied: projects/metadata/tags/1.0.0.Beta20/pom.xml (from rev 74452, projects/metadata/trunk/pom.xml)
===================================================================
--- projects/metadata/tags/1.0.0.Beta20/pom.xml (rev 0)
+++ projects/metadata/tags/1.0.0.Beta20/pom.xml 2008-06-12 03:31:48 UTC (rev 74453)
@@ -0,0 +1,212 @@
+<!--
+ vi:ts=2:sw=2:expandtab
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>3</version>
+ </parent>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0.0.Beta20</version>
+ <name>JBoss Metadata</name>
+ <url>http://www.jboss.org</url>
+ <description>The common JavaEE metadata classes</description>
+ <scm>
+ <connection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/metadata/tags/1.0.0.Beta20</connection>
+ </scm>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss, A division of Red Hat</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <printSummary>true</printSummary>
+ <disableXmlReport>false</disableXmlReport>
+ <testFailureIgnore>true</testFailureIgnore>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <includes>
+ <include>**/*TestCase.java</include>
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!--
+ Eclipse settings have been removed from parent. This needs to be
+ done via an eclipse profile.
+ http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085896#4085896
+ -->
+ <profiles>
+ <profile>
+ <id>eclipse</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <buildOutputDirectory>target/eclipse-classes</buildOutputDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <!-- This profile allows hudson to skip the jboss-deploy step -->
+ <id>jboss-deploy</id>
+ <activation>
+ <property>
+ <name>!skip.jboss-deploy</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jboss-deploy-plugin</artifactId>
+ <version>1.5</version>
+ <executions>
+ <execution>
+ <id>jboss-deploy</id>
+ <goals>
+ <goal>jboss-deploy</goal>
+ </goals>
+ <phase>deploy</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <groupId>jboss</groupId>
+ <imports>
+ <jboss.common-core>2.2.1.GA,2.2.2.GA</jboss.common-core>
+ </imports>
+ <jbossDeployRoot>${jboss.repository.root}</jbossDeployRoot>
+ <removeArtifactVersion>true</removeArtifactVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+ <!-- Compile Dependencies -->
+ <dependencies>
+
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ <version>2.0.5.GA</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ <version>2.2.5.GA</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-ext-api</artifactId>
+ <version>0.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-ejb-api</artifactId>
+ <version>3.0.0.CR1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-jms-api</artifactId>
+ <version>1.1.0.CR1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-persistence-api</artifactId>
+ <version>3.0.0.CR1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-transaction-api</artifactId>
+ <version>1.0.1.CR1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-spi</artifactId>
+ <version>1.0.2.GA</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-jaxws</artifactId>
+ <version>2.0.1.GA</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ <version>2.0.0.CR9</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ <version>2.0.0.Beta11</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-mdr</artifactId>
+ <version>2.0.0.Beta15</version>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.1</version>
+ </dependency>
+
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.test</groupId>
+ <artifactId>jboss-test</artifactId>
+ <version>1.1.0.GA</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+</project>
Deleted: projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2008-06-12 00:22:38 UTC (rev 74441)
+++ projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2008-06-12 03:31:48 UTC (rev 74453)
@@ -1,273 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2007, Red Hat Middleware LLC, 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.metadata.ejb.jboss;
-
-import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
-import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
-import org.jboss.metadata.ejb.spec.RelationsMetaData;
-import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
-
-/**
- * Read only wrapper that combines a primary and standardjboss.xml defaults into
- * a unified view.
- *
- * @author Scott.Stark at jboss.org
- * @version $Revision$
- */
-public class JBossMetaDataWrapper extends JBossMetaData
-{
- private static final long serialVersionUID = 1;
- private JBossMetaData primary;
- private JBossMetaData defaults;
- private ContainerConfigurationsMetaData configurationsWrapper;
- private transient InvokerProxyBindingsMetaData mergedInvokerBindings;
-
-
- public JBossMetaDataWrapper(JBossMetaData primary, JBossMetaData defaults)
- {
- this.primary = primary;
- this.defaults = defaults;
- configurationsWrapper = new ContainerConfigurationsMetaDataWrapper(primary.getContainerConfigurations(),
- defaults.getContainerConfigurations());
- wireOverrides();
- }
-
- @Override
- public String getDtdPublicId()
- {
- return primary.getDtdPublicId();
- }
-
- @Override
- public String getDtdSystemId()
- {
- return primary.getDtdSystemId();
- }
-
- @Override
- public String getEjbClientJar()
- {
- String clientJar = primary.getEjbClientJar();
- if(clientJar == null)
- clientJar = defaults.getEjbClientJar();
- return clientJar;
- }
-
- @Override
- public InterceptorsMetaData getInterceptors()
- {
- InterceptorsMetaData interceptors = primary.getInterceptors();
- if(interceptors == null)
- interceptors = defaults.getInterceptors();
- return interceptors;
- }
-
- @Override
- public String getJaccContextID()
- {
- String jaccID = primary.getJaccContextID();
- if(jaccID == null)
- jaccID = defaults.getJaccContextID();
- return jaccID;
- }
-
- @Override
- public RelationsMetaData getRelationships()
- {
- RelationsMetaData relations = primary.getRelationships();
- if(relations == null)
- relations = defaults.getRelationships();
- return relations;
- }
-
- @Override
- public boolean isEJB1x()
- {
- return primary.isEJB1x();
- }
-
- @Override
- public boolean isEJB21()
- {
- return primary.isEJB21();
- }
-
- @Override
- public boolean isEJB2x()
- {
- return primary.isEJB2x();
- }
-
- @Override
- public boolean isEJB3x()
- {
- return primary.isEJB3x();
- }
-
- @Override
- public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
- {
- return primary.getAssemblyDescriptor();
- }
-
- @Override
- public ContainerConfigurationMetaData getContainerConfiguration(String name)
- {
- ContainerConfigurationMetaData ccmd = configurationsWrapper.get(name);
- return ccmd;
- }
-
- @Override
- public ContainerConfigurationsMetaData getContainerConfigurations()
- {
- return configurationsWrapper;
- }
-
- @Override
- public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
- {
- return primary.getEnterpriseBean(name);
- }
-
- @Override
- public JBossEnterpriseBeansMetaData getEnterpriseBeans()
- {
- return primary.getEnterpriseBeans();
- }
-
- @Override
- public InvokerProxyBindingMetaData getInvokerProxyBinding(String name)
- {
- InvokerProxyBindingMetaData ipbmd = primary.getInvokerProxyBinding(name);
- if(ipbmd == null)
- ipbmd = defaults.getInvokerProxyBinding(name);
- return ipbmd;
- }
-
- @Override
- public InvokerProxyBindingsMetaData getInvokerProxyBindings()
- {
- if(mergedInvokerBindings == null)
- {
- mergedInvokerBindings = new InvokerProxyBindingsMetaDataWrapper(
- this.primary.getInvokerProxyBindings(),
- this.defaults.getInvokerProxyBindings());
- }
- return mergedInvokerBindings;
- }
-
- @Override
- public String getJmxName()
- {
- String jmxName = primary.getJmxName();
- if(jmxName == null)
- jmxName = defaults.getJmxName();
- return jmxName;
- }
-
- @Override
- public LoaderRepositoryMetaData getLoaderRepository()
- {
- LoaderRepositoryMetaData x = primary.getLoaderRepository();
- if(x == null)
- x = defaults.getLoaderRepository();
- return x;
- }
-
- @Override
- public ResourceManagerMetaData getResourceManager(String name)
- {
- return primary.getResourceManager(name);
- }
-
- @Override
- public ResourceManagersMetaData getResourceManagers()
- {
- return primary.getResourceManagers();
- }
-
- @Override
- public String getSecurityDomain()
- {
- return primary.getSecurityDomain();
- }
-
- @Override
- public String getUnauthenticatedPrincipal()
- {
- String unauthenticatedPrincipal = primary.getUnauthenticatedPrincipal();
- if (unauthenticatedPrincipal == null)
- unauthenticatedPrincipal = defaults.getUnauthenticatedPrincipal();
- return unauthenticatedPrincipal;
- }
-
- @Override
- public String getVersion()
- {
- return primary.getVersion();
- }
-
- @Override
- public WebservicesMetaData getWebservices()
- {
- return primary.getWebservices();
- }
-
- @Override
- public boolean isExceptionOnRollback()
- {
- return primary.isExceptionOnRollback();
- }
-
- @Override
- public boolean isExcludeMissingMethods()
- {
- return primary.isExcludeMissingMethods();
- }
-
- @Override
- public DescriptionGroupMetaData getDescriptionGroup()
- {
- return primary.getDescriptionGroup();
- }
-
- @Override
- public String getId()
- {
- return primary.getId();
- }
-
- @Override
- public String toString()
- {
- return primary.toString();
- }
-
- protected void wireOverrides()
- {
- if( primary != null )
- {
- JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) primary.getEnterpriseBeans();
- beans.setJBossMetaData(this);
- }
- }
-}
Copied: projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java (from rev 74451, projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java)
===================================================================
--- projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java (rev 0)
+++ projects/metadata/tags/1.0.0.Beta20/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaDataWrapper.java 2008-06-12 03:31:48 UTC (rev 74453)
@@ -0,0 +1,319 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, 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.metadata.ejb.jboss;
+
+import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
+import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
+import org.jboss.metadata.ejb.spec.RelationsMetaData;
+import org.jboss.metadata.javaee.jboss.RunAsIdentityMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
+
+/**
+ * Read only wrapper that combines a primary and standardjboss.xml defaults into
+ * a unified view.
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class JBossMetaDataWrapper extends JBossMetaData
+{
+ private static final long serialVersionUID = 1;
+ private JBossMetaData primary;
+ private JBossMetaData defaults;
+ private ContainerConfigurationsMetaData configurationsWrapper;
+ private transient InvokerProxyBindingsMetaData mergedInvokerBindings;
+
+
+ public JBossMetaDataWrapper(JBossMetaData primary, JBossMetaData defaults)
+ {
+ this.primary = primary;
+ this.defaults = defaults;
+ configurationsWrapper = new ContainerConfigurationsMetaDataWrapper(primary.getContainerConfigurations(),
+ defaults.getContainerConfigurations());
+ wireOverrides();
+ }
+
+ @Override
+ public String getDtdPublicId()
+ {
+ return primary.getDtdPublicId();
+ }
+
+ @Override
+ public String getDtdSystemId()
+ {
+ return primary.getDtdSystemId();
+ }
+
+ @Override
+ public String getEjbClientJar()
+ {
+ String clientJar = primary.getEjbClientJar();
+ if(clientJar == null && defaults != null)
+ clientJar = defaults.getEjbClientJar();
+ return clientJar;
+ }
+
+ @Override
+ public InterceptorsMetaData getInterceptors()
+ {
+ InterceptorsMetaData interceptors = primary.getInterceptors();
+ if(interceptors == null && defaults != null)
+ interceptors = defaults.getInterceptors();
+ return interceptors;
+ }
+
+ @Override
+ public String getJaccContextID()
+ {
+ String jaccID = primary.getJaccContextID();
+ if(jaccID == null && defaults != null)
+ jaccID = defaults.getJaccContextID();
+ return jaccID;
+ }
+
+ @Override
+ public RelationsMetaData getRelationships()
+ {
+ RelationsMetaData relations = primary.getRelationships();
+ if(relations == null && defaults != null)
+ relations = defaults.getRelationships();
+ return relations;
+ }
+
+ @Override
+ public boolean isEJB1x()
+ {
+ return primary.isEJB1x();
+ }
+
+ @Override
+ public boolean isEJB21()
+ {
+ return primary.isEJB21();
+ }
+
+ @Override
+ public boolean isEJB2x()
+ {
+ return primary.isEJB2x();
+ }
+
+ @Override
+ public boolean isEJB3x()
+ {
+ return primary.isEJB3x();
+ }
+
+ @Override
+ public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
+ {
+ return primary.getAssemblyDescriptor();
+ }
+
+ @Override
+ public ContainerConfigurationMetaData getContainerConfiguration(String name)
+ {
+ ContainerConfigurationMetaData ccmd = configurationsWrapper.get(name);
+ return ccmd;
+ }
+
+ @Override
+ public ContainerConfigurationsMetaData getContainerConfigurations()
+ {
+ return configurationsWrapper;
+ }
+
+ @Override
+ public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
+ {
+ return primary.getEnterpriseBean(name);
+ }
+
+ @Override
+ public JBossEnterpriseBeansMetaData getEnterpriseBeans()
+ {
+ return primary.getEnterpriseBeans();
+ }
+
+ @Override
+ public InvokerProxyBindingMetaData getInvokerProxyBinding(String name)
+ {
+ InvokerProxyBindingMetaData ipbmd = primary.getInvokerProxyBinding(name);
+ if(ipbmd == null && defaults != null)
+ ipbmd = defaults.getInvokerProxyBinding(name);
+ return ipbmd;
+ }
+
+ @Override
+ public InvokerProxyBindingsMetaData getInvokerProxyBindings()
+ {
+ if(mergedInvokerBindings == null)
+ {
+ mergedInvokerBindings = new InvokerProxyBindingsMetaDataWrapper(
+ this.primary.getInvokerProxyBindings(),
+ this.defaults.getInvokerProxyBindings());
+ }
+ return mergedInvokerBindings;
+ }
+
+ @Override
+ public String getJmxName()
+ {
+ String jmxName = primary.getJmxName();
+ if(jmxName == null && defaults != null)
+ jmxName = defaults.getJmxName();
+ return jmxName;
+ }
+
+ @Override
+ public LoaderRepositoryMetaData getLoaderRepository()
+ {
+ LoaderRepositoryMetaData x = primary.getLoaderRepository();
+ if(x == null && defaults != null)
+ x = defaults.getLoaderRepository();
+ return x;
+ }
+
+ @Override
+ public ResourceManagerMetaData getResourceManager(String name)
+ {
+ return primary.getResourceManager(name);
+ }
+
+ @Override
+ public ResourceManagersMetaData getResourceManagers()
+ {
+ return primary.getResourceManagers();
+ }
+
+ @Override
+ public String getSecurityDomain()
+ {
+ return primary.getSecurityDomain();
+ }
+
+ @Override
+ public String getUnauthenticatedPrincipal()
+ {
+ String unauthenticatedPrincipal = primary.getUnauthenticatedPrincipal();
+ if (unauthenticatedPrincipal == null && defaults != null)
+ unauthenticatedPrincipal = defaults.getUnauthenticatedPrincipal();
+ return unauthenticatedPrincipal;
+ }
+
+
+ @Override
+ public DeploymentSummary getDeploymentSummary()
+ {
+ DeploymentSummary summary = primary.getDeploymentSummary();
+ return summary;
+ }
+
+ @Override
+ public String getJndiBindingPolicy()
+ {
+ String policy = primary.getJndiBindingPolicy();
+ if(policy == null && defaults != null)
+ policy = defaults.getJndiBindingPolicy();
+ return policy;
+ }
+
+ @Override
+ public RunAsIdentityMetaData getRunAsIdentity(String ejbName)
+ {
+ RunAsIdentityMetaData runAs = primary.getRunAsIdentity(ejbName);
+ if(runAs == null && defaults != null)
+ runAs = defaults.getRunAsIdentity(ejbName);
+ return runAs;
+ }
+
+ @Override
+ public boolean isMetadataComplete()
+ {
+ return primary.isMetadataComplete();
+ }
+
+ @Override
+ public String getEjbVersion()
+ {
+ String ejbVersion = primary.getEjbVersion();
+ if(ejbVersion == null)
+ ejbVersion = defaults.getEjbVersion();
+ return ejbVersion;
+ }
+
+ @Override
+ public String getVersion()
+ {
+ String version = primary.getVersion();
+ if(version == null)
+ version = defaults.getVersion();
+ return version;
+ }
+
+ @Override
+ public WebservicesMetaData getWebservices()
+ {
+ return primary.getWebservices();
+ }
+
+ @Override
+ public boolean isExceptionOnRollback()
+ {
+ return primary.isExceptionOnRollback();
+ }
+
+ @Override
+ public boolean isExcludeMissingMethods()
+ {
+ return primary.isExcludeMissingMethods();
+ }
+
+ @Override
+ public DescriptionGroupMetaData getDescriptionGroup()
+ {
+ return primary.getDescriptionGroup();
+ }
+
+ @Override
+ public String getId()
+ {
+ return primary.getId();
+ }
+
+ @Override
+ public String toString()
+ {
+ return primary.toString();
+ }
+
+ protected void wireOverrides()
+ {
+ if( primary != null )
+ {
+ JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) primary.getEnterpriseBeans();
+ beans.setJBossMetaData(this);
+ }
+ }
+}
Deleted: projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java 2008-06-12 00:22:38 UTC (rev 74441)
+++ projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java 2008-06-12 03:31:48 UTC (rev 74453)
@@ -1,1002 +0,0 @@
-/*
-* 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.metadata.ejb;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.jboss.metadata.ApplicationMetaData;
-import org.jboss.metadata.BeanMetaData;
-import org.jboss.metadata.ConfigurationMetaData;
-import org.jboss.metadata.ejb.jboss.CacheInvalidationConfigMetaData;
-import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
-import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
-import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
-import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
-import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
-import org.jboss.metadata.ejb.jboss.JBossConsumerBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
-import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionPolicyDecorator;
-import org.jboss.metadata.ejb.jboss.MessagePropertiesMetaData;
-import org.jboss.metadata.ejb.jboss.ProducerMetaData;
-import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
-import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
-import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
-import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
-import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
-import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
-import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
-import org.jboss.metadata.ejb.spec.EjbJarMetaData;
-import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
-import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
-import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
-import org.jboss.metadata.ejb.spec.SubscriptionDurability;
-import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
-import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
-import org.jboss.metadata.javaee.spec.EJBReferenceType;
-import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
-import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
-import org.jboss.metadata.javaee.spec.PortComponent;
-import org.jboss.metadata.javaee.spec.ResourceAuthorityType;
-import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
-import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
-import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
-import org.jboss.metadata.javaee.spec.RunAsMetaData;
-import org.jboss.metadata.merge.MergeUtil;
-import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
-import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-
-/**
- * Miscellaneous tests with a JBoss 5 xml.
- *
- * @author <a href="carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @author Scott.Stark at jboss.org
- * @version $Revision$
- */
- at SuppressWarnings("deprecation")
-public class JBoss50UnitTestCase extends AbstractJavaEEMetaDataTest
-{
- public static Test suite()
- {
- return suite(JBoss50UnitTestCase.class);
- }
-
- public static SchemaBindingResolver initResolver()
- {
- DefaultSchemaResolver resolver = new DefaultSchemaResolver();
- resolver.addClassBindingForLocation("ejb-jar_2_0.dtd", EjbJar20MetaData.class);
- resolver.addClassBindingForLocation("ejb-jar_2_1.xsd", EjbJar21MetaData.class);
- resolver.addClassBindingForLocation("jboss_3_0.dtd", JBoss50DTDMetaData.class);
- resolver.addClassBindingForLocation("jboss_3_2.dtd", JBoss50DTDMetaData.class);
- resolver.addClassBindingForLocation("jboss_4_0.dtd", JBoss50DTDMetaData.class);
- resolver.addClassBindingForLocation("jboss_4_2.dtd", JBoss50DTDMetaData.class);
- resolver.addClassBindingForLocation("jboss_5_0.dtd", JBoss50DTDMetaData.class);
- resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
- // Workaround wildard resolution slowness
- resolver.addClassBinding("http://www.jboss.com/xml/ns/javaee", JBoss50MetaData.class);
- return resolver;
- }
-
- public static boolean validateSchema()
- {
- return true;
- }
-
- public JBoss50UnitTestCase(String name)
- {
- super(name);
- }
-
- protected JBossMetaData unmarshal() throws Exception
- {
- return unmarshal(JBossMetaData.class);
- }
-
- /**
- * Test for consumer bean
- */
- public void testConsumer() throws Exception
- {
- JBossMetaData result = unmarshal();
-
- assertEquals(1, result.getEnterpriseBeans().size());
- JBossConsumerBeanMetaData bean = (JBossConsumerBeanMetaData) result.getEnterpriseBean("DeploymentDescriptorQueueTestConsumer");
- assertNotNull(bean);
- assertTrue(bean.isConsumer());
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestConsumer", bean.getEjbClass());
- assertEquals("queue/consumertest", bean.getMessageDestination());
- assertEquals("javax.jms.Queue", bean.getMessageDestinationType());
-
- assertEquals(2, bean.getProducers().size());
- {
- ProducerMetaData producer = bean.getProducers().get(0);
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestRemote", producer.getClassName());
- }
- {
- ProducerMetaData producer = bean.getProducers().get(1);
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestXA", producer.getClassName());
- assertEquals("java:/JmsXA", producer.getConnectionFactory());
- }
- assertEquals(1, bean.getLocalProducers().size());
- {
- ProducerMetaData producer = bean.getLocalProducers().get(0);
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestLocal", producer.getClassName());
- assertTrue(producer.isLocal());
- }
- assertEquals(2, bean.getCurrentMessage().size());
- assertNotNull(bean.getCurrentMessage().getMethodAttribute("currentMessage"));
- assertNotNull(bean.getCurrentMessage().getMethodAttribute("setMessage"));
- assertEquals(2, bean.getMessageProperties().size());
- {
- MessagePropertiesMetaData messageProperties = bean.getMessageProperties().get(0);
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTest", messageProperties.getClassName());
- assertEquals("method2", messageProperties.getMethod().getMethodName());
- assertEquals("NonPersistent", messageProperties.getDelivery());
- }
- {
- MessagePropertiesMetaData messageProperties = bean.getMessageProperties().get(1);
- assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestXA", messageProperties.getClassName());
- assertEquals("method2", messageProperties.getMethod().getMethodName());
- assertEquals("Persistent", messageProperties.getDelivery());
- assertEquals(4, (int) messageProperties.getPriority());
- }
-
- String pkg = "consumer";
- String injectionTargetClass = "org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestConsumer";
- {
- assertEquals(1, bean.getEjbReferences().size());
- EJBReferenceMetaData ejbRef = bean.getEjbReferenceByName("ejb/StatelessRemote");
- assertNotNull(ejbRef);
- //assertEquals("test", ejbRef.getDescriptions().value()[0].value());
- assertEquals(EJBReferenceType.Session, ejbRef.getEjbRefType());
- assertEquals("org.jboss.ejb3.test." + pkg + ".StatelessRemote", ejbRef.getRemote());
- assertEquals("StatelessBean", ejbRef.getLink());
- assertEquals("StatelessBean/remote", ejbRef.getJndiName());
- assertEquals(1, ejbRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = ejbRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
- assertEquals("stateless", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getEjbLocalReferences().size());
- EJBLocalReferenceMetaData ejbLocalRef = bean.getEjbLocalReferenceByName("ejb/StatelessLocal");
- assertNotNull(ejbLocalRef);
- assertEquals(EJBReferenceType.Session, ejbLocalRef.getEjbRefType());
- assertEquals("org.jboss.ejb3.test." + pkg +".StatelessLocal", ejbLocalRef.getLocal());
- assertEquals("StatelessBean", ejbLocalRef.getLink());
- assertEquals("StatelessBean/local", ejbLocalRef.getJndiName());
- assertEquals(1, ejbLocalRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = ejbLocalRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
- assertEquals("setStatelessLocal", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getResourceReferences().size());
- ResourceReferenceMetaData resourceRef = bean.getResourceReferenceByName("testDatasource");
- assertNotNull(resourceRef);
- assertEquals("javax.sql.DataSource", resourceRef.getType());
- assertEquals(ResourceAuthorityType.Container, resourceRef.getResAuth());
- assertEquals("java:/DefaultDS", resourceRef.getMappedName());
- assertEquals(1, resourceRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = resourceRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
- assertEquals("testDatasource", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getResourceEnvironmentReferences().size());
- ResourceEnvironmentReferenceMetaData resourceEnvRef = bean.getResourceEnvironmentReferenceByName("res/aQueue");
- assertEquals("javax.jms.Queue", resourceEnvRef.getType());
- assertEquals("queue/mdbtest", resourceEnvRef.getJndiName());
- }
-
- /*
- {
- assertEquals(1, bean.getMessageDestinationReferences().size());
- MessageDestinationReferenceMetaData messageDestinationRef = bean.getMessageDestinationReferenceByName("messageDestinationRef");
- assertNotNull(messageDestinationRef);
- assertEquals("mappedName", messageDestinationRef.getMappedName());
- }
- */
- }
-
- /**
- * Test whether the cardinality of depends and ignore-dependency is correct.
- */
- public void testDependencies() throws Exception
- {
-// JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
-// xbdelegate.setValidateSchema(false);
-
- JBossMetaData result = unmarshal();
-
- assertEquals(1, result.getEnterpriseBeans().size());
- JBossEnterpriseBeanMetaData bean = (JBossEnterpriseBeanMetaData) result.getEnterpriseBean("MyStatelessBean");
- assertNotNull(bean);
- Set<String> expected = new HashSet<String>();
- expected.add("A");
- expected.add("B");
- assertEquals(expected, bean.getDepends());
-
- assertNotNull(bean.getIgnoreDependency());
- assertNotNull(bean.getIgnoreDependency().getInjectionTargets());
- assertEquals(2, bean.getIgnoreDependency().getInjectionTargets().size());
- int i = 1;
- for(ResourceInjectionTargetMetaData target : bean.getIgnoreDependency().getInjectionTargets())
- {
- assertEquals("Class" + i, target.getInjectionTargetClass());
- assertEquals(Character.toString((char) ('B' + i)), target.getInjectionTargetName());
- i++;
- }
- }
-
- /**
- * EJBTHREE-936: allow for an unknown bean type
- */
- public void testEjbthree936() throws Exception
- {
- // normally from the annotation scanner
- EjbJar30MetaData ejbJar = new EjbJar30MetaData();
- ejbJar.setEnterpriseBeans(new EnterpriseBeansMetaData());
- SessionBeanMetaData sessionBean = new SessionBeanMetaData();
- sessionBean.setEjbName("MyStatelessBean");
- ejbJar.getEnterpriseBeans().add(sessionBean);
-
- JBossMetaData jboss = unmarshal();
-
- assertEquals(1, jboss.getEnterpriseBeans().size());
-
- // create a merged view
- JBossMetaData merged = MergeUtil.merge(jboss, ejbJar);
- assertNotNull(merged.getEnterpriseBeans());
- // As of JBMETA-1, this is now a JBossSessionBeanMetaData
- // JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
- JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
- assertEquals(1, bean.getResourceReferences().size());
- ResourceReferenceMetaData ref = bean.getResourceReferenceByName("qFactory");
- assertNotNull(ref);
- assertEquals("ConnectionFactory", ref.getJndiName());
- }
-
- /**
- * EJBTHREE-936: allow for an unknown bean type
- */
- public void testEjbthree936WithoutScanner() throws Exception
- {
- JBossMetaData jboss = unmarshal("JBoss50_testEjbthree936.xml", JBossMetaData.class);
-
- assertEquals(1, jboss.getEnterpriseBeans().size());
-
- // create a merged view
- JBossMetaData merged = MergeUtil.merge(jboss, null);
- assertNotNull(merged.getEnterpriseBeans());
- JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
- assertEquals(1, bean.getResourceReferences().size());
- ResourceReferenceMetaData ref = bean.getResourceReferenceByName("qFactory");
- assertNotNull(ref);
- assertEquals("ConnectionFactory", ref.getJndiName());
- }
-
- /**
- * Test the cardinality of remote bindings
- */
- public void testRemoteBindings() throws Exception
- {
- JBossMetaData jboss = unmarshal();
-
- assertEquals(1, jboss.getEnterpriseBeans().size());
-
- JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) jboss.getEnterpriseBean("StatefulBean");
- sessionBean = new JBossSessionPolicyDecorator(sessionBean);
- String determinedJndiName = sessionBean.determineJndiName();
- boolean determinedValid = false;
- for(int i = 0; i < 2; i++)
- {
- RemoteBindingMetaData remoteBinding = sessionBean.getRemoteBindings().get(i);
- String jndiName = "jndiName" + (i + 1);
- assertEquals(jndiName, remoteBinding.getJndiName());
- assertEquals("clientBindUrl" + (i + 1), remoteBinding.getClientBindUrl());
- determinedValid |= jndiName.equals(determinedJndiName);
- }
- assertTrue("determinedJndiName is one of the remote-binding values", determinedValid);
- }
-
- /**
- * A test for resource-adapter-name (ejb3 jca/inflow unit test)
- */
- public void testResourceAdapterName() throws Exception
- {
- JBossMetaData result = unmarshal();
-
- assertEquals(1, result.getEnterpriseBeans().size());
- JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("TestMDB");
- assertNotNull(bean);
- assertTrue(bean instanceof JBossMessageDrivenBeanMetaData);
- assertEquals("jcainflow.rar", ((JBossMessageDrivenBeanMetaData) bean).getResourceAdapterName());
- }
-
- /**
- * A simple test coming from ejb3 naming unit test.
- *
- * @throws Exception
- */
- public void testSimple() throws Exception
- {
- JBossMetaData result = unmarshal();
-
- assertEquals(1, result.getEnterpriseBeans().size());
- JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("StatefulOverrideBean");
- assertNotNull(bean);
- assertTrue(bean instanceof JBossSessionBeanMetaData);
- assertEquals("StatefulOverride", ((JBossSessionBeanMetaData) bean).getJndiName());
- }
-
- /**
- * Test the service bean from dd.
- */
- public void testService() throws Exception
- {
-// JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
-// xbdelegate.setValidateSchema(false);
-
- JBossMetaData result = unmarshal();
-
- JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) result.getEnterpriseBean("ServiceSix");
- assertNotNull(bean);
- assertEquals("ServiceSix", bean.getEjbName());
-
- assertEquals("service description", bean.getDescriptionGroup().getDescription());
-
- assertEquals(1, bean.getBusinessLocals().size());
- assertTrue(bean.getBusinessLocals().contains("org.jboss.ejb3.test.service.ServiceSixLocal"));
- assertEquals(1, bean.getBusinessRemotes().size());
- assertTrue(bean.getBusinessRemotes().contains("org.jboss.ejb3.test.service.ServiceSixRemote"));
- assertEquals("org.jboss.ejb3.test.service.ServiceSix", bean.getEjbClass());
- {
- assertEquals(1, bean.getEjbReferences().size());
- EJBReferenceMetaData ejbRef = bean.getEjbReferenceByName("ejb/StatelessBean");
- assertNotNull(ejbRef);
- assertEquals("test", ejbRef.getDescriptions().value()[0].value());
- assertEquals(EJBReferenceType.Session, ejbRef.getEjbRefType());
- assertEquals("org.jboss.ejb3.test.service.StatelessRemote", ejbRef.getRemote());
- assertEquals("StatelessBean", ejbRef.getLink());
- assertEquals("StatelessBean/remote", ejbRef.getJndiName());
- assertEquals(1, ejbRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = ejbRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
- assertEquals("stateless", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getEjbLocalReferences().size());
- EJBLocalReferenceMetaData ejbLocalRef = bean.getEjbLocalReferenceByName("ejb/StatelessLocal");
- assertNotNull(ejbLocalRef);
- assertEquals(EJBReferenceType.Session, ejbLocalRef.getEjbRefType());
- assertEquals("org.jboss.ejb3.test.service.StatelessLocal", ejbLocalRef.getLocal());
- assertEquals("StatelessBean", ejbLocalRef.getLink());
- assertEquals("StatelessBean/local", ejbLocalRef.getJndiName());
- assertEquals(1, ejbLocalRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = ejbLocalRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
- assertEquals("setStatelessLocal", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getResourceReferences().size());
- ResourceReferenceMetaData resourceRef = bean.getResourceReferenceByName("testDatasource");
- assertNotNull(resourceRef);
- assertEquals("javax.sql.DataSource", resourceRef.getType());
- assertEquals(ResourceAuthorityType.Container, resourceRef.getResAuth());
- assertEquals("java:/DefaultDS", resourceRef.getMappedName());
- assertEquals(1, resourceRef.getInjectionTargets().size());
- ResourceInjectionTargetMetaData injectionTarget = resourceRef.getInjectionTargets().iterator().next();
- assertNotNull(injectionTarget);
- assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
- assertEquals("testDatasource", injectionTarget.getInjectionTargetName());
- }
-
- {
- assertEquals(1, bean.getResourceEnvironmentReferences().size());
- ResourceEnvironmentReferenceMetaData resourceEnvRef = bean.getResourceEnvironmentReferenceByName("res/aQueue");
- assertEquals("javax.jms.Queue", resourceEnvRef.getType());
- assertEquals("queue/mdbtest", resourceEnvRef.getJndiName());
- }
-
- {
- assertEquals(1, bean.getMessageDestinationReferences().size());
- MessageDestinationReferenceMetaData messageDestinationRef = bean.getMessageDestinationReferenceByName("messageDestinationRef");
- assertNotNull(messageDestinationRef);
- assertEquals("mappedName", messageDestinationRef.getMappedName());
- }
-
- SecurityIdentityMetaData securityIdentity = bean.getSecurityIdentity();
- assertNotNull(securityIdentity);
- RunAsMetaData runAs = securityIdentity.getRunAs();
- assertNotNull(runAs);
- assertEquals("role name", runAs.getRoleName());
- assertEquals("run as principal", securityIdentity.getRunAsPrincipal());
-
- assertEquals("object name", bean.getObjectName());
- assertEquals("org.jboss.ejb3.test.service.ServiceSixManagement", bean.getManagement());
- assertEquals("xmbean", bean.getXmbean());
- assertEquals(1, bean.getRemoteBindings().size());
- RemoteBindingMetaData remoteBinding = bean.getRemoteBindings().get(0);
- assertEquals("client bind url", remoteBinding.getClientBindUrl());
- assertEquals("serviceSix/remote", bean.getJndiName());
- assertEquals("serviceSix/local", bean.getLocalJndiName());
- assertEquals("security domain", bean.getSecurityDomain());
- assertEquals(1, bean.getMethodAttributes().size());
- assertEquals(1, bean.getMethodTransactionTimeout("test"));
- }
-
- /**
- * Simple test of a jboss.xml with a 5.0 dtd doctype
- * @throws Exception
- */
- public void testVersion50() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("5.0", result.getVersion());
- }
- public void testVersion50xsd() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("3.0", result.getVersion());
- }
-
- /**
- * Simple test of a jboss.xml with a 4.2 dtd doctype
- * @throws Exception
- */
- public void testVersion42() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("4.2", result.getVersion());
- }
- public void testVersion40() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("4.0", result.getVersion());
- }
- public void testVersion32() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("3.2", result.getVersion());
- }
- public void testVersion30() throws Exception
- {
- JBossMetaData result = unmarshal();
- assertEquals("3.0", result.getVersion());
- }
-
- /**
- * Validate an ejb-jar.xml/jboss.xml/standardjboss.xml set of metadata used to
- * obtain an ejb container configuration.
- *
- */
- public void testEjb21MergedContainerDefs()
- throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(false);
- long start = System.currentTimeMillis();
- EjbJarMetaData specMetaData = unmarshal("EjbJar21Everything_testEverything.xml", EjbJar21MetaData.class, null);
- long end = System.currentTimeMillis();
- getLog().info("EjbJar21Everything_testEverything.xml parse time = "+(end - start));
- JBoss50MetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBoss50MetaData.class, null);
- long end2 = System.currentTimeMillis();
- getLog().info("JBoss5xEverything_testStandard.xml parse time = "+(end2 - end));
- JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
- long end3 = System.currentTimeMillis();
- getLog().info("JBoss5xEverything_testEverything.xml parse time = "+(end3 - end2));
- //jbossMetaData.setOverridenMetaData(specMetaData);
- jbossMetaData.merge(null, specMetaData);
- JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(jbossMetaData, stdMetaData);
-
- // Test the unified metadata
- InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
- JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
- JBossEnterpriseBeanMetaData session1Ejb = beans.get("session1EjbName");
- assertNotNull(session1Ejb);
- for(JBossEnterpriseBeanMetaData jbean : beans)
- {
- ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
- assertNotNull(beanCfg);
- InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
- for(InvokerBindingMetaData invoker : invokers)
- {
- InvokerProxyBindingMetaData ipbmd = bindings.get(invoker.getName());
- assertNotNull(invoker.getName(), ipbmd);
- }
- }
-
- // Test the legacy wrapper view
- ApplicationMetaData appMetaData = new ApplicationMetaData(wrapper);
- Iterator<BeanMetaData> beans2 = appMetaData.getEnterpriseBeans();
- while (beans2.hasNext())
- {
- BeanMetaData bean = (BeanMetaData) beans2.next();
- ConfigurationMetaData beanCfg = bean.getContainerConfiguration();
- assertNotNull(beanCfg);
- }
-
- assertTrue(bindings.size() > 10);
- // Validate some know invoker bindings
- InvokerProxyBindingMetaData ssui = bindings.get("stateless-unified-invoker");
- assertNotNull(ssui);
- InvokerProxyBindingMetaData sfui = bindings.get("stateful-unified-invoker");
- assertNotNull(sfui);
-
- BeanMetaData beanCfg = appMetaData.getBeanByEjbName("session1EjbName");
- assertNotNull(beanCfg);
- Iterator<String> it = beanCfg.getInvokerBindings();
- org.jboss.metadata.InvokerProxyBindingMetaData imd = null;
- while (it.hasNext() && imd == null)
- {
- String invoker = it.next();
- String jndiBinding = beanCfg.getInvokerBinding(invoker);
- imd = beanCfg.getApplicationMetaData().getInvokerProxyBindingMetaDataByName(invoker);
- assertNotNull(imd);
- }
- assertNotNull(imd);
- }
- /**
- * Validate an ejb-jar.xml/jboss.xml/standardjboss.xml set of metadata used to
- * obtain an ejb container configuration.
- *
- */
- public void testCts()
- throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(false);
- long start = System.currentTimeMillis();
- EjbJarMetaData specMetaData = unmarshal("JBoss50_testCtsEjb20Jar.xml", EjbJarMetaData.class, null);
- long end = System.currentTimeMillis();
- getLog().info("EjbJar21Everything_testEverything.xml parse time = "+(end - start));
- JBossMetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBossMetaData.class, null);
- long end2 = System.currentTimeMillis();
- getLog().info("JBoss5xEverything_testStandard.xml parse time = "+(end2 - end));
- JBossMetaData jbossXmlMetaData = unmarshal("JBoss50_testCtsJBoss32.xml", JBossMetaData.class, null);
- long end3 = System.currentTimeMillis();
- getLog().info("JBoss5xEverything_testEverything.xml parse time = "+(end3 - end2));
- //jbossMetaData.setOverridenMetaData(specMetaData);
- // Merge the jboss.xml, ejb-jar.xml
- JBossMetaData jbossMetaData = new JBossMetaData();
- jbossMetaData.merge(jbossXmlMetaData, specMetaData);
- // Add the standardjboss.xml wrapper for defaults
- JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(jbossMetaData, stdMetaData);
-
- // Test the unified metadata view using the wrapper
- InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
- JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
- JBossEnterpriseBeanMetaData sessionBean = beans.get("StatelessSessionBean");
- assertNotNull(sessionBean);
- for(JBossEnterpriseBeanMetaData jbean : beans)
- {
- ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
- assertNotNull(beanCfg);
- InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
- assertTrue(jbean.getEjbName()+" has > 0 invokers", invokers.size() > 0);
- for(InvokerBindingMetaData invoker : invokers)
- {
- InvokerProxyBindingMetaData ipbmd = bindings.get(invoker.getName());
- assertNotNull(invoker.getName(), ipbmd);
- }
- }
- JBossEnterpriseBeanMetaData jsessionBean = (JBossEnterpriseBeanMetaData) sessionBean;
- InvokerBindingsMetaData invokers = jsessionBean.determineInvokerBindings();
- assertTrue(sessionBean.getEjbName()+" has 1 invokers", invokers.size() > 0);
-
- // Test the legacy wrapper view
- ApplicationMetaData appMetaData = new ApplicationMetaData(wrapper);
- Iterator<BeanMetaData> beans2 = appMetaData.getEnterpriseBeans();
- while (beans2.hasNext())
- {
- BeanMetaData bean = (BeanMetaData) beans2.next();
- ConfigurationMetaData beanCfg = bean.getContainerConfiguration();
- assertNotNull(beanCfg);
- }
-
- assertTrue(bindings.size() > 10);
- // Validate some know invoker bindings
- InvokerProxyBindingMetaData ssui = bindings.get("stateless-unified-invoker");
- assertNotNull(ssui);
- InvokerProxyBindingMetaData sfui = bindings.get("stateful-unified-invoker");
- assertNotNull(sfui);
-
- BeanMetaData beanCfg = appMetaData.getBeanByEjbName("StatelessSessionBean");
- assertNotNull(beanCfg);
- Iterator<String> it = beanCfg.getInvokerBindings();
- org.jboss.metadata.InvokerProxyBindingMetaData imd = null;
- while (it.hasNext() && imd == null)
- {
- String invoker = it.next();
- imd = beanCfg.getApplicationMetaData().getInvokerProxyBindingMetaDataByName(invoker);
- assertNotNull(imd);
- }
- assertNotNull(imd);
-
- // Validate the merged StrictlyPooledMDB
- JBossEnterpriseBeanMetaData strictlyPooledMDB = beans.get("StrictlyPooledMDB");
- JBossMessageDrivenBeanMetaData strictlyPooledMDBMD = (JBossMessageDrivenBeanMetaData) strictlyPooledMDB;
- assertNotNull("strictlyPooledMDB", strictlyPooledMDB);
- assertEquals("Message driven pooling test", strictlyPooledMDBMD.getDescriptionGroup().getDescription());
- assertEquals("org.jboss.test.cts.ejb.StrictlyPooledMDB", strictlyPooledMDBMD.getEjbClass());
- assertTrue(strictlyPooledMDB.isMessageDriven());
- assertTrue(strictlyPooledMDB instanceof JBossMessageDrivenBeanMetaData);
- assertEquals("AUTO_ACKNOWLEDGE", strictlyPooledMDBMD.getAcknowledgeMode());
- assertEquals("javax.jms.Queue", strictlyPooledMDBMD.getMessageDestinationType());
- assertEquals(SubscriptionDurability.NonDurable, strictlyPooledMDBMD.getSubscriptionDurability());
- EnvironmentEntryMetaData maxActiveCount = strictlyPooledMDBMD.getEnvironmentEntryByName("maxActiveCount");
- assertEquals("maxActiveCountID", maxActiveCount.getId());
- assertEquals("java.lang.Integer", maxActiveCount.getType());
- assertEquals("5", maxActiveCount.getValue());
- assertEquals("queue/A", strictlyPooledMDBMD.getDestinationJndiName());
- assertEquals("Strictly Pooled Message Driven Bean", strictlyPooledMDBMD.getConfigurationName());
-
- // Test security-identity information
- org.jboss.metadata.SecurityIdentityMetaData secMetaData = beanCfg.getSecurityIdentityMetaData();
- assertNull(secMetaData);
-
- BeanMetaData RunAsStatelessSessionBean = appMetaData.getBeanByEjbName("RunAsStatelessSessionBean");
- assertNotNull(RunAsStatelessSessionBean);
- secMetaData = RunAsStatelessSessionBean.getSecurityIdentityMetaData();
- assertEquals("getUseCallerIdentity", false, secMetaData.getUseCallerIdentity());
- String roleName = secMetaData.getRunAsRoleName();
- assertEquals("RunAsStatelessSessionBean.getRunAsRoleName", "RunAsStatelessSessionBean-role-name", roleName);
- }
-
- /**
- * Test the merged resource-ref view of the EjbJar20_testResourceRefs.xml
- * + JBoss50_testResourceRefs.xml with the merged JBossMetaData coming
- * from merging the JBoss50_testResourceRefs.xml parsed object with the
- * EjbJar20_testResourceRefs.xml EjbJar2xMetaData
- * @throws Exception
- */
- public void testResourceRefsMergeSelf()
- throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- EjbJar2xMetaData specData = unmarshal("EjbJar20_testResourceRefs.xml", EjbJar2xMetaData.class, null);
- xbdelegate.setValidateSchema(false);
- JBossMetaData jbossMetaData = unmarshal("JBoss50_testResourceRefs.xml", JBossMetaData.class, null);
- jbossMetaData.merge(null, specData);
- validateResourceRefs(jbossMetaData);
- }
- /**
- * Test the merged resource-ref view of the EjbJar20_testREsourceRefs.xml
- * + JBoss50_testResourceRefs.xml with the merged JBossMetaData coming
- * from merging the JBoss50_testResourceRefs.xml parsed object with the
- * EjbJar20_testResourceRefs.xml EjbJar2xMetaData into a new empty
- * JBossMetaData instance.
- * @throws Exception
- */
- public void testResourceRefs()
- throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- EjbJar2xMetaData specData = unmarshal("EjbJar20_testResourceRefs.xml", EjbJar2xMetaData.class, null);
- xbdelegate.setValidateSchema(false);
- JBossMetaData jbossXmlMetaData = unmarshal();
- JBossMetaData jbossMetaData = new JBossMetaData();
- jbossMetaData.merge(jbossXmlMetaData, specData);
- validateResourceRefs(jbossMetaData);
- }
-
- public void testEjbJndiName()
- throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(true);
- JBossMetaData jbossXmlMetaData = unmarshal();
- JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
- assertNotNull(enterpriseBeans);
- assertEquals(2, enterpriseBeans.size());
- for(JBossEnterpriseBeanMetaData bean : enterpriseBeans)
- {
- assertEquals("servlet_annotation_" + bean.getEjbName(), ((JBossGenericBeanMetaData)bean).getJndiName());
- }
- }
-
- public void testMDBActivationConfigMerge()
- {
- EjbJar30MetaData ejbJar = new EjbJar30MetaData();
- ejbJar.setEnterpriseBeans(new EnterpriseBeansMetaData());
- MessageDrivenBeanMetaData messageBean = new MessageDrivenBeanMetaData();
- messageBean.setEjbName("MyMDB");
- // Do not add an activationConfig
-// ActivationConfigMetaData activationConfig = new ActivationConfigMetaData();
-// ActivationConfigPropertiesMetaData activationConfigProperties = new ActivationConfigPropertiesMetaData();
-// ActivationConfigPropertyMetaData activationConfigProperty = new ActivationConfigPropertyMetaData();
-// activationConfigProperty.setName("aName");
-// activationConfigProperty.setValue("aValue");
-// activationConfigProperties.add(activationConfigProperty);
-// activationConfig.setActivationConfigProperties(activationConfigProperties);
-// messageBean.setActivationConfig(activationConfig);
- ejbJar.getEnterpriseBeans().add(messageBean);
-
- JBoss50MetaData metaData = new JBoss50MetaData();
- metaData.setEnterpriseBeans(new JBossEnterpriseBeansMetaData());
- JBossMessageDrivenBeanMetaData jMessageBean = new JBossMessageDrivenBeanMetaData();
- jMessageBean.setEjbName("MyMDB");
- jMessageBean.setDestinationJndiName("destinationJndiName");
- metaData.getEnterpriseBeans().add(jMessageBean);
-
- metaData.merge(null, ejbJar);
-
- JBossMessageDrivenBeanMetaData mergedBean = (JBossMessageDrivenBeanMetaData) metaData.getEnterpriseBean("MyMDB");
- assertNull(mergedBean.getActivationConfig());
- }
-
- public void testInvokerDefaultJndiName() throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(false);
-
- JBossMetaData result = unmarshal();
- JBoss50MetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBoss50MetaData.class, null);
-
- JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("SessionEjbName");
- assertNotNull(bean);
- InvokerBindingsMetaData invokerBindings = bean.getInvokerBindings();
- assertNotNull(invokerBindings);
- assertEquals(1, invokerBindings.size());
- InvokerBindingMetaData invokerBindingMetaData = invokerBindings.get("sessionInvokerProxyBindingName");
- assertNotNull(invokerBindingMetaData);
- assertEquals("sessionInvokerProxyBindingName", invokerBindingMetaData.getInvokerProxyBindingName());
- assertNull(invokerBindingMetaData.getJndiName());
-
- JBossMetaDataWrapper jbossWrapper = new JBossMetaDataWrapper(result, stdMetaData);
- ApplicationMetaData app = new ApplicationMetaData(jbossWrapper);
- BeanMetaData wrapper = app.getBeanByEjbName("SessionEjbName");
- assertNotNull(wrapper);
- String invokerJndiName = wrapper.getInvokerBinding("sessionInvokerProxyBindingName");
- assertEquals("SessionEjbName", invokerJndiName);
-
- bean = result.getEnterpriseBean("MdbEjbName");
- assertNotNull(bean);
- invokerBindings = bean.getInvokerBindings();
- assertNull(invokerBindings);
- invokerBindings = bean.determineInvokerBindings();
- assertNotNull(invokerBindings);
- assertEquals(1, invokerBindings.size());
- InvokerBindingMetaData invokerBinding = invokerBindings.get(InvokerBindingMetaData.MESSAGE_DRIVEN);
- assertNotNull(invokerBinding);
- assertEquals(bean.getEjbName(), invokerBinding.getJndiName());
-
- wrapper = app.getBeanByEjbName("MdbEjbName");
- assertNotNull(wrapper);
- invokerJndiName = wrapper.getInvokerBinding(InvokerBindingMetaData.MESSAGE_DRIVEN);
- assertEquals(wrapper.getEjbName(), invokerJndiName);
- }
-
- protected void validateResourceRefs(JBossMetaData jbossMetaData)
- {
- // Validate the resource managers
- ResourceManagersMetaData resourceMgrs = jbossMetaData.getResourceManagers();
- assertEquals(5, resourceMgrs.size());
- ResourceManagerMetaData qfmgr = resourceMgrs.get("queuefactoryref");
- assertNotNull(qfmgr);
- assertEquals("java:/JmsXA", qfmgr.getResJndiName());
- ResourceManagerMetaData qmgr = resourceMgrs.get("queueref");
- assertNotNull(qmgr);
- assertEquals("queue/testQueue", qmgr.getResJndiName());
- ResourceManagerMetaData tfmgr = resourceMgrs.get("topicfactoryref");
- assertNotNull(tfmgr);
- assertEquals("java:/JmsXA", tfmgr.getResJndiName());
- ResourceManagerMetaData tmgr = resourceMgrs.get("topicref");
- assertNotNull(tmgr);
- assertEquals("topic/testTopic", tmgr.getResJndiName());
-
-
- JBossEnterpriseBeanMetaData mdb = jbossMetaData.getEnterpriseBean("TopicPublisher");
-
- ResourceReferencesMetaData resources = mdb.getResourceReferences();
- ResourceReferenceMetaData jmsRef1 = resources.get("jms/MyTopicConnection");
- assertNotNull(jmsRef1);
- assertEquals("jms/MyTopicConnection", jmsRef1.getResourceRefName());
- assertEquals("javax.jms.TopicConnectionFactory", jmsRef1.getType());
- assertEquals(ResourceAuthorityType.Container, jmsRef1.getResAuth());
- assertEquals("topicfactoryref", jmsRef1.getResourceName());
- assertEquals("java:/JmsXA", jmsRef1.getJndiName());
- ResourceReferenceMetaData jmsRef2 = resources.get("jms/TopicName");
- assertNotNull(jmsRef2);
- assertEquals("jms/TopicName", jmsRef2.getResourceRefName());
- assertEquals("javax.jms.Topic", jmsRef2.getType());
- assertEquals(ResourceAuthorityType.Container, jmsRef2.getResAuth());
- assertEquals("topicref", jmsRef2.getResourceName());
- assertEquals("topic/testTopic", jmsRef2.getJndiName());
- }
-
- public void testPrincipalVersusRolesMap() throws Exception
- {
- JBossMetaData jbossXmlMetaData = unmarshal();
- JBossAssemblyDescriptorMetaData assemblyDescriptor = jbossXmlMetaData.getAssemblyDescriptor();
- assertNotNull(assemblyDescriptor);
- Map<String,Set<String>> principalVersusRolesMap = assemblyDescriptor.getPrincipalVersusRolesMap();
- assertNotNull(principalVersusRolesMap);
- Map<String,Set<String>> expected = new HashMap<String, Set<String>>();
- expected.put("principal1", toSet("test1", "test2", "test3"));
- expected.put("principal2", toSet("test2", "test3"));
- expected.put("principal3", toSet("test3"));
- assertEquals(expected, principalVersusRolesMap);
- }
-
- public void testEjbPortComponent() throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(true);
- JBossMetaData jboss = unmarshal();
- JBossGenericBeanMetaData ejb = (JBossGenericBeanMetaData) jboss.getEnterpriseBean("EjbName");
- assertNotNull(ejb);
- PortComponent portComponent = ejb.getPortComponent();
- assertNotNull(portComponent);
- assertEquals("port.component.name", portComponent.getPortComponentName());
- assertEquals("port/component/uri", portComponent.getPortComponentURI());
- }
-
- public void testEjbthreeCacheInvalidationConfig() throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(false);
- JBossMetaData jbossXmlMetaData = unmarshal();
- JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
- assertNotNull(enterpriseBeans);
- assertEquals(2, enterpriseBeans.size());
-
- // Test that we get a proper default config when there is no
- // <cache-invalidation-config> block in jboss.xml
- JBossEntityBeanMetaData bean = (JBossEntityBeanMetaData) enterpriseBeans.get("TestEntity1");
- assertNotNull(bean);
- CacheInvalidationConfigMetaData cicmd = bean.getCacheInvalidationConfig();
- assertNull(cicmd);
- cicmd = bean.determineCacheInvalidationConfig();
- assertNotNull(cicmd);
- assertNull(cicmd.getInvalidationGroupName());
- assertNull(cicmd.getInvalidationManagerName());
- assertEquals("TestEntity1", cicmd.determineInvalidationGroupName());
- assertEquals(CacheInvalidationConfigMetaData.DEFAULT_INVALIDATION_MANAGER_NAME,
- cicmd.determineInvalidationManagerName());
-
- // Test that a <cache-invalidation-config> block in jboss.xml
- // is respected
- bean = (JBossEntityBeanMetaData) enterpriseBeans.get("TestEntity2");
- assertNotNull(bean);
- cicmd = bean.getCacheInvalidationConfig();
- assertNotNull(cicmd);
- CacheInvalidationConfigMetaData gotten = cicmd;
- cicmd = bean.determineCacheInvalidationConfig();
- assertEquals(gotten, cicmd);
- assertEquals("TestEntityGroup2", cicmd.getInvalidationGroupName());
- assertEquals("TestInvalidationManager", cicmd.getInvalidationManagerName());
- assertEquals("TestEntityGroup2", cicmd.determineInvalidationGroupName());
- assertEquals("TestInvalidationManager", cicmd.determineInvalidationManagerName());
- }
-
- public void testEjbthreeClusterConfig() throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(true);
- JBossMetaData jbossXmlMetaData = unmarshal();
- JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
- assertNotNull(enterpriseBeans);
- assertEquals(4, enterpriseBeans.size());
-
- JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) enterpriseBeans.get("SimpleBean");
- assertNotNull(bean);
- ClusterConfigMetaData clusterConfig = bean.getClusterConfig();
- assertNotNull(clusterConfig);
- assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
- assertEquals("SimpleLBP", clusterConfig.getLoadBalancePolicy());
- assertEquals("SimpleLBP", clusterConfig.getBeanLoadBalancePolicy());
- assertNull(clusterConfig.getHomeLoadBalancePolicy());
-
- bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeAndBeanBean");
- assertNotNull(bean);
- clusterConfig = bean.getClusterConfig();
- assertNotNull(clusterConfig);
- assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
- assertEquals("BeanLBP", clusterConfig.getLoadBalancePolicy());
- assertEquals("BeanLBP", clusterConfig.getBeanLoadBalancePolicy());
- assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
-
- bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeAndSimpleBean");
- assertNotNull(bean);
- clusterConfig = bean.getClusterConfig();
- assertNotNull(clusterConfig);
- assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
- assertEquals("SimpleLBP", clusterConfig.getLoadBalancePolicy());
- assertEquals("SimpleLBP", clusterConfig.getBeanLoadBalancePolicy());
- assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
-
- bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeOnlyBean");
- assertNotNull(bean);
- clusterConfig = bean.getClusterConfig();
- assertNotNull(clusterConfig);
- assertNull(clusterConfig.getPartitionName());
- assertNull(clusterConfig.getLoadBalancePolicy());
- assertNull(clusterConfig.getBeanLoadBalancePolicy());
- assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
- }
-
- public void testJndiBindingPolicy() throws Exception
- {
- JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
- xbdelegate.setValidateSchema(true);
- JBossMetaData jbossXmlMetaData = unmarshal();
- assertEquals("org.jboss.metadata.test.AppJndiBindingPolicy", jbossXmlMetaData.getJndiBindingPolicy());
- JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
- assertNotNull(enterpriseBeans);
- assertEquals(3, enterpriseBeans.size());
-
- JBossEnterpriseBeanMetaData ejb = enterpriseBeans.get("EjbBean");
- assertNotNull(ejb);
- assertEquals("org.jboss.metadata.test.EjbJndiBindingPolicy", ejb.getJndiBindingPolicy());
-
- ejb = enterpriseBeans.get("MdbName");
- assertNotNull(ejb);
- assertEquals("org.jboss.metadata.test.MdbJndiBindingPolicy", ejb.getJndiBindingPolicy());
-
- ejb = enterpriseBeans.get("SessionBean");
- assertNotNull(ejb);
- assertEquals("org.jboss.metadata.test.SessionJndiBindingPolicy", ejb.getJndiBindingPolicy());
- }
-
- private <T> Set<T> toSet(T ... obj)
- {
- Set<T> set = new HashSet<T>();
- for(T o : obj)
- {
- set.add(o);
- }
- return set;
- }
-}
Copied: projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java (from rev 74451, projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java)
===================================================================
--- projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java (rev 0)
+++ projects/metadata/tags/1.0.0.Beta20/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java 2008-06-12 03:31:48 UTC (rev 74453)
@@ -0,0 +1,1006 @@
+/*
+* 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.metadata.ejb;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.Test;
+
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
+import org.jboss.metadata.ConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.CacheInvalidationConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ClusterConfigMetaData;
+import org.jboss.metadata.ejb.jboss.ContainerConfigurationMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
+import org.jboss.metadata.ejb.jboss.JBossConsumerBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper;
+import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.MessagePropertiesMetaData;
+import org.jboss.metadata.ejb.jboss.ProducerMetaData;
+import org.jboss.metadata.ejb.jboss.RemoteBindingMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagerMetaData;
+import org.jboss.metadata.ejb.jboss.ResourceManagersMetaData;
+import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
+import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
+import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
+import org.jboss.metadata.ejb.spec.EjbJarMetaData;
+import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.spec.MessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.spec.SecurityIdentityMetaData;
+import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
+import org.jboss.metadata.ejb.spec.SubscriptionDurability;
+import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.EJBReferenceType;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
+import org.jboss.metadata.javaee.spec.PortComponent;
+import org.jboss.metadata.javaee.spec.ResourceAuthorityType;
+import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+import org.jboss.metadata.javaee.spec.RunAsMetaData;
+import org.jboss.metadata.merge.MergeUtil;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+/**
+ * Miscellaneous tests with a JBoss 5 xml.
+ *
+ * @author <a href="carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at SuppressWarnings("deprecation")
+public class JBoss50UnitTestCase extends AbstractJavaEEMetaDataTest
+{
+ public static Test suite()
+ {
+ return suite(JBoss50UnitTestCase.class);
+ }
+
+ public static SchemaBindingResolver initResolver()
+ {
+ DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+ resolver.addClassBindingForLocation("ejb-jar_2_0.dtd", EjbJar20MetaData.class);
+ resolver.addClassBindingForLocation("ejb-jar_2_1.xsd", EjbJar21MetaData.class);
+ resolver.addClassBindingForLocation("jboss_3_0.dtd", JBoss50DTDMetaData.class);
+ resolver.addClassBindingForLocation("jboss_3_2.dtd", JBoss50DTDMetaData.class);
+ resolver.addClassBindingForLocation("jboss_4_0.dtd", JBoss50DTDMetaData.class);
+ resolver.addClassBindingForLocation("jboss_4_2.dtd", JBoss50DTDMetaData.class);
+ resolver.addClassBindingForLocation("jboss_5_0.dtd", JBoss50DTDMetaData.class);
+ resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
+ // Workaround wildard resolution slowness
+ resolver.addClassBinding("http://www.jboss.com/xml/ns/javaee", JBoss50MetaData.class);
+ return resolver;
+ }
+
+ public static boolean validateSchema()
+ {
+ return true;
+ }
+
+ public JBoss50UnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ protected JBossMetaData unmarshal() throws Exception
+ {
+ return unmarshal(JBossMetaData.class);
+ }
+
+ /**
+ * Test for consumer bean
+ */
+ public void testConsumer() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+
+ assertEquals(1, result.getEnterpriseBeans().size());
+ JBossConsumerBeanMetaData bean = (JBossConsumerBeanMetaData) result.getEnterpriseBean("DeploymentDescriptorQueueTestConsumer");
+ assertNotNull(bean);
+ assertTrue(bean.isConsumer());
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestConsumer", bean.getEjbClass());
+ assertEquals("queue/consumertest", bean.getMessageDestination());
+ assertEquals("javax.jms.Queue", bean.getMessageDestinationType());
+
+ assertEquals(2, bean.getProducers().size());
+ {
+ ProducerMetaData producer = bean.getProducers().get(0);
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestRemote", producer.getClassName());
+ }
+ {
+ ProducerMetaData producer = bean.getProducers().get(1);
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestXA", producer.getClassName());
+ assertEquals("java:/JmsXA", producer.getConnectionFactory());
+ }
+ assertEquals(1, bean.getLocalProducers().size());
+ {
+ ProducerMetaData producer = bean.getLocalProducers().get(0);
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestLocal", producer.getClassName());
+ assertTrue(producer.isLocal());
+ }
+ assertEquals(2, bean.getCurrentMessage().size());
+ assertNotNull(bean.getCurrentMessage().getMethodAttribute("currentMessage"));
+ assertNotNull(bean.getCurrentMessage().getMethodAttribute("setMessage"));
+ assertEquals(2, bean.getMessageProperties().size());
+ {
+ MessagePropertiesMetaData messageProperties = bean.getMessageProperties().get(0);
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTest", messageProperties.getClassName());
+ assertEquals("method2", messageProperties.getMethod().getMethodName());
+ assertEquals("NonPersistent", messageProperties.getDelivery());
+ }
+ {
+ MessagePropertiesMetaData messageProperties = bean.getMessageProperties().get(1);
+ assertEquals("org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestXA", messageProperties.getClassName());
+ assertEquals("method2", messageProperties.getMethod().getMethodName());
+ assertEquals("Persistent", messageProperties.getDelivery());
+ assertEquals(4, (int) messageProperties.getPriority());
+ }
+
+ String pkg = "consumer";
+ String injectionTargetClass = "org.jboss.ejb3.test.consumer.DeploymentDescriptorQueueTestConsumer";
+ {
+ assertEquals(1, bean.getEjbReferences().size());
+ EJBReferenceMetaData ejbRef = bean.getEjbReferenceByName("ejb/StatelessRemote");
+ assertNotNull(ejbRef);
+ //assertEquals("test", ejbRef.getDescriptions().value()[0].value());
+ assertEquals(EJBReferenceType.Session, ejbRef.getEjbRefType());
+ assertEquals("org.jboss.ejb3.test." + pkg + ".StatelessRemote", ejbRef.getRemote());
+ assertEquals("StatelessBean", ejbRef.getLink());
+ assertEquals("StatelessBean/remote", ejbRef.getJndiName());
+ assertEquals(1, ejbRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = ejbRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
+ assertEquals("stateless", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getEjbLocalReferences().size());
+ EJBLocalReferenceMetaData ejbLocalRef = bean.getEjbLocalReferenceByName("ejb/StatelessLocal");
+ assertNotNull(ejbLocalRef);
+ assertEquals(EJBReferenceType.Session, ejbLocalRef.getEjbRefType());
+ assertEquals("org.jboss.ejb3.test." + pkg +".StatelessLocal", ejbLocalRef.getLocal());
+ assertEquals("StatelessBean", ejbLocalRef.getLink());
+ assertEquals("StatelessBean/local", ejbLocalRef.getJndiName());
+ assertEquals(1, ejbLocalRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = ejbLocalRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
+ assertEquals("setStatelessLocal", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getResourceReferences().size());
+ ResourceReferenceMetaData resourceRef = bean.getResourceReferenceByName("testDatasource");
+ assertNotNull(resourceRef);
+ assertEquals("javax.sql.DataSource", resourceRef.getType());
+ assertEquals(ResourceAuthorityType.Container, resourceRef.getResAuth());
+ assertEquals("java:/DefaultDS", resourceRef.getMappedName());
+ assertEquals(1, resourceRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = resourceRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals(injectionTargetClass, injectionTarget.getInjectionTargetClass());
+ assertEquals("testDatasource", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getResourceEnvironmentReferences().size());
+ ResourceEnvironmentReferenceMetaData resourceEnvRef = bean.getResourceEnvironmentReferenceByName("res/aQueue");
+ assertEquals("javax.jms.Queue", resourceEnvRef.getType());
+ assertEquals("queue/mdbtest", resourceEnvRef.getJndiName());
+ }
+
+ /*
+ {
+ assertEquals(1, bean.getMessageDestinationReferences().size());
+ MessageDestinationReferenceMetaData messageDestinationRef = bean.getMessageDestinationReferenceByName("messageDestinationRef");
+ assertNotNull(messageDestinationRef);
+ assertEquals("mappedName", messageDestinationRef.getMappedName());
+ }
+ */
+ }
+
+ /**
+ * Test whether the cardinality of depends and ignore-dependency is correct.
+ */
+ public void testDependencies() throws Exception
+ {
+// JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+// xbdelegate.setValidateSchema(false);
+
+ JBossMetaData result = unmarshal();
+
+ assertEquals(1, result.getEnterpriseBeans().size());
+ JBossEnterpriseBeanMetaData bean = (JBossEnterpriseBeanMetaData) result.getEnterpriseBean("MyStatelessBean");
+ assertNotNull(bean);
+ Set<String> expected = new HashSet<String>();
+ expected.add("A");
+ expected.add("B");
+ assertEquals(expected, bean.getDepends());
+
+ assertNotNull(bean.getIgnoreDependency());
+ assertNotNull(bean.getIgnoreDependency().getInjectionTargets());
+ assertEquals(2, bean.getIgnoreDependency().getInjectionTargets().size());
+ int i = 1;
+ for(ResourceInjectionTargetMetaData target : bean.getIgnoreDependency().getInjectionTargets())
+ {
+ assertEquals("Class" + i, target.getInjectionTargetClass());
+ assertEquals(Character.toString((char) ('B' + i)), target.getInjectionTargetName());
+ i++;
+ }
+ }
+
+ /**
+ * EJBTHREE-936: allow for an unknown bean type
+ */
+ public void testEjbthree936() throws Exception
+ {
+ // normally from the annotation scanner
+ EjbJar30MetaData ejbJar = new EjbJar30MetaData();
+ ejbJar.setEnterpriseBeans(new EnterpriseBeansMetaData());
+ SessionBeanMetaData sessionBean = new SessionBeanMetaData();
+ sessionBean.setEjbName("MyStatelessBean");
+ ejbJar.getEnterpriseBeans().add(sessionBean);
+
+ JBossMetaData jboss = unmarshal();
+
+ assertEquals(1, jboss.getEnterpriseBeans().size());
+
+ // create a merged view
+ JBossMetaData merged = MergeUtil.merge(jboss, ejbJar);
+ assertNotNull(merged.getEnterpriseBeans());
+ // As of JBMETA-1, this is now a JBossSessionBeanMetaData
+ // JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
+ JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
+ assertEquals(1, bean.getResourceReferences().size());
+ ResourceReferenceMetaData ref = bean.getResourceReferenceByName("qFactory");
+ assertNotNull(ref);
+ assertEquals("ConnectionFactory", ref.getJndiName());
+ }
+
+ /**
+ * EJBTHREE-936: allow for an unknown bean type
+ */
+ public void testEjbthree936WithoutScanner() throws Exception
+ {
+ JBossMetaData jboss = unmarshal("JBoss50_testEjbthree936.xml", JBossMetaData.class);
+
+ assertEquals(1, jboss.getEnterpriseBeans().size());
+
+ // create a merged view
+ JBossMetaData merged = MergeUtil.merge(jboss, null);
+ assertNotNull(merged.getEnterpriseBeans());
+ JBossGenericBeanMetaData bean = (JBossGenericBeanMetaData) merged.getEnterpriseBean("MyStatelessBean");
+ assertEquals(1, bean.getResourceReferences().size());
+ ResourceReferenceMetaData ref = bean.getResourceReferenceByName("qFactory");
+ assertNotNull(ref);
+ assertEquals("ConnectionFactory", ref.getJndiName());
+ }
+
+ /**
+ * Test the cardinality of remote bindings
+ */
+ public void testRemoteBindings() throws Exception
+ {
+ JBossMetaData jboss = unmarshal();
+
+ assertEquals(1, jboss.getEnterpriseBeans().size());
+
+ JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) jboss.getEnterpriseBean("StatefulBean");
+ sessionBean = new JBossSessionPolicyDecorator(sessionBean);
+ String determinedJndiName = sessionBean.determineJndiName();
+ boolean determinedValid = false;
+ for(int i = 0; i < 2; i++)
+ {
+ RemoteBindingMetaData remoteBinding = sessionBean.getRemoteBindings().get(i);
+ String jndiName = "jndiName" + (i + 1);
+ assertEquals(jndiName, remoteBinding.getJndiName());
+ assertEquals("clientBindUrl" + (i + 1), remoteBinding.getClientBindUrl());
+ determinedValid |= jndiName.equals(determinedJndiName);
+ }
+ assertTrue("determinedJndiName is one of the remote-binding values", determinedValid);
+ }
+
+ /**
+ * A test for resource-adapter-name (ejb3 jca/inflow unit test)
+ */
+ public void testResourceAdapterName() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+
+ assertEquals(1, result.getEnterpriseBeans().size());
+ JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("TestMDB");
+ assertNotNull(bean);
+ assertTrue(bean instanceof JBossMessageDrivenBeanMetaData);
+ assertEquals("jcainflow.rar", ((JBossMessageDrivenBeanMetaData) bean).getResourceAdapterName());
+ }
+
+ /**
+ * A simple test coming from ejb3 naming unit test.
+ *
+ * @throws Exception
+ */
+ public void testSimple() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+
+ assertEquals(1, result.getEnterpriseBeans().size());
+ JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("StatefulOverrideBean");
+ assertNotNull(bean);
+ assertTrue(bean instanceof JBossSessionBeanMetaData);
+ assertEquals("StatefulOverride", ((JBossSessionBeanMetaData) bean).getJndiName());
+ }
+
+ /**
+ * Test the service bean from dd.
+ */
+ public void testService() throws Exception
+ {
+// JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+// xbdelegate.setValidateSchema(false);
+
+ JBossMetaData result = unmarshal();
+
+ JBossServiceBeanMetaData bean = (JBossServiceBeanMetaData) result.getEnterpriseBean("ServiceSix");
+ assertNotNull(bean);
+ assertEquals("ServiceSix", bean.getEjbName());
+
+ assertEquals("service description", bean.getDescriptionGroup().getDescription());
+
+ assertEquals(1, bean.getBusinessLocals().size());
+ assertTrue(bean.getBusinessLocals().contains("org.jboss.ejb3.test.service.ServiceSixLocal"));
+ assertEquals(1, bean.getBusinessRemotes().size());
+ assertTrue(bean.getBusinessRemotes().contains("org.jboss.ejb3.test.service.ServiceSixRemote"));
+ assertEquals("org.jboss.ejb3.test.service.ServiceSix", bean.getEjbClass());
+ {
+ assertEquals(1, bean.getEjbReferences().size());
+ EJBReferenceMetaData ejbRef = bean.getEjbReferenceByName("ejb/StatelessBean");
+ assertNotNull(ejbRef);
+ assertEquals("test", ejbRef.getDescriptions().value()[0].value());
+ assertEquals(EJBReferenceType.Session, ejbRef.getEjbRefType());
+ assertEquals("org.jboss.ejb3.test.service.StatelessRemote", ejbRef.getRemote());
+ assertEquals("StatelessBean", ejbRef.getLink());
+ assertEquals("StatelessBean/remote", ejbRef.getJndiName());
+ assertEquals(1, ejbRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = ejbRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
+ assertEquals("stateless", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getEjbLocalReferences().size());
+ EJBLocalReferenceMetaData ejbLocalRef = bean.getEjbLocalReferenceByName("ejb/StatelessLocal");
+ assertNotNull(ejbLocalRef);
+ assertEquals(EJBReferenceType.Session, ejbLocalRef.getEjbRefType());
+ assertEquals("org.jboss.ejb3.test.service.StatelessLocal", ejbLocalRef.getLocal());
+ assertEquals("StatelessBean", ejbLocalRef.getLink());
+ assertEquals("StatelessBean/local", ejbLocalRef.getJndiName());
+ assertEquals(1, ejbLocalRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = ejbLocalRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
+ assertEquals("setStatelessLocal", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getResourceReferences().size());
+ ResourceReferenceMetaData resourceRef = bean.getResourceReferenceByName("testDatasource");
+ assertNotNull(resourceRef);
+ assertEquals("javax.sql.DataSource", resourceRef.getType());
+ assertEquals(ResourceAuthorityType.Container, resourceRef.getResAuth());
+ assertEquals("java:/DefaultDS", resourceRef.getMappedName());
+ assertEquals(1, resourceRef.getInjectionTargets().size());
+ ResourceInjectionTargetMetaData injectionTarget = resourceRef.getInjectionTargets().iterator().next();
+ assertNotNull(injectionTarget);
+ assertEquals("org.jboss.ejb3.test.service.ServiceSix", injectionTarget.getInjectionTargetClass());
+ assertEquals("testDatasource", injectionTarget.getInjectionTargetName());
+ }
+
+ {
+ assertEquals(1, bean.getResourceEnvironmentReferences().size());
+ ResourceEnvironmentReferenceMetaData resourceEnvRef = bean.getResourceEnvironmentReferenceByName("res/aQueue");
+ assertEquals("javax.jms.Queue", resourceEnvRef.getType());
+ assertEquals("queue/mdbtest", resourceEnvRef.getJndiName());
+ }
+
+ {
+ assertEquals(1, bean.getMessageDestinationReferences().size());
+ MessageDestinationReferenceMetaData messageDestinationRef = bean.getMessageDestinationReferenceByName("messageDestinationRef");
+ assertNotNull(messageDestinationRef);
+ assertEquals("mappedName", messageDestinationRef.getMappedName());
+ }
+
+ SecurityIdentityMetaData securityIdentity = bean.getSecurityIdentity();
+ assertNotNull(securityIdentity);
+ RunAsMetaData runAs = securityIdentity.getRunAs();
+ assertNotNull(runAs);
+ assertEquals("role name", runAs.getRoleName());
+ assertEquals("run as principal", securityIdentity.getRunAsPrincipal());
+
+ assertEquals("object name", bean.getObjectName());
+ assertEquals("org.jboss.ejb3.test.service.ServiceSixManagement", bean.getManagement());
+ assertEquals("xmbean", bean.getXmbean());
+ assertEquals(1, bean.getRemoteBindings().size());
+ RemoteBindingMetaData remoteBinding = bean.getRemoteBindings().get(0);
+ assertEquals("client bind url", remoteBinding.getClientBindUrl());
+ assertEquals("serviceSix/remote", bean.getJndiName());
+ assertEquals("serviceSix/local", bean.getLocalJndiName());
+ assertEquals("security domain", bean.getSecurityDomain());
+ assertEquals(1, bean.getMethodAttributes().size());
+ assertEquals(1, bean.getMethodTransactionTimeout("test"));
+ }
+
+ /**
+ * Simple test of a jboss.xml with a 5.0 dtd doctype
+ * @throws Exception
+ */
+ public void testVersion50() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("5.0", result.getVersion());
+ }
+ public void testVersion50xsd() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("3.0", result.getVersion());
+ }
+
+ /**
+ * Simple test of a jboss.xml with a 4.2 dtd doctype
+ * @throws Exception
+ */
+ public void testVersion42() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("4.2", result.getVersion());
+ }
+ public void testVersion40() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("4.0", result.getVersion());
+ }
+ public void testVersion32() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("3.2", result.getVersion());
+ }
+ public void testVersion30() throws Exception
+ {
+ JBossMetaData result = unmarshal();
+ assertEquals("3.0", result.getVersion());
+ }
+
+ /**
+ * Validate an ejb-jar.xml/jboss.xml/standardjboss.xml set of metadata used to
+ * obtain an ejb container configuration.
+ *
+ */
+ public void testEjb21MergedContainerDefs()
+ throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(false);
+ long start = System.currentTimeMillis();
+ EjbJarMetaData specMetaData = unmarshal("EjbJar21Everything_testEverything.xml", EjbJar21MetaData.class, null);
+ long end = System.currentTimeMillis();
+ getLog().info("EjbJar21Everything_testEverything.xml parse time = "+(end - start));
+ JBoss50MetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBoss50MetaData.class, null);
+ long end2 = System.currentTimeMillis();
+ getLog().info("JBoss5xEverything_testStandard.xml parse time = "+(end2 - end));
+ JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
+ long end3 = System.currentTimeMillis();
+ getLog().info("JBoss5xEverything_testEverything.xml parse time = "+(end3 - end2));
+ //jbossMetaData.setOverridenMetaData(specMetaData);
+ jbossMetaData.merge(null, specMetaData);
+ JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(jbossMetaData, stdMetaData);
+
+ // Validate version info
+ assertEquals("2.1", specMetaData.getVersion());
+ assertEquals("2.1", wrapper.getEjbVersion());
+
+ // Test the unified metadata
+ InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
+ JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
+ JBossEnterpriseBeanMetaData session1Ejb = beans.get("session1EjbName");
+ assertNotNull(session1Ejb);
+ for(JBossEnterpriseBeanMetaData jbean : beans)
+ {
+ ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
+ assertNotNull(beanCfg);
+ InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
+ for(InvokerBindingMetaData invoker : invokers)
+ {
+ InvokerProxyBindingMetaData ipbmd = bindings.get(invoker.getName());
+ assertNotNull(invoker.getName(), ipbmd);
+ }
+ }
+
+ // Test the legacy wrapper view
+ ApplicationMetaData appMetaData = new ApplicationMetaData(wrapper);
+ Iterator<BeanMetaData> beans2 = appMetaData.getEnterpriseBeans();
+ while (beans2.hasNext())
+ {
+ BeanMetaData bean = (BeanMetaData) beans2.next();
+ ConfigurationMetaData beanCfg = bean.getContainerConfiguration();
+ assertNotNull(beanCfg);
+ }
+
+ assertTrue(bindings.size() > 10);
+ // Validate some know invoker bindings
+ InvokerProxyBindingMetaData ssui = bindings.get("stateless-unified-invoker");
+ assertNotNull(ssui);
+ InvokerProxyBindingMetaData sfui = bindings.get("stateful-unified-invoker");
+ assertNotNull(sfui);
+
+ BeanMetaData beanCfg = appMetaData.getBeanByEjbName("session1EjbName");
+ assertNotNull(beanCfg);
+ Iterator<String> it = beanCfg.getInvokerBindings();
+ org.jboss.metadata.InvokerProxyBindingMetaData imd = null;
+ while (it.hasNext() && imd == null)
+ {
+ String invoker = it.next();
+ String jndiBinding = beanCfg.getInvokerBinding(invoker);
+ imd = beanCfg.getApplicationMetaData().getInvokerProxyBindingMetaDataByName(invoker);
+ assertNotNull(imd);
+ }
+ assertNotNull(imd);
+ }
+ /**
+ * Validate an ejb-jar.xml/jboss.xml/standardjboss.xml set of metadata used to
+ * obtain an ejb container configuration.
+ *
+ */
+ public void testCts()
+ throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(false);
+ long start = System.currentTimeMillis();
+ EjbJarMetaData specMetaData = unmarshal("JBoss50_testCtsEjb20Jar.xml", EjbJarMetaData.class, null);
+ long end = System.currentTimeMillis();
+ getLog().info("EjbJar21Everything_testEverything.xml parse time = "+(end - start));
+ JBossMetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBossMetaData.class, null);
+ long end2 = System.currentTimeMillis();
+ getLog().info("JBoss5xEverything_testStandard.xml parse time = "+(end2 - end));
+ JBossMetaData jbossXmlMetaData = unmarshal("JBoss50_testCtsJBoss32.xml", JBossMetaData.class, null);
+ long end3 = System.currentTimeMillis();
+ getLog().info("JBoss5xEverything_testEverything.xml parse time = "+(end3 - end2));
+ //jbossMetaData.setOverridenMetaData(specMetaData);
+ // Merge the jboss.xml, ejb-jar.xml
+ JBossMetaData jbossMetaData = new JBossMetaData();
+ jbossMetaData.merge(jbossXmlMetaData, specMetaData);
+ // Add the standardjboss.xml wrapper for defaults
+ JBossMetaDataWrapper wrapper = new JBossMetaDataWrapper(jbossMetaData, stdMetaData);
+
+ // Test the unified metadata view using the wrapper
+ InvokerProxyBindingsMetaData bindings = wrapper.getInvokerProxyBindings();
+ JBossEnterpriseBeansMetaData beans = wrapper.getEnterpriseBeans();
+ JBossEnterpriseBeanMetaData sessionBean = beans.get("StatelessSessionBean");
+ assertNotNull(sessionBean);
+ for(JBossEnterpriseBeanMetaData jbean : beans)
+ {
+ ContainerConfigurationMetaData beanCfg = jbean.determineContainerConfiguration();
+ assertNotNull(beanCfg);
+ InvokerBindingsMetaData invokers = jbean.determineInvokerBindings();
+ assertTrue(jbean.getEjbName()+" has > 0 invokers", invokers.size() > 0);
+ for(InvokerBindingMetaData invoker : invokers)
+ {
+ InvokerProxyBindingMetaData ipbmd = bindings.get(invoker.getName());
+ assertNotNull(invoker.getName(), ipbmd);
+ }
+ }
+ JBossEnterpriseBeanMetaData jsessionBean = (JBossEnterpriseBeanMetaData) sessionBean;
+ InvokerBindingsMetaData invokers = jsessionBean.determineInvokerBindings();
+ assertTrue(sessionBean.getEjbName()+" has 1 invokers", invokers.size() > 0);
+
+ // Test the legacy wrapper view
+ ApplicationMetaData appMetaData = new ApplicationMetaData(wrapper);
+ Iterator<BeanMetaData> beans2 = appMetaData.getEnterpriseBeans();
+ while (beans2.hasNext())
+ {
+ BeanMetaData bean = (BeanMetaData) beans2.next();
+ ConfigurationMetaData beanCfg = bean.getContainerConfiguration();
+ assertNotNull(beanCfg);
+ }
+
+ assertTrue(bindings.size() > 10);
+ // Validate some know invoker bindings
+ InvokerProxyBindingMetaData ssui = bindings.get("stateless-unified-invoker");
+ assertNotNull(ssui);
+ InvokerProxyBindingMetaData sfui = bindings.get("stateful-unified-invoker");
+ assertNotNull(sfui);
+
+ BeanMetaData beanCfg = appMetaData.getBeanByEjbName("StatelessSessionBean");
+ assertNotNull(beanCfg);
+ Iterator<String> it = beanCfg.getInvokerBindings();
+ org.jboss.metadata.InvokerProxyBindingMetaData imd = null;
+ while (it.hasNext() && imd == null)
+ {
+ String invoker = it.next();
+ imd = beanCfg.getApplicationMetaData().getInvokerProxyBindingMetaDataByName(invoker);
+ assertNotNull(imd);
+ }
+ assertNotNull(imd);
+
+ // Validate the merged StrictlyPooledMDB
+ JBossEnterpriseBeanMetaData strictlyPooledMDB = beans.get("StrictlyPooledMDB");
+ JBossMessageDrivenBeanMetaData strictlyPooledMDBMD = (JBossMessageDrivenBeanMetaData) strictlyPooledMDB;
+ assertNotNull("strictlyPooledMDB", strictlyPooledMDB);
+ assertEquals("Message driven pooling test", strictlyPooledMDBMD.getDescriptionGroup().getDescription());
+ assertEquals("org.jboss.test.cts.ejb.StrictlyPooledMDB", strictlyPooledMDBMD.getEjbClass());
+ assertTrue(strictlyPooledMDB.isMessageDriven());
+ assertTrue(strictlyPooledMDB instanceof JBossMessageDrivenBeanMetaData);
+ assertEquals("AUTO_ACKNOWLEDGE", strictlyPooledMDBMD.getAcknowledgeMode());
+ assertEquals("javax.jms.Queue", strictlyPooledMDBMD.getMessageDestinationType());
+ assertEquals(SubscriptionDurability.NonDurable, strictlyPooledMDBMD.getSubscriptionDurability());
+ EnvironmentEntryMetaData maxActiveCount = strictlyPooledMDBMD.getEnvironmentEntryByName("maxActiveCount");
+ assertEquals("maxActiveCountID", maxActiveCount.getId());
+ assertEquals("java.lang.Integer", maxActiveCount.getType());
+ assertEquals("5", maxActiveCount.getValue());
+ assertEquals("queue/A", strictlyPooledMDBMD.getDestinationJndiName());
+ assertEquals("Strictly Pooled Message Driven Bean", strictlyPooledMDBMD.getConfigurationName());
+
+ // Test security-identity information
+ org.jboss.metadata.SecurityIdentityMetaData secMetaData = beanCfg.getSecurityIdentityMetaData();
+ assertNull(secMetaData);
+
+ BeanMetaData RunAsStatelessSessionBean = appMetaData.getBeanByEjbName("RunAsStatelessSessionBean");
+ assertNotNull(RunAsStatelessSessionBean);
+ secMetaData = RunAsStatelessSessionBean.getSecurityIdentityMetaData();
+ assertEquals("getUseCallerIdentity", false, secMetaData.getUseCallerIdentity());
+ String roleName = secMetaData.getRunAsRoleName();
+ assertEquals("RunAsStatelessSessionBean.getRunAsRoleName", "RunAsStatelessSessionBean-role-name", roleName);
+ }
+
+ /**
+ * Test the merged resource-ref view of the EjbJar20_testResourceRefs.xml
+ * + JBoss50_testResourceRefs.xml with the merged JBossMetaData coming
+ * from merging the JBoss50_testResourceRefs.xml parsed object with the
+ * EjbJar20_testResourceRefs.xml EjbJar2xMetaData
+ * @throws Exception
+ */
+ public void testResourceRefsMergeSelf()
+ throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ EjbJar2xMetaData specData = unmarshal("EjbJar20_testResourceRefs.xml", EjbJar2xMetaData.class, null);
+ xbdelegate.setValidateSchema(false);
+ JBossMetaData jbossMetaData = unmarshal("JBoss50_testResourceRefs.xml", JBossMetaData.class, null);
+ jbossMetaData.merge(null, specData);
+ validateResourceRefs(jbossMetaData);
+ }
+ /**
+ * Test the merged resource-ref view of the EjbJar20_testREsourceRefs.xml
+ * + JBoss50_testResourceRefs.xml with the merged JBossMetaData coming
+ * from merging the JBoss50_testResourceRefs.xml parsed object with the
+ * EjbJar20_testResourceRefs.xml EjbJar2xMetaData into a new empty
+ * JBossMetaData instance.
+ * @throws Exception
+ */
+ public void testResourceRefs()
+ throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ EjbJar2xMetaData specData = unmarshal("EjbJar20_testResourceRefs.xml", EjbJar2xMetaData.class, null);
+ xbdelegate.setValidateSchema(false);
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ JBossMetaData jbossMetaData = new JBossMetaData();
+ jbossMetaData.merge(jbossXmlMetaData, specData);
+ validateResourceRefs(jbossMetaData);
+ }
+
+ public void testEjbJndiName()
+ throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(true);
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
+ assertNotNull(enterpriseBeans);
+ assertEquals(2, enterpriseBeans.size());
+ for(JBossEnterpriseBeanMetaData bean : enterpriseBeans)
+ {
+ assertEquals("servlet_annotation_" + bean.getEjbName(), ((JBossGenericBeanMetaData)bean).getJndiName());
+ }
+ }
+
+ public void testMDBActivationConfigMerge()
+ {
+ EjbJar30MetaData ejbJar = new EjbJar30MetaData();
+ ejbJar.setEnterpriseBeans(new EnterpriseBeansMetaData());
+ MessageDrivenBeanMetaData messageBean = new MessageDrivenBeanMetaData();
+ messageBean.setEjbName("MyMDB");
+ // Do not add an activationConfig
+// ActivationConfigMetaData activationConfig = new ActivationConfigMetaData();
+// ActivationConfigPropertiesMetaData activationConfigProperties = new ActivationConfigPropertiesMetaData();
+// ActivationConfigPropertyMetaData activationConfigProperty = new ActivationConfigPropertyMetaData();
+// activationConfigProperty.setName("aName");
+// activationConfigProperty.setValue("aValue");
+// activationConfigProperties.add(activationConfigProperty);
+// activationConfig.setActivationConfigProperties(activationConfigProperties);
+// messageBean.setActivationConfig(activationConfig);
+ ejbJar.getEnterpriseBeans().add(messageBean);
+
+ JBoss50MetaData metaData = new JBoss50MetaData();
+ metaData.setEnterpriseBeans(new JBossEnterpriseBeansMetaData());
+ JBossMessageDrivenBeanMetaData jMessageBean = new JBossMessageDrivenBeanMetaData();
+ jMessageBean.setEjbName("MyMDB");
+ jMessageBean.setDestinationJndiName("destinationJndiName");
+ metaData.getEnterpriseBeans().add(jMessageBean);
+
+ metaData.merge(null, ejbJar);
+
+ JBossMessageDrivenBeanMetaData mergedBean = (JBossMessageDrivenBeanMetaData) metaData.getEnterpriseBean("MyMDB");
+ assertNull(mergedBean.getActivationConfig());
+ }
+
+ public void testInvokerDefaultJndiName() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(false);
+
+ JBossMetaData result = unmarshal();
+ JBoss50MetaData stdMetaData = unmarshal("JBoss5xEverything_testStandard.xml", JBoss50MetaData.class, null);
+
+ JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("SessionEjbName");
+ assertNotNull(bean);
+ InvokerBindingsMetaData invokerBindings = bean.getInvokerBindings();
+ assertNotNull(invokerBindings);
+ assertEquals(1, invokerBindings.size());
+ InvokerBindingMetaData invokerBindingMetaData = invokerBindings.get("sessionInvokerProxyBindingName");
+ assertNotNull(invokerBindingMetaData);
+ assertEquals("sessionInvokerProxyBindingName", invokerBindingMetaData.getInvokerProxyBindingName());
+ assertNull(invokerBindingMetaData.getJndiName());
+
+ JBossMetaDataWrapper jbossWrapper = new JBossMetaDataWrapper(result, stdMetaData);
+ ApplicationMetaData app = new ApplicationMetaData(jbossWrapper);
+ BeanMetaData wrapper = app.getBeanByEjbName("SessionEjbName");
+ assertNotNull(wrapper);
+ String invokerJndiName = wrapper.getInvokerBinding("sessionInvokerProxyBindingName");
+ assertEquals("SessionEjbName", invokerJndiName);
+
+ bean = result.getEnterpriseBean("MdbEjbName");
+ assertNotNull(bean);
+ invokerBindings = bean.getInvokerBindings();
+ assertNull(invokerBindings);
+ invokerBindings = bean.determineInvokerBindings();
+ assertNotNull(invokerBindings);
+ assertEquals(1, invokerBindings.size());
+ InvokerBindingMetaData invokerBinding = invokerBindings.get(InvokerBindingMetaData.MESSAGE_DRIVEN);
+ assertNotNull(invokerBinding);
+ assertEquals(bean.getEjbName(), invokerBinding.getJndiName());
+
+ wrapper = app.getBeanByEjbName("MdbEjbName");
+ assertNotNull(wrapper);
+ invokerJndiName = wrapper.getInvokerBinding(InvokerBindingMetaData.MESSAGE_DRIVEN);
+ assertEquals(wrapper.getEjbName(), invokerJndiName);
+ }
+
+ protected void validateResourceRefs(JBossMetaData jbossMetaData)
+ {
+ // Validate the resource managers
+ ResourceManagersMetaData resourceMgrs = jbossMetaData.getResourceManagers();
+ assertEquals(5, resourceMgrs.size());
+ ResourceManagerMetaData qfmgr = resourceMgrs.get("queuefactoryref");
+ assertNotNull(qfmgr);
+ assertEquals("java:/JmsXA", qfmgr.getResJndiName());
+ ResourceManagerMetaData qmgr = resourceMgrs.get("queueref");
+ assertNotNull(qmgr);
+ assertEquals("queue/testQueue", qmgr.getResJndiName());
+ ResourceManagerMetaData tfmgr = resourceMgrs.get("topicfactoryref");
+ assertNotNull(tfmgr);
+ assertEquals("java:/JmsXA", tfmgr.getResJndiName());
+ ResourceManagerMetaData tmgr = resourceMgrs.get("topicref");
+ assertNotNull(tmgr);
+ assertEquals("topic/testTopic", tmgr.getResJndiName());
+
+
+ JBossEnterpriseBeanMetaData mdb = jbossMetaData.getEnterpriseBean("TopicPublisher");
+
+ ResourceReferencesMetaData resources = mdb.getResourceReferences();
+ ResourceReferenceMetaData jmsRef1 = resources.get("jms/MyTopicConnection");
+ assertNotNull(jmsRef1);
+ assertEquals("jms/MyTopicConnection", jmsRef1.getResourceRefName());
+ assertEquals("javax.jms.TopicConnectionFactory", jmsRef1.getType());
+ assertEquals(ResourceAuthorityType.Container, jmsRef1.getResAuth());
+ assertEquals("topicfactoryref", jmsRef1.getResourceName());
+ assertEquals("java:/JmsXA", jmsRef1.getJndiName());
+ ResourceReferenceMetaData jmsRef2 = resources.get("jms/TopicName");
+ assertNotNull(jmsRef2);
+ assertEquals("jms/TopicName", jmsRef2.getResourceRefName());
+ assertEquals("javax.jms.Topic", jmsRef2.getType());
+ assertEquals(ResourceAuthorityType.Container, jmsRef2.getResAuth());
+ assertEquals("topicref", jmsRef2.getResourceName());
+ assertEquals("topic/testTopic", jmsRef2.getJndiName());
+ }
+
+ public void testPrincipalVersusRolesMap() throws Exception
+ {
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ JBossAssemblyDescriptorMetaData assemblyDescriptor = jbossXmlMetaData.getAssemblyDescriptor();
+ assertNotNull(assemblyDescriptor);
+ Map<String,Set<String>> principalVersusRolesMap = assemblyDescriptor.getPrincipalVersusRolesMap();
+ assertNotNull(principalVersusRolesMap);
+ Map<String,Set<String>> expected = new HashMap<String, Set<String>>();
+ expected.put("principal1", toSet("test1", "test2", "test3"));
+ expected.put("principal2", toSet("test2", "test3"));
+ expected.put("principal3", toSet("test3"));
+ assertEquals(expected, principalVersusRolesMap);
+ }
+
+ public void testEjbPortComponent() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(true);
+ JBossMetaData jboss = unmarshal();
+ JBossGenericBeanMetaData ejb = (JBossGenericBeanMetaData) jboss.getEnterpriseBean("EjbName");
+ assertNotNull(ejb);
+ PortComponent portComponent = ejb.getPortComponent();
+ assertNotNull(portComponent);
+ assertEquals("port.component.name", portComponent.getPortComponentName());
+ assertEquals("port/component/uri", portComponent.getPortComponentURI());
+ }
+
+ public void testEjbthreeCacheInvalidationConfig() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(false);
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
+ assertNotNull(enterpriseBeans);
+ assertEquals(2, enterpriseBeans.size());
+
+ // Test that we get a proper default config when there is no
+ // <cache-invalidation-config> block in jboss.xml
+ JBossEntityBeanMetaData bean = (JBossEntityBeanMetaData) enterpriseBeans.get("TestEntity1");
+ assertNotNull(bean);
+ CacheInvalidationConfigMetaData cicmd = bean.getCacheInvalidationConfig();
+ assertNull(cicmd);
+ cicmd = bean.determineCacheInvalidationConfig();
+ assertNotNull(cicmd);
+ assertNull(cicmd.getInvalidationGroupName());
+ assertNull(cicmd.getInvalidationManagerName());
+ assertEquals("TestEntity1", cicmd.determineInvalidationGroupName());
+ assertEquals(CacheInvalidationConfigMetaData.DEFAULT_INVALIDATION_MANAGER_NAME,
+ cicmd.determineInvalidationManagerName());
+
+ // Test that a <cache-invalidation-config> block in jboss.xml
+ // is respected
+ bean = (JBossEntityBeanMetaData) enterpriseBeans.get("TestEntity2");
+ assertNotNull(bean);
+ cicmd = bean.getCacheInvalidationConfig();
+ assertNotNull(cicmd);
+ CacheInvalidationConfigMetaData gotten = cicmd;
+ cicmd = bean.determineCacheInvalidationConfig();
+ assertEquals(gotten, cicmd);
+ assertEquals("TestEntityGroup2", cicmd.getInvalidationGroupName());
+ assertEquals("TestInvalidationManager", cicmd.getInvalidationManagerName());
+ assertEquals("TestEntityGroup2", cicmd.determineInvalidationGroupName());
+ assertEquals("TestInvalidationManager", cicmd.determineInvalidationManagerName());
+ }
+
+ public void testEjbthreeClusterConfig() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(true);
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
+ assertNotNull(enterpriseBeans);
+ assertEquals(4, enterpriseBeans.size());
+
+ JBossSessionBeanMetaData bean = (JBossSessionBeanMetaData) enterpriseBeans.get("SimpleBean");
+ assertNotNull(bean);
+ ClusterConfigMetaData clusterConfig = bean.getClusterConfig();
+ assertNotNull(clusterConfig);
+ assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
+ assertEquals("SimpleLBP", clusterConfig.getLoadBalancePolicy());
+ assertEquals("SimpleLBP", clusterConfig.getBeanLoadBalancePolicy());
+ assertNull(clusterConfig.getHomeLoadBalancePolicy());
+
+ bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeAndBeanBean");
+ assertNotNull(bean);
+ clusterConfig = bean.getClusterConfig();
+ assertNotNull(clusterConfig);
+ assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
+ assertEquals("BeanLBP", clusterConfig.getLoadBalancePolicy());
+ assertEquals("BeanLBP", clusterConfig.getBeanLoadBalancePolicy());
+ assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
+
+ bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeAndSimpleBean");
+ assertNotNull(bean);
+ clusterConfig = bean.getClusterConfig();
+ assertNotNull(clusterConfig);
+ assertEquals("ClusterConfigPartition", clusterConfig.getPartitionName());
+ assertEquals("SimpleLBP", clusterConfig.getLoadBalancePolicy());
+ assertEquals("SimpleLBP", clusterConfig.getBeanLoadBalancePolicy());
+ assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
+
+ bean = (JBossSessionBeanMetaData) enterpriseBeans.get("HomeOnlyBean");
+ assertNotNull(bean);
+ clusterConfig = bean.getClusterConfig();
+ assertNotNull(clusterConfig);
+ assertNull(clusterConfig.getPartitionName());
+ assertNull(clusterConfig.getLoadBalancePolicy());
+ assertNull(clusterConfig.getBeanLoadBalancePolicy());
+ assertEquals("HomeLBP", clusterConfig.getHomeLoadBalancePolicy());
+ }
+
+ public void testJndiBindingPolicy() throws Exception
+ {
+ JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+ xbdelegate.setValidateSchema(true);
+ JBossMetaData jbossXmlMetaData = unmarshal();
+ assertEquals("org.jboss.metadata.test.AppJndiBindingPolicy", jbossXmlMetaData.getJndiBindingPolicy());
+ JBossEnterpriseBeansMetaData enterpriseBeans = jbossXmlMetaData.getEnterpriseBeans();
+ assertNotNull(enterpriseBeans);
+ assertEquals(3, enterpriseBeans.size());
+
+ JBossEnterpriseBeanMetaData ejb = enterpriseBeans.get("EjbBean");
+ assertNotNull(ejb);
+ assertEquals("org.jboss.metadata.test.EjbJndiBindingPolicy", ejb.getJndiBindingPolicy());
+
+ ejb = enterpriseBeans.get("MdbName");
+ assertNotNull(ejb);
+ assertEquals("org.jboss.metadata.test.MdbJndiBindingPolicy", ejb.getJndiBindingPolicy());
+
+ ejb = enterpriseBeans.get("SessionBean");
+ assertNotNull(ejb);
+ assertEquals("org.jboss.metadata.test.SessionJndiBindingPolicy", ejb.getJndiBindingPolicy());
+ }
+
+ private <T> Set<T> toSet(T ... obj)
+ {
+ Set<T> set = new HashSet<T>();
+ for(T o : obj)
+ {
+ set.add(o);
+ }
+ return set;
+ }
+}
More information about the jboss-cvs-commits
mailing list