You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(178) |
Feb
(169) |
Mar
(286) |
Apr
(117) |
May
(98) |
Jun
(68) |
Jul
(63) |
Aug
(121) |
Sep
(88) |
Oct
(124) |
Nov
(2) |
Dec
(111) |
2007 |
Jan
(224) |
Feb
(69) |
Mar
(10) |
Apr
(72) |
May
(7) |
Jun
(21) |
Jul
(33) |
Aug
(35) |
Sep
(12) |
Oct
(22) |
Nov
(5) |
Dec
(6) |
2008 |
Jan
(2) |
Feb
(10) |
Mar
(39) |
Apr
(58) |
May
(34) |
Jun
(9) |
Jul
(27) |
Aug
(10) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
From: Vance K. <va...@us...> - 2006-03-14 06:16:55
|
User: vancek Date: 06/03/13 22:16:55 Modified: andromda-ejb3/src/main/resources/META-INF/andromda cartridge.xml Log: added hibernate cache and clustering properties. added jboss-app.xml and ejb3-entity-cache-service.xml templates. uncommented login-service.xml template. changed path for config/descriptors depending on whether they are common or jboss specific. Revision Changes Path 1.19 +50 -11 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml Index: cartridge.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/cartridge.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -w -r1.18 -r1.19 --- cartridge.xml 9 Mar 2006 04:34:28 -0000 1.18 +++ cartridge.xml 14 Mar 2006 06:16:54 -0000 1.19 @@ -22,6 +22,9 @@ <property reference="hibernateJdbcUseStreamsForBinary"/> <property reference="hibernateCacheProvider"/> <property reference="hibernateTreecacheMbeanObject"/> + <property reference="hibernateEnableCache"/> + <property reference="hibernateEnableAssociationsCache"/> + <property reference="hibernateEnableQueryCache"/> <property reference="hibernateTransactionManagerLookupClass"/> <property reference="hibernateTransactionFlushBeforeCompletion"/> <property reference="hibernateTransactionAutoCloseSession"/> @@ -34,6 +37,8 @@ <property reference="xmlEncoding"/> <property reference="enableTemplating"/> <property reference="jndiNamePrefix"/> + <property reference="securityRealm"/> + <property reference="enableClustering"/> <!-- Entity Bean Templates --> @@ -98,19 +103,23 @@ </template> <template - path="templates/ejb3/persistence.xml.vsl" + path="templates/ejb3/config/persistence.xml.vsl" outputPattern="META-INF/persistence.xml" outlet="entity-config" overwrite="true" outputToSingleFile="true" outputOnEmptyElements="false"> <modelElements> + <modelElement variable="entities"> + <type name="org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade"/> + </modelElement> <modelElement variable="services"> <type name="org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade"/> </modelElement> <modelElement variable="persistenceContexts"> <type name="org.andromda.cartridges.ejb3.metafacades.EJB3PersistenceContextFacade"/> </modelElement> + </modelElements> </template> @@ -225,7 +234,7 @@ </template> <template - path="templates/ejb3/ejb-jar.xml.vsl" + path="templates/ejb3/config/ejb-jar.xml.vsl" outputPattern="META-INF/ejb-jar.xml" outlet="session-config" overwrite="true" @@ -248,7 +257,7 @@ </template> <template - path="templates/ejb3/jboss.xml.vsl" + path="templates/ejb3/config/jboss/jboss.xml.vsl" outputPattern="META-INF/jboss.xml" outlet="session-config" overwrite="true" @@ -268,9 +277,9 @@ </template> <template - path="templates/ejb3/login-config.xml.vsl" + path="templates/ejb3/config/jboss/login-config.xml.vsl" outputPattern="$generatedFile" - outlet="application-config" + outlet="application-metainf" overwrite="false" outputToSingleFile="true" outputOnEmptyElements="false"> @@ -283,11 +292,10 @@ </modelElements> </template> - <!-- <template - path="templates/ejb3/login-service.xml.vsl" + path="templates/ejb3/config/jboss/login-service.xml.vsl" outputPattern="$generatedFile" - outlet="application-config" + outlet="application-metainf" overwrite="false" outputToSingleFile="true" outputOnEmptyElements="false"> @@ -299,10 +307,25 @@ </modelElement> </modelElements> </template> - --> <template - path="templates/ejb3/auth.conf.vsl" + path="templates/ejb3/config/jboss/jboss-app.xml.vsl" + outputPattern="jboss-app.xml" + outlet="application-metainf" + overwrite="true" + outputToSingleFile="true" + outputOnEmptyElements="false"> + <modelElements> + <modelElement variable="services"> + <type name="org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacade"> + <property name="securityEnabled"/> + </type> + </modelElement> + </modelElements> + </template> + + <template + path="templates/ejb3/config/jboss/auth.conf.vsl" outputPattern="auth.conf" outlet="application-config" overwrite="false" @@ -317,6 +340,22 @@ </modelElements> </template> + <template + path="templates/ejb3/config/jboss/ejb3-entity-cache-service.xml.vsl" + outputPattern="ejb3-entity-cache-service.xml" + outlet="application-config" + overwrite="true" + outputToSingleFile="true" + outputOnEmptyElements="false"> + <modelElements> + <modelElement variable="entities"> + <type name="org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacade"> + <property name="cacheEnabled"/> + </type> + </modelElement> + </modelElements> + </template> + <!-- Message Driven Bean Templates --> <template |
From: Vance K. <va...@us...> - 2006-03-14 06:14:17
|
User: vancek Date: 06/03/13 22:14:15 Added: andromda-ejb3/src/main/resources/templates/ejb3/config/jboss login-config.xml.vsl auth.conf.vsl jboss.xml.vsl Log: moved jboss specific config/descriptors Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/login-config.xml.vsl Index: login-config.xml.vsl =================================================================== #set ($generatedFile = "${securityRealm}-login-config.xml") <?xml version="1.0" encoding="${xmlEncoding}"?> <!DOCTYPE policy PUBLIC "-//JBoss//DTD JBOSS Security Config 3.0//EN" "http://www.jboss.org/j2ee/dtd/security_config.dtd"> <policy> <application-policy name="${securityRealm}"> <authentication> <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"> <module-option name="debug">true</module-option> <module-option name="unauthenticatedIdentity">guest</module-option> <module-option name="dsJndiName">${entityManagerJTADataSource}</module-option> <module-option name="principalsQuery"> SELECT PASSWORD 'Password' FROM principal WHERE BINARY PRINCIPAL_ID =? </module-option> <module-option name="rolesQuery"> SELECT ROLE 'Roles', ROLE_GROUP 'RoleGroups' FROM role WHERE BINARY PRINCIPAL_ID =? </module-option> <!-- uncomment to enable MD5 and BASE64 hash encoding <module-option name="hashAlgorithm">MD5</module-option> <module-option name="hashEncoding">BASE64</module-option> --> </login-module> </authentication> </application-policy> </policy> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/auth.conf.vsl Index: auth.conf.vsl =================================================================== $securityRealm { // jBoss LoginModule org.jboss.security.ClientLoginModule required ; }; 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/jboss.xml.vsl Index: jboss.xml.vsl =================================================================== <?xml version="1.0" encoding="${xmlEncoding}"?> <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd"> <jboss> #foreach ($service in $services) #**##if ($service.securityEnabled && !$generatedFile) #* *##set ($securityRealm = "${service.securityRealm}") #**##end #end #if ($stringUtils.isNotBlank(${securityRealm})) <security-domain>${securityRealm}</security-domain> #end <enterprise-beans> #foreach ($service in $services) <session> <ejb-name>${service.fullyQualifiedServiceName}</ejb-name> #**##if ($service.viewTypeRemote && $stringUtils.isNotBlank($service.jndiNameRemote)) <jndi-name>${service.jndiNameRemote}</jndi-name> #**##end #**##if ($service.viewTypeLocal && $stringUtils.isNotBlank($service.jndiNameLocal)) <local-jndi-name>${service.jndiNameLocal}</local-jndi-name> #**##end </session> #end #foreach ($manageable in $manageables) <session> <ejb-name>${manageable.fullyQualifiedManageableServiceName}</ejb-name> </session> #end #foreach ($mdb in $mdbs) <message-driven> <ejb-name>${mdb.fullyQualifiedMessageDrivenName}</ejb-name> <destination-jndi-name>${mdb.destination}</destination-jndi-name> #**##if ($stringUtils.isNotBlank($mdb.containerConfiguration)) <configuration-name>${mdb.containerConfiguration}</configuration-name> #**##end </message-driven> #end </enterprise-beans> <!-- jboss container merge-point --> </jboss> |
From: Vance K. <va...@us...> - 2006-03-14 06:13:50
|
User: vancek Date: 06/03/13 22:13:49 Added: andromda-ejb3/src/main/resources/templates/ejb3/config/jboss login-service.xml.vsl ejb3-entity-cache-service.xml.vsl jboss-app.xml.vsl Log: initial revision of jboss specific config/descriptors Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/login-service.xml.vsl Index: login-service.xml.vsl =================================================================== #set ($generatedFile = "${securityRealm}-login-service.xml") <?xml version="1.0" encoding="${xmlEncoding}"?> <server> <mbean code="org.jboss.security.auth.login.DynamicLoginConfig" name="${securityRealm}:service=DynamicLoginConfig"> <attribute name="AuthConfig">META-INF/${securityRealm}-login-config.xml</attribute> <depends optional-attribute-name="LoginConfigService"> jboss.security:service=XMLLoginConfig </depends> <depends optional-attribute-name="SecurityManagerService"> jboss.security:service=JaasSecurityManager </depends> </mbean> </server> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/ejb3-entity-cache-service.xml.vsl Index: ejb3-entity-cache-service.xml.vsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <server> <!-- ==================================================================== --> <!-- Defines TreeCache configuration --> <!-- ==================================================================== --> <mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=EJB3EntityTreeCache"> <depends>jboss:service=Naming</depends> <depends>jboss:service=TransactionManager</depends> <!-- Configure the TransactionManager --> <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute> <!-- Node locking level : SERIALIZABLE REPEATABLE_READ (default) READ_COMMITTED READ_UNCOMMITTED NONE --> <attribute name="IsolationLevel">REPEATABLE_READ</attribute> <!-- Valid modes are LOCAL REPL_ASYNC REPL_SYNC --> <attribute name="CacheMode">REPL_SYNC</attribute> <!-- Name of cluster. Needs to be the same for all clusters, in order to find each other --> <attribute name="ClusterName">EJB3-entity-cache</attribute> <attribute name="ClusterConfig"> <config> <!-- UDP: if you have a multihomed machine, set the bind_addr attribute to the appropriate NIC IP address --> <!-- UDP: On Windows machines, because of the media sense feature being broken with multicast (even after disabling media sense) set the loopback attribute to true --> #set ($prefix = '${jboss.partition.udpGroup') #set ($specialChar = ":") #set ($suffix = '228.1.2.3}') <UDP mcast_addr="${prefix}${specialChar}${suffix}" mcast_port="43333" ip_ttl="2" ip_mcast="true" mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000" ucast_recv_buf_size="80000" loopback="false" /> <PING timeout="2000" num_initial_members="3" up_thread="false" down_thread="false" /> <MERGE2 min_interval="10000" max_interval="20000" /> <FD shun="true" up_thread="true" down_thread="true" /> <VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false" /> <pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" up_thread="false" down_thread="false" /> <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false" /> <pbcast.STABLE desired_avg_gossip="20000" up_thread="false" down_thread="false" /> <FRAG frag_size="8192" down_thread="false" up_thread="false" /> <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true" /> <pbcast.STATE_TRANSFER up_thread="false" down_thread="false" /> </config> </attribute> <!-- The max amount of time (in milliseconds) we wait until the initial state (ie. the contents of the cache) are retrieved from existing members in a clustered environment --> <attribute name="InitialStateRetrievalTimeout">5000</attribute> <!-- Number of milliseconds to wait until all responses for a synchronous call have been received. --> <attribute name="SyncReplTimeout">10000</attribute> <!-- Max number of milliseconds to wait for a lock acquisition --> <attribute name="LockAcquisitionTimeout">15000</attribute> <!-- Name of the eviction policy class. --> <attribute name="EvictionPolicyClass">org.jboss.cache.eviction.LRUPolicy</attribute> <!-- Specific eviction policy configurations. This is LRU --> <attribute name="EvictionPolicyConfig"> <config> <attribute name="wakeUpIntervalSeconds">5</attribute> <!-- Cache wide default --> <region name="/_default_"> <attribute name="maxNodes">5000</attribute> <attribute name="timeToLiveSeconds">1000</attribute> </region> #foreach ($entity in $entities) #**##if ($stringUtils.isNotBlank(${entity.cacheType})) <!-- The $entity.entityName entity cache --> <region name="/${entity.fullyQualifiedNamePath}"> <attribute name="maxNodes">10000</attribute> <attribute name="timeToLiveSeconds">5000</attribute> </region> #**##end #end #foreach ($entity in $entities) #**##foreach ($finder in $entity.getQueryOperations(true)) #* *##if ($finder.useQueryCache) <!-- The ${entity.name} ${finder.name} query cache --> <region name="/${entity.fullyQualifiedNamePath}/${finder.name}"> <attribute name="maxNodes">1000</attribute> <attribute name="timeToLiveSeconds">5000</attribute> </region> #* *##end #**##end #end </config> </attribute> </mbean> </server> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss/jboss-app.xml.vsl Index: jboss-app.xml.vsl =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE jboss-app PUBLIC '-//JBoss//DTD J2EE Application 1.3V2//EN' 'http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd'> <jboss-app> <loader-repository> jboss.loader:loader=${pom.groupId}-${application.id}-${pom.version} </loader-repository> #if ($stringUtils.isNotBlank(${securityRealm})) <module> <service>META-INF/${securityRealm}-login-service.xml</service> </module> #end </jboss-app> |
From: Vance K. <va...@us...> - 2006-03-14 06:13:44
|
User: vancek Date: 06/03/13 22:13:44 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/jboss - New directory |
From: Vance K. <va...@us...> - 2006-03-14 06:12:35
|
User: vancek Date: 06/03/13 22:12:35 Added: andromda-ejb3/src/main/resources/templates/ejb3/config persistence.xml.vsl ejb-jar.xml.vsl Log: moved common config/descriptors. Revision Changes Path 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/persistence.xml.vsl Index: persistence.xml.vsl =================================================================== <?xml version="1.0" encoding="${xmlEncoding}"?> <!-- Attention: Generated code! Do not modify by hand! Generated by: persistence.xml.vsl in andromda-ejb3-cartridge. --> <persistence> <persistence-unit name="${entityManagerName}"> #if ($stringUtils.isNotBlank($entityManagerJTADataSource)) <jta-data-source>${entityManagerJTADataSource}</jta-data-source> #end <properties> #if ($stringUtils.isNotBlank($hibernateHbm2DDLAuto)) <property name="hibernate.hbm2ddl.auto" value="${hibernateHbm2DDLAuto}"/> #end #if ($stringUtils.isNotBlank($hibernateShowSql)) <property name="hibernate.show_sql" value="${hibernateShowSql}"/> #end #if ($stringUtils.isNotBlank($hibernateDialect)) <property name="hibernate.dialect" value="${hibernateDialect}"/> #end #if ($stringUtils.isNotBlank($hibernateMaxFetchDepth)) <property name="hibernate.max_fetch_depth">$hibernateMaxFetchDepth</property> #end #if ($stringUtils.isNotBlank($hibernateJdbcFetchSize)) <property name="hibernate.jdbc.fetch_size">$hibernateJdbcFetchSize</property> #end #if ($stringUtils.isNotBlank($hibernateJdbcBatchSize)) <property name="hibernate.jdbc.batch_size">$hibernateJdbcBatchSize</property> #end #if ($stringUtils.isNotBlank($hibernateJdbcUseScrollableResultSet)) <property name="hibernate.jdbc.use_scrollable_resultset">$hibernateJdbcUseScrollableResultSet</property> #end #if ($stringUtils.isNotBlank($hibernateJdbcUseStreamsForBinary)) <property name="hibernate.jdbc.use_streams_for_binary">$hibernateJdbcUseStreamsForBinary</property> #end #if ($hibernateEnableCache.equalsIgnoreCase("true")) #**##if ($stringUtils.isNotBlank($hibernateCacheProvider)) <property name="hibernate.cache.provider_class" value="${hibernateCacheProvider}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateTreecacheMbeanObject)) <property name="hibernate.treecache.mbean.object_name" value="${hibernateTreecacheMbeanObject}"/> #**##end #end #if ($hibernateEnableCache.equalsIgnoreCase("true")) #**##foreach ($entity in $entities) #* *##foreach ($finder in $entity.getQueryOperations(true)) #* *##if ($finder.useQueryCache) #* *##set ($hibernateEnableQueryCache = "true") #* *##end #* *##end #**##end #**##if ($hibernateEnableQueryCache.equalsIgnoreCase("true")) <property name="hibernate.cache.use_query_cache">${hibernateEnableQueryCache}</property> #**##end #end #if ($stringUtils.isNotBlank($hibernateTransactionManagerLookupClass)) <property name="hibernate.transaction.manager_lookup_class" value="${hibernateTransactionManagerLookupClass}"/> #end #if ($stringUtils.isNotBlank($hibernateTransactionFlushBeforeCompletion)) <property name="hibernate.transaction.flush_before_completion" value="${hibernateTransactionFlushBeforeCompletion}"/> #end #if ($stringUtils.isNotBlank($hibernateTransactionAutoCloseSession)) <property name="hibernate.transaction.auto_close_session" value="${hibernateTransactionAutoCloseSession}"/> #end </properties> </persistence-unit> #foreach ($persistenceContext in $persistenceContexts) <persistence-unit name="${persistenceContext.unitName}"> #**##if ($stringUtils.isNotBlank($entityManagerJTADataSource)) <jta-data-source>${persistenceContext.datasource}</jta-data-source> #**##end <properties> #**##if ($stringUtils.isNotBlank($hibernateHbm2DDLAuto)) <property name="hibernate.hbm2ddl.auto" value="${hibernateHbm2DDLAuto}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateShowSql)) <property name="hibernate.show_sql" value="${hibernateShowSql}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateDialect)) <property name="hibernate.dialect" value="${hibernateDialect}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateMaxFetchDepth)) <property name="hibernate.max_fetch_depth">$hibernateMaxFetchDepth</property> #**##end #**##if ($stringUtils.isNotBlank($hibernateJdbcFetchSize)) <property name="hibernate.jdbc.fetch_size">$hibernateJdbcFetchSize</property> #**##end #**##if ($stringUtils.isNotBlank($hibernateJdbcBatchSize)) <property name="hibernate.jdbc.batch_size">$hibernateJdbcBatchSize</property> #**##end #**##if ($stringUtils.isNotBlank($hibernateJdbcUseScrollableResultSet)) <property name="hibernate.jdbc.use_scrollable_resultset">$hibernateJdbcUseScrollableResultSet</property> #**##end #**##if ($stringUtils.isNotBlank($hibernateJdbcUseStreamsForBinary)) <property name="hibernate.jdbc.use_streams_for_binary">$hibernateJdbcUseStreamsForBinary</property> #**##end #**##if ($hibernateEnableCache.equalsIgnoreCase("true")) #* *##if ($stringUtils.isNotBlank($hibernateCacheProvider)) <property name="hibernate.cache.provider_class" value="${hibernateCacheProvider}"/> #* *##end #* *##if ($stringUtils.isNotBlank($hibernateTreecacheMbeanObject)) <property name="hibernate.treecache.mbean.object_name" value="${hibernateTreecacheMbeanObject}"/> #* *##end #**##end #**##if ($hibernateEnableCache.equalsIgnoreCase("true") && $hibernateEnableQueryCache.equalsIgnoreCase("true")) <property name="hibernate.cache.use_query_cache">${hibernateEnableQueryCache}</property> #**##end #**##if ($stringUtils.isNotBlank($hibernateTransactionManagerLookupClass)) <property name="hibernate.transaction.manager_lookup_class" value="${hibernateTransactionManagerLookupClass}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateTransactionFlushBeforeCompletion)) <property name="hibernate.transaction.flush_before_completion" value="${hibernateTransactionFlushBeforeCompletion}"/> #**##end #**##if ($stringUtils.isNotBlank($hibernateTransactionAutoCloseSession)) <property name="hibernate.transaction.auto_close_session" value="${hibernateTransactionAutoCloseSession}"/> #**##end </properties> </persistence-unit> #end </persistence> 1.1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config/ejb-jar.xml.vsl Index: ejb-jar.xml.vsl =================================================================== <?xml version="1.0" encoding="${xmlEncoding}"?> <!-- <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> --> <ejb-jar version="3.0"> <description><![CDATA[No Description.]]></description> <display-name>Generated by AndroMDA EJB3 Cartridge</display-name> <enterprise-beans> #foreach ($service in $services) <session> <description> <![CDATA[ $service.getDocumentation(" ", 64, false) ]]> </description> <ejb-name>${service.fullyQualifiedServiceName}</ejb-name> #**##if ($service.viewTypeRemote) <remote>${service.fullyQualifiedServiceRemoteInterfaceName}</remote> #**##end #**##if ($service.viewTypeLocal) <local>${service.fullyQualifiedServiceLocalInterfaceName}</local> #**##end <ejb-class>${service.fullyQualifiedServiceImplementationName}</ejb-class> <session-type>${service.type}</session-type> <transaction-type>Container</transaction-type> #**##foreach($envEntry in $service.getEnvironmentEntries(true)) <env-entry> <env-entry-name>${envEntry.name}</env-entry-name> <env-entry-type>#if ($envEntry.type.primitive)${envEntry.type.wrapperName}#else${envEntry.type.fullyQualifiedName}#end</env-entry-type> <env-entry-value>${envEntry.defaultValue}</env-entry-value> </env-entry> #**##end </session> #end #foreach ($manageable in $manageables) <session> <description> <![CDATA[ $manageable.getDocumentation(" ", 64, false) ]]> </description> <ejb-name>${manageable.fullyQualifiedManageableServiceName}</ejb-name> <remote>${manageable.fullyQualifiedManageableServiceName}</remote> <ejb-class>${manageable.fullyQualifiedManageableServiceBaseName}</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> #end #foreach ($mdb in $mdbs) <message-driven> <description> <![CDATA[ $mdb.getDocumentation(" ", 64, false) ]]> </description> <ejb-name>${mdb.fullyQualifiedMessageDrivenName}</ejb-name> <ejb-class>${mdb.fullyQualifiedMessageDrivenImplementationName}</ejb-class> <transaction-type>Container</transaction-type> #**##if ($stringUtils.isNotBlank($mdb.messageSelector)) <message-selector> <![CDATA[${mdb.messageSelector}]]> </message-selector> #**##end #**##if ($mdb.transactionManagementBean) <acknowledge-mode>${mdb.acknowledgeMode}</acknowledge-mode> #**##end <message-driven-destination> <destination-type>${mdb.destinationType}</destination-type> #**##if ($mdb.destinationTypeTopic) <subscription-durability>${mdb.subscriptionDurability}</subscription-durability> #**##end </message-driven-destination> #**##if ($stringUtils.isNotBlank($mdb.runAs)) <security-identity> <run-as> <role-name>${mdb.runAs}</role-name> </run-as> </security-identity> #**##end #**##foreach($envEntry in $mdb.getEnvironmentEntries(true)) <env-entry> <env-entry-name>${envEntry.name}</env-entry-name> <env-entry-type>#if ($envEntry.type.primitive)${envEntry.type.wrapperName}#else${envEntry.type.fullyQualifiedName}#end</env-entry-type> <env-entry-value>${envEntry.defaultValue}</env-entry-value> </env-entry> #**##end </message-driven> #end </enterprise-beans> <assembly-descriptor> #foreach ($interceptor in $interceptors) ## ## Default interceptors ## #**##if ($interceptor.defaultInterceptor) #* *##if (!$defaultInterceptorExists) <interceptor-binding> <ejb-name>*</ejb-name> #* *##end <interceptor-class>${interceptor.fullyQualifiedName}</interceptor-class> #* *##if (!$defaultInterceptorExists) </interceptor-binding> #* *##end #* *##set ($defaultInterceptorExists = true) #**##end #end #foreach ($service in $services) ## ## Service listener - lifecycle callbacks are defined as an interceptor ## #**##set ($interceptors = $service.interceptorReferences) #**##if ($collectionUtils.size($interceptors) >= 1 || $service.listenerEnabled) <interceptor-binding> <ejb-name>${service.fullyQualifiedServiceName}</ejb-name> #* *##if ($service.listenerEnabled) <interceptor-class>${service.fullyQualifiedServiceListenerName}</interceptor-class> #* *##end #* *##foreach ($interceptor in $interceptors) <interceptor-class>${interceptor.fullyQualifiedName}</interceptor-class> #* *##end #* *##if ($service.excludeDefaultInterceptors) <exclude-default-interceptors/> #* *##end </interceptor-binding> #**##end #end ## ## Define method level interceptors for session beans ## #foreach ($service in $services) #**##foreach ($operation in $service.businessOperations) #* *##set ($interceptors = $operation.interceptorReferences) #* *##if ($collectionUtils.size($interceptors) >= 1) <interceptor-binding> <ejb-name>${service.fullyQualifiedServiceName}</ejb-name> #* *##foreach ($interceptor in $interceptors) <interceptor-class>${interceptor.fullyQualifiedName}</interceptor-class> #* *##end <method-name>${operation.name}</method-name> #* *##if (!$operation.arguments.empty) <method-params> #* *##foreach ($argument in $operation.arguments) <method-param>${argument.type.fullyQualifiedName}</method-param> #* *##end </method-params> #* *##end #* *##if ($operation.excludeClassInterceptors) <exclude-class-interceptors/> #* *##end #* *##if ($operation.excludeDefaultInterceptors) <exclude-default-interceptors/> #* *##end </interceptor-binding> #* *##end #**##end #end #foreach ($mdb in $mdbs) ## ## Message-driven bean listener - lifecycle callbacks are defined as an interceptor ## #**##set ($interceptors = $mdb.interceptorReferences) #**##if ($collectionUtils.size($interceptors) >= 1 || $mdb.listenerEnabled) <interceptor-binding> <ejb-name>${mdb.fullyQualifiedMessageDrivenName}</ejb-name> #* *##if ($mdb.listenerEnabled) <interceptor-class>${mdb.fullyQualifiedMessageDrivenListenerName}</interceptor-class> #* *##end #* *##foreach ($interceptor in $interceptors) <interceptor-class>${interceptor.fullyQualifiedName}</interceptor-class> #* *##end #* *##if ($mdb.excludeDefaultInterceptors) <exclude-default-interceptors/> #* *##end </interceptor-binding> #**##end #end </assembly-descriptor> </ejb-jar> |
From: Vance K. <va...@us...> - 2006-03-14 06:12:29
|
User: vancek Date: 06/03/13 22:12:28 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/config - New directory |
From: Vance K. <va...@us...> - 2006-03-14 06:11:50
|
User: vancek Date: 06/03/13 22:11:49 Modified: andromda-ejb3/src/main/resources/templates/ejb3 SessionBeanImpl.vsl Log: if stateful session bean, then add remove method implementation handle that has @Remove annotations. Revision Changes Path 1.10 +3 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanImpl.vsl Index: SessionBeanImpl.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBeanImpl.vsl,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- SessionBeanImpl.vsl 5 Mar 2006 05:55:52 -0000 1.9 +++ SessionBeanImpl.vsl 14 Mar 2006 06:11:49 -0000 1.10 @@ -92,8 +92,9 @@ #* *##end #**##end #end +#if ($service.stateful) - // ----------- Generic Methods ----------- + // ----------- Remove Method Impl ----------- /** * @see ${service.fullyQualifiedServiceName}#remove() @@ -102,4 +103,5 @@ { //TODO: put your implementation here } +#end } |
From: Vance K. <va...@us...> - 2006-03-14 06:10:53
|
User: vancek Date: 06/03/13 22:10:48 Modified: andromda-ejb3/src/main/resources/templates/ejb3 SessionBean.vsl Log: added @org.jboss.annotation.ejb.Clustered annotation if bean is marked as such. if stateful session bean, then implements Serializable. if stateful session bean, then add method with @Remove annotation. Revision Changes Path 1.23 +23 -17 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBean.vsl Index: SessionBean.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/SessionBean.vsl,v retrieving revision 1.22 retrieving revision 1.23 diff -u -w -r1.22 -r1.23 --- SessionBean.vsl 9 Mar 2006 04:31:23 -0000 1.22 +++ SessionBean.vsl 14 Mar 2006 06:10:47 -0000 1.23 @@ -8,14 +8,17 @@ /** * Autogenerated EJB session bean class ${service.serviceName}. +#if ($service.stateful) + * + * ${service.serviceName} is a stateful session bean and implements Serializable to maintain + * state when bean instance not in use. +#end * $service.getDocumentation(" * ") */ - // Do not specify the javax.ejb.${service.type} annotation // Instead, define the session bean in the ejb-jar.xml descriptor // @javax.ejb.${service.type} - #if ($service.transactionManagement) @javax.ejb.TransactionManagement(javax.ejb.TransactionManagementType.${service.transactionManagement}) #end @@ -48,7 +51,9 @@ #if ($service.viewTypeRemote) @javax.ejb.Remote({${service.fullyQualifiedServiceRemoteInterfaceName}.class}) #end - +#if ($service.clusteringEnabled) +...@or...ustered +#end #set ($interceptors = $service.interceptorReferences) #if ($collectionUtils.size($interceptors) >= 1 || $service.listenerEnabled) #**##if ($service.listenerEnabled) @@ -62,12 +67,11 @@ #if ($service.excludeDefaultInterceptors) // @javax.ejb.ExcludeDefaultInterceptors #end - public abstract class ${service.serviceName} #if($service.generalization) extends ${service.generalization.fullyQualifiedName}BeanImpl #end - implements#if ($service.viewTypeLocal) ${service.fullyQualifiedServiceLocalInterfaceName}#if ($service.viewTypeRemote),#end#end#if ($service.viewTypeRemote) ${service.fullyQualifiedServiceRemoteInterfaceName}#end + implements#if ($service.viewTypeLocal) ${service.fullyQualifiedServiceLocalInterfaceName}#if ($service.viewTypeRemote),#end#end#if ($service.viewTypeRemote) ${service.fullyQualifiedServiceRemoteInterfaceName}#end#if ($service.stateful), java.io.Serializable#end { // ------ Session Context Injection ------ @@ -417,11 +421,12 @@ #* *##end #**##end #end +#if ($service.stateful) - // ------------ Generic Methods ------------ + // ------------ Remove Method ------------ /** - * Generic remove method + * Remove lifecycle method */ @javax.ejb.Remove public void remove() { @@ -432,4 +437,5 @@ * Performs the core logic for {@link #remove()) */ protected abstract void handleRemove(); +#end } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-14 06:08:37
|
User: vancek Date: 06/03/13 22:08:36 Modified: andromda-ejb3/src/main/resources/templates/ejb3/crud ManageableServiceLocator.vsl andromda-ejb3/src/main/resources/templates/ejb3 ServiceLocator.vsl Log: jndi name contains fully qualified service name to correspond with refactored ejb-name in ejb-jar.xml descriptor Revision Changes Path 1.2 +1 -1 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/crud/ManageableServiceLocator.vsl Index: ManageableServiceLocator.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/crud/ManageableServiceLocator.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- ManageableServiceLocator.vsl 13 Feb 2006 15:47:17 -0000 1.1 +++ ManageableServiceLocator.vsl 14 Mar 2006 06:08:36 -0000 1.2 @@ -120,7 +120,7 @@ throws javax.naming.NamingException { #**##if ($stringUtils.isNotBlank($manageable.jndiNamePrefix)) -#* *##set ($jndiName = "${manageable.jndiNamePrefix}/${manageable.manageableServiceName}/remote") +#* *##set ($jndiName = "${manageable.jndiNamePrefix}/${manageable.fullyQualifiedManageableServiceName}/remote") #**##else #* *##set ($jndiName = "${manageable.manageableServiceName}/remote") #**##end 1.6 +4 -4 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/ServiceLocator.vsl Index: ServiceLocator.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/ServiceLocator.vsl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- ServiceLocator.vsl 13 Feb 2006 15:45:51 -0000 1.5 +++ ServiceLocator.vsl 14 Mar 2006 06:08:36 -0000 1.6 @@ -112,9 +112,9 @@ #* *##set ($jndiName = "${service.jndiNameRemote}") #* *##else #* *##if ($stringUtils.isNotBlank($service.jndiNamePrefix)) -#* *##set ($jndiName = "${service.jndiNamePrefix}/${service.serviceName}/remote") +#* *##set ($jndiName = "${service.jndiNamePrefix}/${service.fullyQualifiedServiceName}/remote") #* *##else -#* *##set ($jndiName = "${service.serviceName}/remote") +#* *##set ($jndiName = "${service.fullyQualifiedServiceName}/remote") #* *##end #* *##end return (${service.fullyQualifiedServiceRemoteInterfaceName}) @@ -136,9 +136,9 @@ #* *##set ($jndiName = "${service.jndiNameLocal}") #* *##else #* *##if ($stringUtils.isNotBlank($service.jndiNamePrefix)) -#* *##set ($jndiName = "${service.jndiNamePrefix}/${service.serviceName}/local") +#* *##set ($jndiName = "${service.jndiNamePrefix}/${service.fullyQualifiedServiceName}/local") #* *##else -#* *##set ($jndiName = "${service.serviceName}/local") +#* *##set ($jndiName = "${service.fullyQualifidServiceName}/local") #* *##end #* *##end return (${service.fullyQualifiedServiceLocalInterfaceName}) |
From: Vance K. <va...@us...> - 2006-03-14 06:06:04
|
User: vancek Date: 06/03/13 22:05:03 Modified: andromda-ejb3/src/main/resources/templates/ejb3 EntityEmbeddable.vsl Log: added @org.hibernate.annotations.Cache annotation at class level if entity cache enabled. added @org.hibernate.annotations.Cache annotation on One-To-Many and Many-To-Many relationships if association cache enabled. set org.hibernate.cacheRegion hint for queries with query cache enabled. Revision Changes Path 1.20 +12 -0 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl Index: EntityEmbeddable.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/EntityEmbeddable.vsl,v retrieving revision 1.19 retrieving revision 1.20 diff -u -w -r1.19 -r1.20 --- EntityEmbeddable.vsl 7 Mar 2006 01:49:53 -0000 1.19 +++ EntityEmbeddable.vsl 14 Mar 2006 06:05:02 -0000 1.20 @@ -69,6 +69,9 @@ ## @javax.persistence.DiscriminatorValue("${entity.discriminatorValue}") #end +#if ($entity.cacheEnabled) +...@or...che(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${entity.cacheType}) +#end public#if (!$entity.requiresGeneralizationMapping && !$entity.embeddableSuperclass) abstract class ${entity.entityEmbeddableName}#else class ${entity.entityName}#end #if($entity.generalization) @@ -448,6 +451,9 @@ @javax.persistence.OrderBy #* *##end #* *##end +#* *##if ($target.associationCacheEnabled) + @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) +#* *##end public $target.getterSetterTypeName ${target.getterName}() { return this.${target.name}; @@ -546,6 +552,9 @@ @javax.persistence.OrderBy #* *##end #* *##end +#* *##if ($target.associationCacheEnabled) + @org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.${target.cacheType}) +#* *##end public $target.getterSetterTypeName ${target.getterName}() { return this.${target.name}; @@ -709,6 +718,9 @@ #* *##end #* *##end #* *##end +#* *##if ($finder.useQueryCache) + query.setHint("org.hibernate.cacheRegion", "/${entity.fullyQualifiedNamePath}/${finder.name}"); +#* *##end #* *##if ($stringUtils.equalsIgnoreCase($returnType, "void")) query.executeUpdate(); #* *##elseif ($finder.returnType.primitive) |
From: Eric C <ecr...@us...> - 2006-03-11 17:24:48
|
User: ecrutchfield Date: 06/03/11 09:24:48 Modified: andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda/conf andromda.xml.vsl Log: fix assembly refs Revision Changes Path 1.3 +2 -2 plugins/andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda/conf/andromda.xml.vsl Index: andromda.xml.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda/conf/andromda.xml.vsl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- andromda.xml.vsl 6 Mar 2006 19:38:22 -0000 1.2 +++ andromda.xml.vsl 11 Mar 2006 17:24:48 -0000 1.3 @@ -56,9 +56,9 @@ <property name="entityPropertyNameMask">none</property> <property name="parameterNameMask">none</property> <property name="defaultIdentifierType">datatype::long</property> - <property name="commonAssemblyName">${application.id}-common</property> + <property name="commonAssemblyName">${applicationPackage}.common</property> #if (${transactionPersistenceType} != "none") - <property name="coreAssemblyName">${application.id}-core</property> + <property name="coreAssemblyName">${applicationPackage}.core</property> #end </properties> </namespace> |
From: Eric C <ecr...@us...> - 2006-03-11 17:24:07
|
User: ecrutchfield Date: 06/03/11 09:24:02 Modified: andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda pom.xml.vsl Log: changed java references to .net and added conditional logic for generating config elements Revision Changes Path 1.2 +8 -3 plugins/andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda/pom.xml.vsl Index: pom.xml.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/plugins/andromdapp/projects/csharp/maven2/src/main/resources/templates/csharp/maven2/mda/pom.xml.vsl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- pom.xml.vsl 5 Mar 2006 06:16:56 -0000 1.1 +++ pom.xml.vsl 11 Mar 2006 17:24:00 -0000 1.2 @@ -116,17 +116,22 @@ <filter></filter> <conf.dir>${pom.basedir}/conf</conf.dir> <!-- cartridge output locations --> +#if (!$transactionPersistenceType.equals("none")) <core.generated.dir>${project.build.sourceDirectory}/../../../../core/target/src</core.generated.dir> - <core.manual.dir>${project.build.sourceDirectory}/../../../../core/src/main/java</core.manual.dir> + <core.manual.dir>${project.build.sourceDirectory}/../../../../core/src/main/cs</core.manual.dir> +#end +#if ($web) + <web.dir>${project.build.sourceDirectory}/../../../../web</web.dir> <web.generated.dir>${project.build.sourceDirectory}/../../../../web/target/src</web.generated.dir> - <web.manual.java.dir>${project.build.sourceDirectory}/../../../../web/src/main/java</web.manual.java.dir> + <web.manual.dir>${project.build.sourceDirectory}/../../../../web/src/main</web.manual.dir> +#end #if ($workflow) <workflow.generated.dir>${project.build.sourceDirectory}/../../../../workflow/target/src</workflow.generated.dir> <workflow.manual.dir>${project.build.sourceDirectory}/../../../../workflow/src/main</workflow.manual.dir> #end #if ($webservice) <webservice.generated.dir>${project.build.sourceDirectory}/../../../../webservice/target/src</webservice.generated.dir> - <webservice.generated.wsdl.dir>${webservice.generated.dir}/WEB-INF/classes</webservice.generated.wsdl.dir> + <webservice.generated.wsdl.dir>${webservice.generated.dir}/wsdl</webservice.generated.wsdl.dir> #end <common.generated.dir>${project.build.sourceDirectory}/../../../../common/target/src</common.generated.dir> #if ($nhibernate || $nspring) |
From: Vance K. <va...@us...> - 2006-03-10 03:03:13
|
User: vancek Date: 06/03/09 19:03:11 Added: andromda-ejb3/src/site/xdoc howto16.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto16.xml Index: howto16.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - Manageable Entities</title> </properties> <body> <section name="Manageable Entities"> <p> Manageable entities, otherwise known as CRUD facilities, provide a front-end view to managing entities. The EJB3 cartridge follows the same rules as in <a href="http://galaxy.andromda.org/docs/andromda-cartridges/manageable-entities/index.html"> manageable entities</a>. </p> <p> The most noticable difference to the current manageable entities feature for the Spring cartridge is the replacement of data access objects (DAO) with stateless session beans for each entity which is marked as <![CDATA[<<Manageable>>]]>. This and removal of value objects are design changes not visible for a user when using the front-end. </p> <p> There is very little you actually need to do. Just make sure you have the above stereotype modelled on all entities that require CRUD features and their associated entities and the cartridge will take care of everything else. The following illustrates how we introduce manageable entities into our long-running example. Since manageable entities are driven via a web/console front-end, the example lists files from both the EJB layer and the Struts web layer. </p> <p> <img src="images/org/andromda/test/16/a/uml.gif"/> </p> <p> <ul> <li class="gen">Auto-generated source that does not need manual editing</li> <li class="impl">Auto-generated source that should be edited manually</li> <li class="changed">File that is affected by the modifications applied in this section</li> </ul> </p> <p> The EJB related files are listed below. The <code>ManageableServiceLocator</code> is used by the Struts <b>Action</b> classes in much the same way as the <code>ServiceLocator</code> is used by the Service Delegates. Notice how the <code>CarManageableService</code> and <code>PersonManageableService</code> beans are defined int the ejb-jar and jboss deployment descriptors. </p> <p> <ul> <li class="gen"><a href="src/org/andromda/test/howto16/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto16/a/Car.java.txt"><code>Car.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/CarType.java.txt"><code>CarType.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto16/a/Person.java.txt"><code>Person.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ManageableServiceLocator.java.txt"><code>ManageableServiceLocator.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto16/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/RentalException.java.txt"><code>RentalException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/jboss.xml.txt"><code>jboss.xml</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto16/a/persistence.xml.txt"><code>persistence.xml</code></a></li> </ul> </p> <p> The CRUD related files are listed below. The EJB3 cartridge introduces the 4 CRUD related application exceptions for every entity. The web tier doesn't explicity catch these exception, but perhaps will be available down the track. Take a look at the <code>CarManageableServiceBase</code> and <code>PersonManageableServiceBase</code> bean implementations to understand the business logic for implementing EJB 3.0 CRUD operations. </p> <p> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarCreateManageableException.java.txt"><code>CarCreateManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarDeleteManageableException.java.txt"><code>CarDeleteManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarReadManageableException.java.txt"><code>CarReadManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarUpdateManageableException.java.txt"><code>CarUpdateManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarManageableService.java.txt"><code>CarManageableService.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarManageableServiceBase.java.txt"><code>CarManageableServiceBase.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/CarForm.java.txt"><code>CarForm.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/ManageCar.java.txt"><code>ManageCar.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/car_help.jsp.txt"><code>car_help.jsp</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/car_crud.jsp.txt"><code>car_crud.jsp</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonCreateManageableException.java.txt"><code>PersonCreateManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonDeleteManageableException.java.txt"><code>PersonDeleteManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonReadManageableException.java.txt"><code>PersonReadManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonUpdateManageableException.java.txt"><code>PersonUpdateManageableException.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonManageableService.java.txt"><code>PersonManageableService.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonManageableServiceBase.java.txt"><code>PersonManageableServiceBase.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/PersonForm.java.txt"><code>PersonForm.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/ManagePerson.java.txt"><code>ManagePerson.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/person_help.jsp.txt"><code>person_help.jsp</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto16/a/crud/person_crud.jsp.txt"><code>person_crud.jsp</code></a></li> </ul> </p> <p> For further information on manageable entities, visit <a href="http://galaxy.andromda.org/docs/andromda-cartridges/manageable-entities/index.html"> manageable entities</a> for AndroMDA. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-03-10 03:02:30
|
User: vancek Date: 06/03/09 19:02:29 Modified: andromda-ejb3/src/site/xdoc howto.xml Log: added manageable entities to the list Revision Changes Path 1.10 +3 -0 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- howto.xml 9 Mar 2006 06:39:54 -0000 1.9 +++ howto.xml 10 Mar 2006 03:02:29 -0000 1.10 @@ -155,6 +155,9 @@ <li><a href="howto15.html#Transaction_Demarcation">Transaction Demarcation</a></li> </ul> </li> + <li> + <a href="howto16.html">Manageable Entities</a> + </li> </ul> </p> <p> |
From: Vance K. <va...@us...> - 2006-03-10 02:10:50
|
User: vancek Date: 06/03/09 18:10:49 Added: andromda-ejb3/src/site/resources/images/org/andromda/test/16/a uml.gif Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/16/a/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-03-10 02:10:43
|
User: vancek Date: 06/03/09 18:10:42 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/16/a - New directory |
From: Vance K. <va...@us...> - 2006-03-10 02:10:42
|
User: vancek Date: 06/03/09 18:10:42 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/16 - New directory |
From: Vance K. <va...@us...> - 2006-03-09 13:22:39
|
User: vancek Date: 06/03/09 05:22:38 Modified: andromda-ejb3/src/main/resources/templates/ejb3 Enumeration.vsl Log: added literals method returning the Collection of literal values for the enum object - used in manageable entities action Revision Changes Path 1.3 +18 -0 cartridges/andromda-ejb3/src/main/resources/templates/ejb3/Enumeration.vsl Index: Enumeration.vsl =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/templates/ejb3/Enumeration.vsl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- Enumeration.vsl 10 Feb 2006 09:13:41 -0000 1.2 +++ Enumeration.vsl 9 Mar 2006 13:22:37 -0000 1.3 @@ -17,6 +17,10 @@ #end + /** + * Return the ${enum.name} from a string value + * @return ${enum.name} enum object + */ public static ${enum.name} ${enum.fromOperationSignature} { #if ($enum.literalType.stringType) @@ -25,4 +29,18 @@ return values()[value]; #end } + + /** + * Return a Collection of all literal values for this enumeration + * @return java.util.Collection literal values + */ + public static java.util.Collection literals() + { + final java.util.Collection<String> literals = new java.util.ArrayList<String>(values().length); + for (int i = 0; i < values().length; i++) + { + literals.add(values()[i].name()); + } + return literals; + } } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-03-09 06:39:55
|
User: vancek Date: 06/03/08 22:39:54 Modified: andromda-ejb3/src/site/xdoc howto.xml Log: removed summary Revision Changes Path 1.9 +0 -54 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -w -r1.8 -r1.9 --- howto.xml 9 Mar 2006 06:39:12 -0000 1.8 +++ howto.xml 9 Mar 2006 06:39:54 -0000 1.9 @@ -164,60 +164,6 @@ <p> In order to start the tutorial click <a href="howto1.html">here</a>. </p> - <subsection name="Summary"> - <p> - Here's already a brief summary of the information found in this how-to. - </p> - <p> - <table> - <tr> - <th>Feature</th> - <th>Element</th> - <th>How</th> - </tr> - <tr> - <td>Hibernate POJO</td> - <td>class</td> - <td>add the <![CDATA[<<Entity>>]]> stereotype</td> - </tr> - <tr> - <td>Stand-alone Spring POJO Service <strong>OR</strong> Spring POJO Service wrapped with an EJB Session Bean</td> - <td>class</td> - <td>add the <![CDATA[<<Service>>]]> stereotype</td> - </tr> - <tr> - <td>Value object</td> - <td>class</td> - <td>add the <![CDATA[<<ValueObject>>]]> stereotype, draw a dependency from an - <![CDATA[<<Entity>>]]> to this class in order to have a transformation method - generated in the entity's DAO</td> - </tr> - <tr> - <td>Enumeration</td> - <td>class</td> - <td>assign a class with the <![CDATA[<<Enumeration>>]]> stereotype as the type - of an entity's attribute</td> - </tr> - <tr> - <td>Hibernate QL</td> - <td>operation</td> - <td>add an OCL body on an operation with the UML query flag set to true</td> - </tr> - <tr> - <td>Unique attribute</td> - <td>class</td> - <td>add the <![CDATA[<<Unique>>]]> stereotype to an attribute, the attribute's - class must carry the <![CDATA[<<Entity>>]]> stereotype</td> - </tr> - <tr> - <td>Nullable parameter</td> - <td>operation parameter</td> - <td>only useful on operations modeled for <![CDATA[<<Entity>>]]> and <![CDATA[<<Service>>]]> - classes</td> - </tr> - </table> - </p> - </subsection> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-03-09 06:39:13
|
User: vancek Date: 06/03/08 22:39:13 Modified: andromda-ejb3/src/site/xdoc howto.xml Log: added interceptors and transaction lists Revision Changes Path 1.8 +18 -0 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- howto.xml 7 Mar 2006 01:51:55 -0000 1.7 +++ howto.xml 9 Mar 2006 06:39:12 -0000 1.8 @@ -130,6 +130,17 @@ </ul> </li> <li> + <a href="howto13.html">Interceptors</a> + <ul> + <li><a href="howto13.html#Default_Interceptors">Default Interceptors</a></li> + <li><a href="howto13.html#Class_Level_Interceptor">Class Level Interceptor</a></li> + <li><a href="howto13.html#Method_Level_Interceptor">Method Level Interceptor</a></li> + <li><a href="howto13.html#Interceptor_Ordering">Interceptor Ordering</a></li> + <li><a href="howto13.html#Interceptor_Exclusion">Interceptor Exclusion</a></li> + <li><a href="howto13.html#Interceptor_Tips">Interceptor Tips</a></li> + </ul> + </li> + <li> <a href="howto14.html">Lifecycle Callbacks</a> <ul> <li><a href="howto14.html#Entity_Bean_Callbacks">Entity Bean Callbacks</a></li> @@ -137,6 +148,13 @@ <li><a href="howto14.html#Message_Driven_Bean_Callbacks">Message Driven Bean Callbacks</a></li> </ul> </li> + <li> + <a href="howto15.html">Transactions</a> + <ul> + <li><a href="howto15.html#Transaction_Type">Transaction Type</a></li> + <li><a href="howto15.html#Transaction_Demarcation">Transaction Demarcation</a></li> + </ul> + </li> </ul> </p> <p> |
From: Vance K. <va...@us...> - 2006-03-09 06:37:15
|
User: vancek Date: 06/03/08 22:37:14 Added: andromda-ejb3/src/site/xdoc howto15.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto15.xml Index: howto15.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - Transactions</title> </properties> <body> <section name="Transactions"> <p> Defining transactions within your beans is done via annotations. This takes the complexity out of the deployment descriptor and makes following transactions very easy. </p> <a name="Transaction_Type"/> <subsection name="Transaction Type"> <p> By default, session and message-driven beans will be generated with a <code>@TransactionAttribute</code> annotation with a value of <code>REQUIRED</code>. To overwrite this value, simply model the <code>@andromda.ejb.transaction.type</code> tagged value on the class level or bean method level. </p> <p> The EJB 3.0 spec defines that the transaction management type cannot be specified for EJB 3.0 entity POJOs. These entities execute within the transactional context of the caller, which is the session bean. </p> <p> Your <code>TransactionAttributeType</code> options are: </p> <p> <ul> <li>Mandatory</li> <li>Never</li> <li>NotSupported</li> <li>Required</li> <li>RequiresNew</li> <li>Supports</li> </ul> </p> </subsection> <a name="Transaction_Demarcation"/> <subsection name="Transaction Demarcation"> <p> The transaction demarcation strategy would normally not be set as the default is <code>CONTAINER</code> managed transaction demarcation. If you want to specify <code>BEAN</code> managed transaction demarcation, model the <code>@andromda.ejb.transaction.management</code> tagged value to <code>BEAN</code>. </p> <p> If you specify <code>BEAN</code> managed transaction demarcation, the cartridge will inject an instance of <code>UserTransaction</code> into variable name <code>userTrans</code> to manually define your transaction. </p> </subsection> </section> <section name="Next"> <p> To learn about manageable entities, click <a href="howto16.html">here</a>. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-03-09 05:45:30
|
User: vancek Date: 06/03/08 21:45:29 Added: andromda-ejb3/src/site/xdoc howto13.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto13.xml Index: howto13.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - Interceptors</title> </properties> <body> <section name="Interceptor"> <p> Adding custom written interceptors is very easy using the EJB3 cartridge. The following sections will provide you with enough detail to add your custom made interceptors to session and message-driven beans. It discusses default, class and method interceptors. </p> <p> All interceptors are configured through the ejb-jar deployment descriptor. The EJB3 cartridges does NOT use annotations to define interceptors and it's exclusions. </p> <a name="Default_Interceptors"/> <subsection name="Default Interceptor"> <p> A default interceptor is invoked any time a business method of any bean within that deployment is invoked, unless default interceptors have been excluded on beans or business methods of beans. </p> <p> To define a default interceptor for your deployment, model the <![CDATA[<<DefaultInterceptor>>]]> stereotype on a class. Since this interceptor is invoked for all business methods of all beans, you do not need to model any dependencies on it. The cartridge will generate the class with the necessary interceptor operation and corresponding annotations within the interceptor class. It will also add the <code>interceptor-binding</code> attribute to the <code>assembly-descriptor</code> element of the ejb-jar deployment descriptor. </p> <p> You can model as many default interceptor as you require, but at this stage, the ordering of default interceptors is not guaranteed. </p> </subsection> <a name="Class_Level_Interceptor"/> <subsection name="Class Level Interceptor"> <p> Class level interceptors are invoked when business methods of the modelled class are invoked, unless class level interceptors have been excluded on business methods. </p> <p> To define a class level interceptor, model the <![CDATA[<<Interceptor>>]]> stereotype on a class. You must model a dependency from a source bean to this target class level interceptor so that the cartridge knows to configure this interceptor at the class level in the ejb-jar deployment descriptor. </p> <p> If you would like to define multiple class level interceptors, then to guarantee the ordering in which these interceptors are invoked, you must draw a dependency from the first interceptor to the second interceptor and so forth. This will chain the interceptors and allow the cartridge to configure them correctly in the ejb-jar deployment descriptor. </p> </subsection> <a name="Method_Level_Interceptor"/> <subsection name="Method Level Interceptor"> <p> Method level interceptors are very much similar to class level interceptors, but they are bound to a specific business method within a bean. This means that they are only invoked when the modelled business method of a bean are invoked. </p> <p> To define a method level interceptor, model the <![CDATA[<<Interceptor>>]]> stereotype on a class. You must model a dependency from a bean method to this target method level interceptor so that the cartridge knows to configure this interceptor at the method level in the ejb-jar deployment descriptor. </p> <p> Chaining method level interceptors is exactly the same process as for class level interceptors. </p> </subsection> <a name="Interceptor_Ordering"/> <subsection name="Interceptor Ordering"> <p> The following shows the ordering of default, class and method level interceptors. </p> <p> <ul> <li>Default Interceptors - Invoked before all other interceptors</li> <li> Class Level Interceptors - Invoked in the chain after default interceptors and before method level interceptors. </li> <li> Method Level Interceptors - Invoked in the chain after all class level interceptors. </li> </ul> </p> <p> The above are the ordering for externally defined interceptors. If you define class interceptor methods within your bean, then these are the last interceptors to be invoked. </p> </subsection> <a name="Interceptor_Exclusion"/> <subsection name="Interceptor Exclusions"> <p> The EJB3 cartridge allows you to exclude default interceptors for beans and bean methods. It also allows you to exclude class level interceptors for bean methods. </p> <p> To exclude the default interceptors, model the <code>@andromda.service.interceptor.excludeDefault</code> tagged value. If this is applied to a bean class, then the interceptor will be ignored for all methods of the bean class. If it is modelled on a business method of a bean, then invocation of that business method will NOT trigger invocation of the defined default interceptors. </p> <p> To exclude class level interceptors, model the <code>@andromda.service.interceptor.excludeClass</code> tagged value on business method of beans. This will prevent the container from invoking the defined class level interceptor when the associated bean method is invoked. </p> </subsection> <a name="Interceptor_Tips"/> <subsection name="Interceptor Tips"> <p> In situations where you have an inheritance hierarchy, interceptor methods from the super class are always invoked first. The exception to this rule is the case where the interceptor has been overridden, regardless of whether the overriding method is defined as an interceptor. </p> <p> Once the interceptors have been generated, they will never be overwritten. This way, you can add your implementation for the interceptor and call <code>InvocationContext.proceed()</code> to continue to call the next interceptors. </p> <p> Similar to bean classes, bean classes enjoy the benefits of dependency injection in much the same way. You can inject resources using the <code>@Resource</code> annotation or an entity manager using the <code>@PersistenceContext</code> annotation. </p> </subsection> </section> <section name="Next"> <p> For usage of lifecycle callbacks in entity, session and message-driven beans click <a href="howto14.html">here</a>. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-03-09 04:47:45
|
User: vancek Date: 06/03/08 20:47:45 Modified: andromda-ejb3/src/main/uml EJB3MetafacadeModel.xml.zip Log: added interceptorReferences and excludeDefaultInterceptors to appropriate metafacades Revision Changes Path 1.24 +162 -196 cartridges/andromda-ejb3/src/main/uml/EJB3MetafacadeModel.xml.zip <<Binary file>> |
From: Vance K. <va...@us...> - 2006-03-09 04:46:27
|
User: vancek Date: 06/03/08 20:46:26 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionOperationFacadeLogicImpl.java Log: fixed getInterceptorReferences to get all interceptors recursively to maintain ordering Revision Changes Path 1.10 +33 -15 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.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- EJB3SessionOperationFacadeLogicImpl.java 2 Mar 2006 10:32:36 -0000 1.9 +++ EJB3SessionOperationFacadeLogicImpl.java 9 Mar 2006 04:46:26 -0000 1.10 @@ -1,6 +1,7 @@ package org.andromda.cartridges.ejb3.metafacades; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashSet; @@ -328,7 +329,9 @@ protected Collection handleGetInterceptorReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -337,14 +340,29 @@ return (targetElement != null && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_INTERCEPTOR)); } }); - CollectionUtils.transform(references, new Transformer() + CollectionUtils.transform( + references, + new Transformer() { public Object transform(final Object object) { return ((DependencyFacade)object).getTargetElement(); } }); - return references; + final Collection interceptors = new LinkedHashSet(references); + CollectionUtils.forAllDo( + references, + new Closure() + { + public void execute(Object object) + { + if (object instanceof EJB3InterceptorFacade) + { + interceptors.addAll(((EJB3InterceptorFacade)object).getInterceptorReferences()); + } + } + }); + return interceptors; } /** |
From: Vance K. <va...@us...> - 2006-03-09 04:45:36
|
User: vancek Date: 06/03/08 20:45:36 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3SessionFacadeLogicImpl.java Log: fixed getInterceptorReferences to recursively look through all interceptors to keep interceptor ordering implemented isExcludeDefaultInterceptors fixed code spacing Revision Changes Path 1.14 +140 -89 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.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- EJB3SessionFacadeLogicImpl.java 7 Mar 2006 09:23:46 -0000 1.13 +++ EJB3SessionFacadeLogicImpl.java 9 Mar 2006 04:45:35 -0000 1.14 @@ -1,6 +1,7 @@ package org.andromda.cartridges.ejb3.metafacades; import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.LinkedHashSet; @@ -114,7 +115,9 @@ protected java.util.Collection handleGetBusinessOperations() { Collection operations = super.getOperations(); - CollectionUtils.filter(operations, new Predicate() + CollectionUtils.filter( + operations, + new Predicate() { public boolean evaluate(Object object) { @@ -487,7 +490,9 @@ protected Collection handleGetPersistenceContextReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -496,7 +501,9 @@ && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_PERSISTENCE_CONTEXT)); } }); - CollectionUtils.transform(references, new Transformer() + CollectionUtils.transform( + references, + new Transformer() { public Object transform(final Object object) { @@ -514,7 +521,9 @@ public Collection getServiceReferences() { Collection references = super.getServiceReferences(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -708,7 +717,9 @@ protected Collection handleGetResourceUserTransactionReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -729,7 +740,9 @@ protected Collection handleGetResourceDataSourceReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -769,7 +782,9 @@ protected Collection handleGetInterceptorReferences() { Collection references = this.getSourceDependencies(); - CollectionUtils.filter(references, new Predicate() + CollectionUtils.filter( + references, + new Predicate() { public boolean evaluate(Object object) { @@ -778,14 +793,29 @@ return (targetElement != null && targetElement.hasStereotype(EJB3Profile.STEREOTYPE_INTERCEPTOR)); } }); - CollectionUtils.transform(references, new Transformer() + CollectionUtils.transform( + references, + new Transformer() { public Object transform(final Object object) { return ((DependencyFacade)object).getTargetElement(); } }); - return references; + final Collection interceptors = new LinkedHashSet(references); + CollectionUtils.forAllDo( + references, + new Closure() + { + public void execute(Object object) + { + if (object instanceof EJB3InterceptorFacade) + { + interceptors.addAll(((EJB3InterceptorFacade)object).getInterceptorReferences()); + } + } + }); + return interceptors; } /** @@ -794,7 +824,9 @@ protected Collection handleGetNonRunAsRoles() { Collection roles = this.getTargetDependencies(); - CollectionUtils.filter(roles, new Predicate() + CollectionUtils.filter( + roles, + new Predicate() { public boolean evaluate(final Object object) { @@ -805,7 +837,9 @@ && !dependency.hasStereotype(EJB3Profile.STEREOTYPE_SECURITY_RUNAS); } }); - CollectionUtils.transform(roles, new Transformer() + CollectionUtils.transform( + roles, + new Transformer() { public Object transform(final Object object) { @@ -814,7 +848,9 @@ }); final Collection allRoles = new LinkedHashSet(roles); // add all roles which are generalizations of this one - CollectionUtils.forAllDo(roles, new Closure() + CollectionUtils.forAllDo( + roles, + new Closure() { public void execute(final Object object) { @@ -873,4 +909,19 @@ { return this.hasStereotype(EJB3Profile.STEREOTYPE_LISTENER); } + + /** + * @see org.andromda.cartridges.ejb3.metafacades.EJB3SessionFacadeLogic#handleIsExcludeDefaultInterceptors() + */ + protected boolean handleIsExcludeDefaultInterceptors() + { + boolean excludeDefault = false; + String excludeDefaultStr = + (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_DEFAULT); + if (excludeDefaultStr != null) + { + excludeDefault = BooleanUtils.toBoolean(excludeDefaultStr); + } + return excludeDefault; + } } \ No newline at end of file |