From: Vance K. <va...@us...> - 2007-02-04 02:45:12
|
User: vancek Date: 07/02/03 18:45:08 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java EJB3SessionFacadeLogicImpl.java andromda-ejb3/src/main/resources/META-INF/andromda cartridge.xml metafacades.xml namespace.xml andromda-ejb3/src/site changes.xml andromda-ejb3/src/main/uml EJB3MetafacadeModel.xml.zip Added: andromda-ejb3/src/main/resources/templates/ejb3/microcontainer ejb3-interceptors-aop.xml.vsl jndi.properties.vsl login-config.xml.vsl log4j.xml.vsl default.persistence.properties.vsl embedded-jboss-beans.xml.vsl users.properties.vsl security-beans.xml.vsl jboss-jms-beans.xml.vsl roles.properties.vsl andromda-ejb3/src/main/resources/templates/ejb3/test SessionTest.vsl EJB3Container.vsl testng.xml.vsl Log: add TestNG and JBoss Embeddable Microcontainer support for generating basic testng tests for each modelled session bean Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/ejb3-interceptors-aop.xml.vsl Index: ejb3-interceptors-aop.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE aop PUBLIC "-//JBoss//DTD JBOSS AOP 1.0//EN" "http://www.jboss.org/aop/dtd/jboss-aop_1_0.dtd"> <aop> <interceptor class="org.jboss.aspects.remoting.InvokeRemoteInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.aspects.security.SecurityClientInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.aspects.tx.ClientTxPropagationInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.remoting.IsLocalInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.aspects.remoting.ClusterChooserInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.aspects.tx.TxPropagationInterceptor" scope="PER_VM"/> <stack name="ServiceClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="AsynchronousStatelessSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="AsynchronousStatefulSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="StatelessSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="StatefulSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="ClusteredStatelessSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <stack name="ClusteredStatefulSessionClientInterceptors"> <interceptor-ref name="org.jboss.ejb3.remoting.IsLocalInterceptor"/> <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/> <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/> </stack> <interceptor class="org.jboss.ejb3.asynchronous.AsynchronousInterceptor" scope="PER_CLASS"/> <interceptor class="org.jboss.ejb3.ENCPropagationInterceptor" scope="PER_VM"/> <interceptor name="Basic Authorization" factory="org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/> <interceptor name="JACC Authorization" factory="org.jboss.ejb3.security.JaccAuthorizationInterceptorFactory" scope="PER_CLASS"/> <interceptor factory="org.jboss.ejb3.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/> <interceptor factory="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/> <interceptor class="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.stateless.StatelessInstanceInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.stateful.StatefulInstanceInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.service.ServiceSingletonInterceptor" scope="PER_VM"/> <interceptor class="org.jboss.ejb3.cache.StatefulReplicationInterceptor" scope="PER_VM"/> <interceptor factory="org.jboss.ejb3.stateful.StatefulRemoveFactory" scope="PER_CLASS_JOINPOINT"/> <interceptor factory="org.jboss.ejb3.tx.TxInterceptorFactory" scope="PER_CLASS_JOINPOINT"/> <interceptor factory="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory" scope="PER_CLASS_JOINPOINT"/> <interceptor factory="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory" scope="PER_CLASS"/> <interceptor class="org.jboss.ejb3.AllowedOperationsInterceptor" scope="PER_VM"/> <interceptor factory="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory" scope="PER_CLASS"/> <interceptor class="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor" scope="PER_VM"/> <domain name="Stateless Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="Basic Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))"> <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000) </annotation> </domain> <domain name="JACC Stateless Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="JACC Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))"> <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000) </annotation> </domain> <domain name="Base Stateful Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="Basic Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))"> <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->@javax.ejb.Remove(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> </bind> #set ($tmpstr = "$") <bind pointcut="execution(public * ${tmpstr}instanceof{javax.ejb.SessionSynchronization}->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))"> <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000) </annotation> </domain> <domain name="Stateful Bean" extends="Base Stateful Bean" inheritBindings="true"> <!-- NON Clustered cache configuration --> <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300) </annotation> <!-- Clustered cache configuration --> <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300) </annotation> </domain> <domain name="JACC Stateful Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="JACC Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..))"> <interceptor-ref name="org.jboss.ejb3.remoting.ReplicantsManagerInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->@javax.ejb.Remove(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.StatefulRemoveFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.StatefulInstanceInterceptor"/> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> </bind> <bind pointcut="execution(public * ${tmpstr}instanceof{javax.ejb.SessionSynchronization}->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateful.SessionSynchronizationInterceptor"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.ejb.Clustered->*(..)) AND !execution(public * *->@javax.ejb.Remove(..))"> <interceptor-ref name="org.jboss.ejb3.cache.StatefulReplicationInterceptor"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.ThreadlocalPool.class, maxSize=30, timeout=10000) </annotation> <!-- NON Clustered cache configuration --> <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.simple.SimpleStatefulCache.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.PersistenceManager) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.simple.PersistenceManager (org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.simple.CacheConfig) AND !class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.simple.CacheConfig (maxSize=100000, idleTimeoutSeconds=300) </annotation> <!-- Clustered cache configuration --> <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache) AND class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.tree.StatefulTreeCache.class) </annotation> <annotation expr="!class(@org.jboss.annotation.ejb.cache.tree.CacheConfig) AND class(@org.jboss.annotation.ejb.Clustered)"> @org.jboss.annotation.ejb.cache.tree.CacheConfig (name="jboss.cache:service=EJB3SFSBClusteredCache", maxSize=100000, idleTimeoutSeconds=300) </annotation> </domain> <domain name="Embedded Stateful Bean" extends="Base Stateful Bean" inheritBindings="true"> <!-- NON Clustered cache configuration --> <annotation expr="!class(@org.jboss.annotation.ejb.cache.Cache)"> @org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class) </annotation> </domain> <domain name="Message Driven Bean"> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=30, timeout=10000) </annotation> </domain> <domain name="Consumer Bean"> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.stateless.StatelessInstanceInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> </bind> <bind pointcut="execution(public * *->*(..)) AND (has(* *->@org.jboss.annotation.ejb.CurrentMessage(..)) OR hasfield(* *->@org.jboss.annotation.ejb.CurrentMessage))"> <interceptor-ref name="org.jboss.ejb3.mdb.CurrentMessageInjectorInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> <annotation expr="!class(@org.jboss.annotation.ejb.PoolClass)"> @org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=30, timeout=10000) </annotation> </domain> <domain name="Service Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> </bind> <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))"> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="Basic Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> </bind> <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())"> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> </domain> <domain name="JACC Service Bean"> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.ejb3.asynchronous.AsynchronousInterceptor"/> <interceptor-ref name="org.jboss.ejb3.ENCPropagationInterceptor"/> </bind> <bind pointcut="!execution(* *->create()) AND !execution(* *->start()) AND !execution(*->new(..))"> <interceptor-ref name="org.jboss.ejb3.security.AuthenticationInterceptorFactory"/> </bind> <bind pointcut="execution(public * @org.jboss.annotation.security.SecurityDomain->*(..))"> <interceptor-ref name="Basic Authorization"/> </bind> <bind pointcut="execution(public * @javax.annotation.security.RunAs->*(..))"> <interceptor-ref name="org.jboss.ejb3.security.RunAsSecurityInterceptorFactory"/> </bind> <bind pointcut="execution(public * *->*(..))"> <interceptor-ref name="org.jboss.aspects.tx.TxPropagationInterceptor"/> <interceptor-ref name="org.jboss.ejb3.tx.TxInterceptorFactory"/> <interceptor-ref name="org.jboss.ejb3.AllowedOperationsInterceptor"/> <interceptor-ref name="org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor"/> </bind> <bind pointcut="execution(public * *->*(..)) AND !execution(* *->create()) AND !execution(* *->start())"> <interceptor-ref name="org.jboss.ejb3.interceptor.EJB3InterceptorsFactory"/> </bind> </domain> </aop> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/jndi.properties.vsl Index: jndi.properties.vsl =================================================================== java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/login-config.xml.vsl Index: login-config.xml.vsl =================================================================== <?xml version='1.0'?> <!DOCTYPE policy PUBLIC "-//JBoss//DTD JBOSS Security Config 3.0//EN" "http://www.jboss.org/j2ee/dtd/security_config.dtd"> <!-- The XML based JAAS login configuration read by the org.jboss.security.auth.login.XMLLoginConfig mbean. Add an application-policy element for each security domain. The outline of the application-policy is: <application-policy name="security-domain-name"> <authentication> <login-module code="login.module1.class.name" flag="control_flag"> <module-option name = "option1-name">option1-value</module-option> <module-option name = "option2-name">option2-value</module-option> ... </login-module> <login-module code="login.module2.class.name" flag="control_flag"> ... </login-module> ... </authentication> </application-policy> $Revision: 1.1 $ --> <policy> <!-- Used by clients within the application server VM such as mbeans and servlets that access EJBs. --> <application-policy name="client-login"> <authentication> <login-module code="org.jboss.security.ClientLoginModule" flag="required"> <!-- Any existing security context will be restored on logout --> <module-option name="restore-login-identity">true</module-option> </login-module> </authentication> </application-policy> <application-policy name="other"> <!-- A simple server login module, which can be used when the number of users is relatively small. It uses two properties files: users.properties, which holds users (key) and their password (value). roles.properties, which holds users (key) and a comma-separated list of their roles (value). The unauthenticatedIdentity property defines the name of the principal that will be used when a null username and password are presented as is the case for an unuathenticated web client or MDB. If you want to allow such users to be authenticated add the property, e.g., unauthenticatedIdentity="nobody" --> <authentication> <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"/> </authentication> </application-policy> #if ($stringUtils.isNotBlank(${securityRealm})) <application-policy name="${securityRealm}"> <!-- A simple server login module, which can be used when the number of users is relatively small. It uses two properties files: users.properties, which holds users (key) and their password (value). roles.properties, which holds users (key) and a comma-separated list of their roles (value). The unauthenticatedIdentity property defines the name of the principal that will be used when a null username and password are presented as is the case for an unuathenticated web client or MDB. If you want to allow such users to be authenticated add the property, e.g., unauthenticatedIdentity="nobody" --> <authentication> <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"/> </authentication> </application-policy> #end </policy> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/log4j.xml.vsl Index: log4j.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <!-- ===================================================================== --> <!-- --> <!-- Log4j Configuration --> <!-- --> <!-- ===================================================================== --> <!-- $Id: log4j.xml.vsl,v 1.1 2007/02/04 02:45:05 vancek Exp $ --> <!-- | For more configuration infromation and examples see the Jakarta Log4j | owebsite: http://jakarta.apache.org/log4j --> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> <param name="Target" value="System.out"/> <param name="Threshold" value="WARN"/> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Messagen --> <!-- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> --> <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) -%m%n"/> </layout> </appender> <root> <appender-ref ref="CONSOLE"/> </root> </log4j:configuration> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/default.persistence.properties.vsl Index: default.persistence.properties.vsl =================================================================== hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup #hibernate.connection.release_mode=after_statement #hibernate.transaction.flush_before_completion=false #hibernate.transaction.auto_close_session=false #hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory #hibernate.hbm2ddl.auto=create-drop #hibernate.hbm2ddl.auto=create hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider # Clustered cache with TreeCache #hibernate.cache.provider_class=org.jboss.ejb3.entity.TreeCacheProviderHook #hibernate.treecache.mbean.object_name=jboss.cache:service=EJB3EntityTreeCache #hibernate.dialect=org.hibernate.dialect.HSQLDialect hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces hibernate.bytecode.use_reflection_optimizer=false # I don't think this is honored, but EJB3Deployer uses it hibernate.bytecode.provider=javassist 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/embedded-jboss-beans.xml.vsl Index: embedded-jboss-beans.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd" xmlns="urn:jboss:bean-deployer:2.0"> <bean name="Naming" class="org.jnp.server.SingletonNamingServer"/> <bean name="InitialContextProperties" class="java.util.Hashtable"> <constructor> <parameter class="java.util.Map"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <entry> <key>java.naming.factory.initial</key> <value>org.jnp.interfaces.LocalOnlyContextFactory</value> </entry> <entry> <key>java.naming.factory.url.pkgs</key> <value>org.jboss.naming:org.jnp.interfaces</value> </entry> </map> </parameter> </constructor> </bean> <bean name="java:comp/Initializer" class="org.jboss.ejb3.embedded.JavaCompInitializer"> <property name="jndiProperties"><inject bean="InitialContextProperties"/></property> </bean> <bean name="XidFactory" class="org.jboss.tm.XidFactoryImpl"/> <bean name="XidFactoryMBean" class="org.jboss.ejb3.embedded.XidFactoryMBean"> <constructor> <parameter class="org.jboss.tm.XidFactoryBase"> <inject bean="XidFactory"/> </parameter> </constructor> </bean> <bean name="TransactionManagerInitializer" class="org.jboss.tm.TransactionManagerInitializer"> <property name="xidFactory"><inject bean="XidFactory"/></property> <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property> </bean> <bean name="UserTransaction" class="org.jboss.ejb3.embedded.UserTransactionImpl"> <demand>TransactionManagerInitializer</demand> </bean> <bean name="UserTransactionBinding" class="org.jboss.ejb3.embedded.JndiBinder"> <property name="jndiProperties"><inject bean="InitialContextProperties"/></property> <property name="target"><inject bean="UserTransaction"/></property> <property name="bindTo">UserTransaction</property> <property name="serializable">false</property> </bean> <bean name="TransactionManager" class="java.lang.Object"> <constructor factoryMethod="getTransactionManager"> <factory bean="TransactionManagerInitializer"/> </constructor> </bean> <bean name="CachedConnectionManager" class="org.jboss.resource.connectionmanager.CachedConnectionManagerReference"> <property name="transactionManager"><inject bean="TransactionManager"/></property> </bean> <!-- <bean class="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic,database=localDB"> <property name="database">localDB</property> <property name="inProcessMode">true</property> <property name="dbDataDir">.</property> </bean> --> <bean name="DefaultDSBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource"> <property name="driverClass">org.hsqldb.jdbcDriver</property> <property name="connectionURL">jdbc:hsqldb:.</property> <!-- <property name="connectionURL">jdbc:hsqldb:./hypersonic/localDB</property> --> <property name="userName">sa</property> <property name="jndiName">java:/DefaultDS</property> <property name="minSize">0</property> <property name="maxSize">10</property> <property name="blockingTimeout">1000</property> <property name="idleTimeout">100000</property> <property name="transactionManager"><inject bean="TransactionManager"/></property> <property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property> <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property> </bean> <bean name="DefaultDS" class="java.lang.Object"> <constructor factoryMethod="getDatasource"> <factory bean="DefaultDSBootstrap"/> </constructor> </bean> #if ($stringUtils.isNotBlank(${entityManagerName})) <bean name="${entityManagerName}DatasourceBootstrap" class="org.jboss.resource.adapter.jdbc.local.LocalTxDataSource"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="connectionURL">jdbc:mysql://localhost:3306/${entityManagerName}</property> <!-- <property name="connectionURL">jdbc:hsqldb:./hypersonic/localDB</property> --> <property name="userName">sa</property> <property name="jndiName">java:/jdbc/${entityManagerName}</property> <property name="minSize">0</property> <property name="maxSize">10</property> <property name="blockingTimeout">1000</property> <property name="idleTimeout">100000</property> <property name="transactionManager"><inject bean="TransactionManager"/></property> <property name="cachedConnectionManager"><inject bean="CachedConnectionManager"/></property> <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property> </bean> <bean name="jdbc/${entityManagerName}" class="java.lang.Object"> <constructor factoryMethod="getDatasource"> <factory bean="${entityManagerName}DatasourceBootstrap"/> </constructor> </bean> #end <!-- <bean name="TimerServiceFactory" class="org.jboss.ejb3.timerservice.quartz.QuartzTimerServiceFactory"> <property name="properties"> org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT org.quartz.jobStore.nonManagedTXDataSource=myDS org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate org.quartz.jobStore.tablePrefix=QRTZ_ org.quartz.jobStore.dataSource=myDS # To get it to work with hypersonic # FIXME: this doesn't lock the row org.quartz.jobStore.selectWithLockSQL=SELECT * FROM qrtz_locks WHERE lock_name = ? # from quartz.properties org.quartz.scheduler.instanceName=JBossEJB3QuartzScheduler org.quartz.scheduler.rmi.export=false org.quartz.scheduler.rmi.proxy=false org.quartz.scheduler.wrapJobExecutionInUserTransaction=false org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount=10 org.quartz.threadPool.threadPriority=5 org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true org.quartz.jobStore.misfireThreshold=60000 </property> <property name="dataSource">java:/DefaultDS</property> <property name="sqlProperties"> CREATE_DB_ON_STARTUP = TRUE CREATE_TABLE_JOB_DETAILS = CREATE TABLE qrtz_job_details(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \ DESCRIPTION VARCHAR(120) NULL, JOB_CLASS_NAME VARCHAR(128) NOT NULL, IS_DURABLE VARCHAR(1) NOT NULL, \ IS_VOLATILE VARCHAR(1) NOT NULL, IS_STATEFUL VARCHAR(1) NOT NULL, REQUESTS_RECOVERY VARCHAR(1) NOT NULL, \ JOB_DATA BINARY NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP)) CREATE_TABLE_JOB_LISTENERS = CREATE TABLE qrtz_job_listeners(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \ JOB_LISTENER VARCHAR(80) NOT NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER), FOREIGN KEY (JOB_NAME,JOB_GROUP) \ REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)) CREATE_TABLE_TRIGGERS = CREATE TABLE qrtz_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, TRIGGER_GROUP VARCHAR(80) NOT NULL, \ JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, DESCRIPTION VARCHAR(120) NULL, \ NEXT_FIRE_TIME NUMERIC(13) NULL, PREV_FIRE_TIME NUMERIC(13) NULL, TRIGGER_STATE VARCHAR(16) NOT NULL, \ TRIGGER_TYPE VARCHAR(8) NOT NULL, START_TIME NUMERIC(13) NOT NULL, END_TIME NUMERIC(13) NULL, CALENDAR_NAME VARCHAR(80) NULL, \ MISFIRE_INSTR NUMERIC(2) NULL, JOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (JOB_NAME,JOB_GROUP) \ REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP)) CREATE_TABLE_SIMPLE_TRIGGERS = CREATE TABLE qrtz_simple_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \ TRIGGER_GROUP VARCHAR(80) NOT NULL, REPEAT_COUNT NUMERIC(7) NOT NULL, REPEAT_INTERVAL NUMERIC(12) NOT NULL, \ TIMES_TRIGGERED NUMERIC(7) NOT NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \ REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)) CREATE_TABLE_CRON_TRIGGERS = CREATE TABLE qrtz_cron_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \ TRIGGER_GROUP VARCHAR(80) NOT NULL, CRON_EXPRESSION VARCHAR(80) NOT NULL, TIME_ZONE_ID VARCHAR(80), \ PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \ REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)) CREATE_TABLE_BLOB_TRIGGERS = CREATE TABLE qrtz_blob_triggers(TRIGGER_NAME VARCHAR(80) NOT NULL, \ TRIGGER_GROUP VARCHAR(80) NOT NULL, BLOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), \ FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)) CREATE_TABLE_TRIGGER_LISTENERS = CREATE TABLE qrtz_trigger_listeners(TRIGGER_NAME VARCHAR(80) NOT NULL, \ TRIGGER_GROUP VARCHAR(80) NOT NULL, TRIGGER_LISTENER VARCHAR(80) NOT NULL, \ PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \ REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)) CREATE_TABLE_CALENDARS = CREATE TABLE qrtz_calendars(CALENDAR_NAME VARCHAR(80) NOT NULL, CALENDAR BINARY NOT NULL, \ PRIMARY KEY (CALENDAR_NAME)) CREATE_TABLE_PAUSED_TRIGGER_GRPS = CREATE TABLE qrtz_paused_trigger_grps(TRIGGER_GROUP VARCHAR(80) NOT NULL, \ PRIMARY KEY (TRIGGER_GROUP)) CREATE_TABLE_FIRED_TRIGGERS = CREATE TABLE qrtz_fired_triggers(ENTRY_ID VARCHAR(95) NOT NULL, TRIGGER_NAME VARCHAR(80) NOT NULL, \ TRIGGER_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, INSTANCE_NAME VARCHAR(80) NOT NULL, \ FIRED_TIME NUMERIC(13) NOT NULL, STATE VARCHAR(16) NOT NULL, JOB_NAME VARCHAR(80) NULL, JOB_GROUP VARCHAR(80) NULL, \ IS_STATEFUL VARCHAR(1) NULL, REQUESTS_RECOVERY VARCHAR(1) NULL, PRIMARY KEY (ENTRY_ID)) CREATE_TABLE_SCHEDULER_STATE = CREATE TABLE qrtz_scheduler_state(INSTANCE_NAME VARCHAR(80) NOT NULL, \ LAST_CHECKIN_TIME NUMERIC(13) NOT NULL, CHECKIN_INTERVAL NUMERIC(13) NOT NULL, RECOVERER VARCHAR(80) NULL, \ PRIMARY KEY (INSTANCE_NAME)) CREATE_TABLE_LOCKS = CREATE TABLE qrtz_locks(LOCK_NAME VARCHAR(40) NOT NULL, PRIMARY KEY (LOCK_NAME)) INSERT_TRIGGER_ACCESS = INSERT INTO qrtz_locks values('TRIGGER_ACCESS') INSERT_JOB_ACCESS = INSERT INTO qrtz_locks values('JOB_ACCESS') INSERT_CALENDAR_ACCESS = INSERT INTO qrtz_locks values('CALENDAR_ACCESS') INSERT_STATE_ACCESS = INSERT INTO qrtz_locks values('STATE_ACCESS') INSERT_MISFIRE_ACCESS = INSERT INTO qrtz_locks values('MISFIRE_ACCESS') </property> </bean> --> </deployment> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/users.properties.vsl Index: users.properties.vsl =================================================================== admin=admin user=password 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/security-beans.xml.vsl Index: security-beans.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd" xmlns="urn:jboss:bean-deployer:2.0"> <bean class="org.jboss.ejb3.embedded.JaasSecurityManagerService" name="jboss.security:service=JaasSecurityManager"> <property name="initialContextProperties"> <inject bean="InitialContextProperties"/> </property> </bean> </deployment> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/jboss-jms-beans.xml.vsl Index: jboss-jms-beans.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd" xmlns="urn:jboss:bean-deployer"> <bean name="jboss.mq:service=JMSProviderLoader,name=JMSProvider" class="org.jboss.jms.jndi.JNDIProviderAdapter"> <property name="factoryRef">java:/XAConnectionFactory</property> <property name="queueFactoryRef">java:/XAConnectionFactory</property> <property name="topicFactoryRef">java:/XAConnectionFactory</property> <property name="properties" class="java.util.Properties"> <map keyClass="java.lang.String" valueClass="java.lang.String"> <entry> <key>java.naming.factory.initial</key> <value>org.jnp.interfaces.LocalOnlyContextFactory</value> </entry> <entry> <key>java.naming.factory.url.pkgs</key> <value>org.jboss.naming:org.jnp.interfaces</value> </entry> </map> </property> </bean> <bean name="b1" class="org.jboss.ejb3.embedded.JndiBinder"> <property name="jndiProperties"><inject bean="InitialContextProperties"/></property> <property name="target"><inject bean="jboss.mq:service=JMSProviderLoader,name=JMSProvider"/></property> <property name="bindTo">java:/DefaultJMSProvider</property> <property name="serializable">true</property> </bean> <bean name="jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool" class="org.jboss.jms.asf.StdServerSessionPoolFactory"> <property name="name">StdJMSPool</property> <property name="xidFactory"><inject bean="XidFactoryMBean"/></property> <property name="transactionManager"><inject bean="TransactionManager"/></property> </bean> <bean name="b2" class="org.jboss.ejb3.embedded.JndiBinder"> <property name="jndiProperties"><inject bean="InitialContextProperties"/></property> <property name="target"><inject bean="jboss.mq:service=ServerSessionPoolMBean,name=StdJMSPool"/></property> <property name="bindTo">java:/StdJMSPool</property> <property name="serializable">false</property> </bean> <bean name="jboss.mq:service=PersistenceManager" class="org.jboss.mq.kernel.JDBC2PersistenceManager"> <property name="transactionManager"> <inject bean="TransactionManager"/> </property> <property name="datasource"> <inject bean="DefaultDS"/> </property> <property name="sqlProperties"> BLOB_TYPE=OBJECT_BLOB INSERT_TX = INSERT INTO JMS_TRANSACTIONS (TXID) values(?) INSERT_MESSAGE = INSERT INTO JMS_MESSAGES (MESSAGEID, DESTINATION, MESSAGEBLOB, TXID, TXOP) VALUES(?,?,?,?,?) SELECT_ALL_UNCOMMITED_TXS = SELECT TXID FROM JMS_TRANSACTIONS SELECT_MAX_TX = SELECT MAX(TXID) FROM JMS_MESSAGES SELECT_MESSAGES_IN_DEST = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE DESTINATION=? SELECT_MESSAGE = SELECT MESSAGEID, MESSAGEBLOB FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=? MARK_MESSAGE = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE MESSAGEID=? AND DESTINATION=? UPDATE_MESSAGE = UPDATE JMS_MESSAGES SET MESSAGEBLOB=? WHERE MESSAGEID=? AND DESTINATION=? UPDATE_MARKED_MESSAGES = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? UPDATE_MARKED_MESSAGES_WITH_TX = UPDATE JMS_MESSAGES SET TXID=?, TXOP=? WHERE TXOP=? AND TXID=? DELETE_MARKED_MESSAGES_WITH_TX = DELETE FROM JMS_MESSAGES WHERE TXOP=? AND JMS_MESSAGES.TXID IN (SELECT TXID FROM JMS_TRANSACTIONS) DELETE_TX = DELETE FROM JMS_TRANSACTIONS WHERE TXID = ? DELETE_MARKED_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXID=? AND TXOP=? DELETE_MESSAGE = DELETE FROM JMS_MESSAGES WHERE MESSAGEID=? AND DESTINATION=? CREATE_MESSAGE_TABLE = CREATE CACHED TABLE JMS_MESSAGES ( MESSAGEID INTEGER NOT NULL, \ DESTINATION VARCHAR(255) NOT NULL, TXID INTEGER, TXOP CHAR(1), \ MESSAGEBLOB OBJECT, PRIMARY KEY (MESSAGEID, DESTINATION) ) CREATE_IDX_MESSAGE_TXOP_TXID = CREATE INDEX JMS_MESSAGES_TXOP_TXID ON JMS_MESSAGES (TXOP, TXID) CREATE_IDX_MESSAGE_DESTINATION = CREATE INDEX JMS_MESSAGES_DESTINATION ON JMS_MESSAGES (DESTINATION) CREATE_TX_TABLE = CREATE CACHED TABLE JMS_TRANSACTIONS ( TXID INTEGER, PRIMARY KEY (TXID) ) CREATE_TABLES_ON_STARTUP = TRUE DELETE_TEMPORARY_MESSAGES = DELETE FROM JMS_MESSAGES WHERE TXOP='T' </property> </bean> <bean name="jboss.mq:service=MessageCache" class="org.jboss.mq.kernel.MessageCache"> <property name="persistenceManager"><inject bean="jboss.mq:service=PersistenceManager"/></property> <property name="highMemoryMark">50</property> <property name="maxMemoryMark">60</property> </bean> <bean name="jms-rar-WorkManager" class="org.jboss.ejb3.embedded.resource.JBossWorkManager"> </bean> <bean name="jms-rar-DeploymentInfo" class="org.jboss.ejb3.embedded.resource.Ejb3DeploymentInfo"> <constructor> <parameter class="java.lang.String">jms-ra.rar</parameter> <parameter class="java.lang.String">javax.jms.MessageListener</parameter> <parameter class="java.lang.String">org.jboss.resource.adapter.jms.inflow.JmsActivationSpec</parameter> </constructor> </bean> <bean name="jboss.jca:name='jms-ra.rar',service=RARDeployment" class="org.jboss.ejb3.embedded.resource.RARDeployment"> <constructor> <parameter class="org.jboss.deployment.DeploymentInfo"> <inject bean="jms-rar-DeploymentInfo"/> </parameter> </constructor> <property name="workManager"><inject bean="jms-rar-WorkManager"/></property> </bean> <bean name="jboss.mq:service=StateManager" class="org.jboss.mq.kernel.JDBCStateManager"> <property name="transactionManager"> <inject bean="TransactionManager"/> </property> <property name="datasource"> <inject bean="DefaultDS"/> </property> <property name="sqlProperties"> CREATE_TABLES_ON_STARTUP = TRUE CREATE_USER_TABLE = CREATE TABLE JMS_USERS (USERID VARCHAR(32) NOT NULL, PASSWD VARCHAR(32) NOT NULL, \ CLIENTID VARCHAR(128), PRIMARY KEY(USERID)) CREATE_ROLE_TABLE = CREATE TABLE JMS_ROLES (ROLEID VARCHAR(32) NOT NULL, USERID VARCHAR(32) NOT NULL, \ PRIMARY KEY(USERID, ROLEID)) CREATE_SUBSCRIPTION_TABLE = CREATE TABLE JMS_SUBSCRIPTIONS (CLIENTID VARCHAR(128) NOT NULL, \ SUBNAME VARCHAR(128) NOT NULL, TOPIC VARCHAR(255) NOT NULL, \ SELECTOR VARCHAR(255), PRIMARY KEY(CLIENTID, SUBNAME)) GET_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=? LOCK_SUBSCRIPTION = SELECT TOPIC, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=? GET_SUBSCRIPTIONS_FOR_TOPIC = SELECT CLIENTID, SUBNAME, SELECTOR FROM JMS_SUBSCRIPTIONS WHERE TOPIC=? INSERT_SUBSCRIPTION = INSERT INTO JMS_SUBSCRIPTIONS (CLIENTID, SUBNAME, TOPIC, SELECTOR) VALUES(?,?,?,?) UPDATE_SUBSCRIPTION = UPDATE JMS_SUBSCRIPTIONS SET TOPIC=?, SELECTOR=? WHERE CLIENTID=? AND SUBNAME=? REMOVE_SUBSCRIPTION = DELETE FROM JMS_SUBSCRIPTIONS WHERE CLIENTID=? AND SUBNAME=? GET_USER_BY_CLIENTID = SELECT USERID, PASSWD, CLIENTID FROM JMS_USERS WHERE CLIENTID=? GET_USER = SELECT PASSWD, CLIENTID FROM JMS_USERS WHERE USERID=? POPULATE.TABLES.01 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('guest', 'guest') POPULATE.TABLES.02 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('j2ee', 'j2ee') POPULATE.TABLES.03 = INSERT INTO JMS_USERS (USERID, PASSWD, CLIENTID) VALUES ('john', 'needle', 'DurableSubscriberExample') POPULATE.TABLES.04 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('nobody', 'nobody') POPULATE.TABLES.05 = INSERT INTO JMS_USERS (USERID, PASSWD) VALUES ('dynsub', 'dynsub') POPULATE.TABLES.06 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('guest','guest') POPULATE.TABLES.07 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('j2ee','guest') POPULATE.TABLES.08 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('john','guest') POPULATE.TABLES.09 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('subscriber','john') POPULATE.TABLES.10 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','john') POPULATE.TABLES.11 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('publisher','dynsub') POPULATE.TABLES.12 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','john') POPULATE.TABLES.13 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('durpublisher','dynsub') POPULATE.TABLES.14 = INSERT INTO JMS_ROLES (ROLEID, USERID) VALUES ('noacc','nobody') </property> </bean> <bean name="BasicQueueParameters" class="org.jboss.mq.server.BasicQueueParameters"/> <bean name="jboss.mq:service=ThreadPool" class="org.jboss.util.threadpool.BasicThreadPool"> <property name="name">JMSThread</property> <property name="threadGroupName">JBossMQ Server Threads</property> <!-- The max number of threads in the pool --> <property name="maximumPoolSize">10</property> <!-- The max number of tasks before the queue is full --> <property name="maximumQueueSize">1000</property> <!-- The behavior of the pool when a task is added and the queue is full. abort - a RuntimeException is thrown run - the calling thread executes the task wait - the calling thread blocks until the queue has room discard - the task is silently discarded without being run discardOldest - check to see if a task is about to complete and enque the new task if possible, else run the task in the calling thread --> <property name="blockingModeString">run</property> </bean> <bean name="jboss.mq:service=DestinationManager" class="org.jboss.mq.server.JMSDestinationManager"> <constructor> <parameter class="org.jboss.mq.server.BasicQueueParameters"> <inject bean="BasicQueueParameters"/> </parameter> </constructor> <property name="persistenceManager"><inject bean="jboss.mq:service=PersistenceManager"/></property> <property name="messageCache"><inject bean="jboss.mq:service=MessageCache"/></property> <property name="stateManager"><inject bean="jboss.mq:service=StateManager"/></property> <property name="threadPool"><inject bean="jboss.mq:service=ThreadPool"/></property> <property name="threadGroup"><inject bean="jboss.mq:service=ThreadPool" property="threadGroup"/></property> <start method="startServer"/> <stop method="stopServer"/> </bean> <bean name="jboss.mq.destination:service=Queue,name=DLQ" class="org.jboss.mq.kernel.Queue"> <property name="destinationManagerPojo"><inject bean="jboss.mq:service=DestinationManager"/></property> <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property> <property name="destinationName">DLQ</property> </bean> <bean name="jboss.mq:service=Invoker" class="org.jboss.mq.server.JMSServerInvoker"> <property name="next"><inject bean="jboss.mq:service=DestinationManager"/></property> </bean> <bean name="jboss.mq:service=invocationlayer,type=JVM" class="org.jboss.mq.kernel.JVMIL"> <property name="jmsInvoker"><inject bean="jboss.mq:service=Invoker"/></property> <property name="connectionFactoryJNDIRef">java:/ConnectionFactory</property> <property name="XAConnectionFactoryJNDIRef">java:/XAConnectionFactory</property> <property name="pingPeriod">0</property> <property name="initialContextProperties"><inject bean="InitialContextProperties"/></property> </bean> </deployment> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/microcontainer/roles.properties.vsl Index: roles.properties.vsl =================================================================== admin=USER,ADMIN user=USER 1.17 +25 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java Index: EJB3SessionOperationFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionOperationFacadeLogicImpl.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -w -r1.16 -r1.17 --- EJB3SessionOperationFacadeLogicImpl.java 17 Jan 2007 00:50:55 -0000 1.16 +++ EJB3SessionOperationFacadeLogicImpl.java 4 Feb 2007 02:45:06 -0000 1.17 @@ -28,6 +28,10 @@ public class EJB3SessionOperationFacadeLogicImpl extends EJB3SessionOperationFacadeLogic { + /** + * The property which stores the pattern used to generate the service operation test name + */ + private static final String SERVICE_OPERATION_TEST_NAME_PATTERN = "serviceOperationTestNamePattern"; public EJB3SessionOperationFacadeLogicImpl (Object metaObject, String context) { @@ -212,6 +216,27 @@ } /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetTestSignature() + */ + protected String handleGetTestSignature() + { + return this.getTestName() + "()"; + } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#handleGetTestName() + */ + protected String handleGetTestName() + { + String serviceOperationTestNamePattern = + (String)this.getConfiguredProperty(SERVICE_OPERATION_TEST_NAME_PATTERN); + + return MessageFormat.format( + serviceOperationTestNamePattern, + new Object[] {StringUtils.trimToEmpty(StringUtils.capitalize(this.getName()))}); + } + + /** * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionOperationFacadeLogic#getCall() * * Override the default implmentation to check for timer service and 1.20 +45 -0 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionFacadeLogicImpl.java Index: EJB3SessionFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3SessionFacadeLogicImpl.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -w -r1.19 ... [truncated message content] |