User: vancek Date: 06/05/12 19:43:21 Modified: andromda-ejb3/src/site/xdoc howto3.xml howto9.xml howto2.xml howto8.xml howto4.xml howto12.xml howto7.xml howto11.xml howto14.xml howto19.xml howto10.xml howto5.xml Log: added docs to support DAO for entites minor fixes Revision Changes Path 1.5 +53 -43 cartridges/andromda-ejb3/src/site/xdoc/howto3.xml Index: howto3.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto3.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- howto3.xml 7 Mar 2006 15:01:33 -0000 1.4 +++ howto3.xml 13 May 2006 02:43:20 -0000 1.5 @@ -8,34 +8,31 @@ <section name="Services"> <p> A common strategy to shield the presentation tier from the persistence tier is to model - the services in between, they will be used to implement the business logic in the application tier. - The technology behind is of little interest to the developer (that's one of the good points of MDA right!), - but it's good to know POJOs are being used. + the services in between. These services implement the business logic in the application tier. + In the EJB3 cartridge, these services are stateless or stateful session beans. </p> <p> - In order to model such services you would just create another class, but this time you will give - this class the <![CDATA[<<Service>>]]> stereotype. + To create a service you just create another class and model the <![CDATA[<<Service>>]]> stereotype + on this class. </p> <p> - Generally speaking it is sufficient to only model operations in these services, they represent - the operations that can be called remotely, consider these operations the API of your application's - back-end. + Most of the time you only model operations in these services which represent + the operations that can be called remotely (default view type). The EJB3 cartridge allows you to + specify <i>local</i> operation or even both. These operations are the <b>API</b> of your + application's back-end. </p> <p> - Notice how we have modelled dependencies from the service to the entities. For previous persistence - engines, this would render accessors to the DAOs of both entities in the service or add the - necessary xdoclet tags or corresponding <code>env-entry</code> elements to the deployment - descriptors. For the EJB3 cartridge, this is NOT the case! + The following illustrates the use of a service bean that operates on the 2 entities. + Notice how we have modelled dependencies from the service to the entities. This will render + the getter accessor to the DAOs of both entities in the service and inject the corresponding + DAO (stateless session bean containing CRUD API for entity). </p> <p> - You should still draw such dependencies to indicate the need to access the persistent storage - of entities, however EJB 3.0 relies on the persistence entity manager to handle this task and + Drawing these dependencies indicates the need to access the persistent storage + of entities via the persistence entity manager injected in the DAO that handle this task and eliminates much of the complexity. </p> <p> - The following example illustrates the use of a service bean that operates on the entity POJOs. - </p> - <p> <img src="images/org/andromda/test/3/a/uml.gif"/> </p> <p> @@ -47,16 +44,22 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto3/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> </ul> </p> <p> @@ -64,13 +67,13 @@ in the sections ahead. </p> <p> - The <code>RentalServiceBean.java</code> injects the <code>javax.ejb.SessionContext</code> by + The <code>RentalServiceBase.java</code> injects the <code>javax.ejb.SessionContext</code> by default and makes this available for use in the subclass via the <code>context</code> protected attribute. </p> <p> The default persistence context is injected into the Entity Manager. This is defined via the - <code>@javax.persistence.PersistenceContext</code> annotation in <code>RentalServiceBean.java</code>. + <code>@javax.persistence.PersistenceContext</code> annotation in <code>RentalServiceBase.java</code>. The <code>unitName</code> property matches the entity manager name in <code>persistence.xml</code> and is determined from the project name for the default persistence context. </p> @@ -114,7 +117,7 @@ <p> To declare the transactional nature of session bean business methods, you can model the <code>@andromda.ejb.transaction.type</code> tagged value on the session bean business - methods individually, or on session bean class. To find out more information, click on + methods individually, or on the session bean class. To find out more information, click on <a href="howto15.html">Transaction</a>. </p> </subsection> @@ -129,7 +132,8 @@ <a name="Environment_Entry_Injection"/> <subsection name="Environment Entry Injections"> <p> - To inject an environment entry resource value, model a service attribute with classifer scope + To inject an environment entry resource value, model a service attribute with + <code>classifer</code> scope and set the attribute stereotype to <![CDATA[<<EnvEntry>>]]>. The environment entries will be defined in the session bean class and configured in the ejb-jar.xml deployment descriptor. @@ -194,7 +198,7 @@ The EJB3 cartridge derives a default persistence context associated with the default entity manager for every session bean. The persistence context <code>unitName</code> property is determined via the <code>persistenceContextUnitName</code> namespace property - which is provided via <code>andromda.xml</code> descriptor. + which is provided via your application <code>andromda.xml</code> descriptor. </p> <p> Every session bean provides the facility to override the default persistence context @@ -234,17 +238,23 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto3/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto3/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/persistence.xml.txt"><code>persistence.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto3/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto3/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto3/b/persistence.xml"><code>persistence.xml</code></a></li> </ul> </p> <p> 1.2 +78 -73 cartridges/andromda-ejb3/src/site/xdoc/howto9.xml Index: howto9.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto9.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto9.xml 24 Feb 2006 06:07:19 -0000 1.1 +++ howto9.xml 13 May 2006 02:43:20 -0000 1.2 @@ -26,28 +26,24 @@ The following howto should give you a basic understanding on how to model your inheritance hierarchies using the EJB3 cartridge. </p> + <a name="Non_Inheriting_Entities"/> + <subsection name="Non Interhiting Entities"> <p> - The biggest drawback of implementing any of the inheritance hierarchies using - the EJB3 cartridge is the limitation where a manual source class is NOT available in the child - nodes of an inheritance hierarchy. Because the EJB3 cartridge employs mapped superclass inheritance - for every entity to be able to provide implementation specific source in the subclass, it is - limited by the fact that mapped superclasses can only exist in the root node of the inheritance - hierarchy. + In a mapped superclass scenario, an entity inherits from a superclass that has persistent state + and mapping information, but the super class isn't an entity and is not mapped to a relation table. + This is the strategy employed by the EJB3 cartridge when generating non-inheriting entities if + <code>instance</code> scoped operations are modelled on the entity. </p> - <a name="Mapped_Superclasses"/> - <subsection name="Mapped Superclasses"> <p> - In a mapped superclass scenario, an entity inherits from a superclass that has persistent state - and mapping information, but the super class isn't an entity. This is the strategy employed - by the EJB3 cartridge when generating non-inheriting entities. A mapped superclass is generated containing almost all of the mapping information. The subclass contains only the <code>@Entity</code> , <code>@Table</code> and <code>@EntityListeners</code> annotations. All attribute and relationship mapping information exists in the mapped superclass. The mapped superclass - is regenerated on every run, however the subclass is not. As soon as you model - inheriting entities, this strategy doesn't apply since mapped superclasses only exist at - the root node of the hierarchy. + is regenerated on every run, however the subclass is not. </p> + </subsection> + <a name="Mapped_Superclasses"/> + <subsection name="Mapped Superclasses"> <p> To explicity defined an entity as a mapped superclass, model the <![CDATA[<<MappedSuperclass>>]]> stereotype on the root entity. Define the subclass entities @@ -66,29 +62,42 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/Vehicle.java.txt"><code>Vehicle.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/a/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalException.java.txt"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/Vehicle.java"><code>Vehicle.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/a/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/a/RentalException.java"><code>RentalException.java</code></a></li> </ul> </p> <p> - It's worthwhile to note that only a Vehicle class is generated which contains all the mapping - information. This class is regenerated every time AndroMDA runs; any manual changes to this - class is overwritten. Likewise, only the Car entity class, with all mapping information - is generated. - On the other hand, the Person entity operates under the normal EJB3 cartridge - guidelines since there is no inheritance hierarchy for this entity. Therefore, a <code>Person</code> - and <code>PersonEmbeddable</code> class is generated and you are allowed to manually edit - the <code>Person</code> class source file. + It's worthwhile to note that only a <code>VehicleEmbeddable</code> class is generated which + contains all the mapping information. + This class is regenerated every time AndroMDA runs; any manual changes to this + class is overwritten. + </p> + <p> + A <code>CarEmbeddable</code> mapped superclass with all mapping information + is generated and a <code>Car</code> implementation entity classes. Remember that this only happens + if the entity contains <code>instance</code> scoped operations. + </p> + <p> + The the Person entity operates under the normal EJB3 cartridge + guidelines since there is no inheritance hierarchy for this entity. Therefore, only a + <code>Person</code> class is generated and should not be modified. </p> </subsection> <a name="Single_Table_Strategy"/> @@ -126,23 +135,36 @@ </p> <p> <ul> - <li class="impl"><a href="src/org/andromda/test/howto9/b/Vehicle.java.txt"><code>Vehicle.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/VehicleEmbeddable.java.txt"><code>VehicleEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto9/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalException.java.txt"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/Vehicle.java"><code>Vehicle.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDao.java"><code>VehicleDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoBase.java"><code>VehicleDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoImpl.java"><code>VehicleDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/VehicleDaoException.java"><code>VehicleDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto9/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto9/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto9/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto9/b/RentalException.java"><code>RentalException.java</code></a></li> </ul> </p> <p> - The discriminator components are discussed in immediately below. + Notice in the previous example where <code>Vehicle</code> was defined as a mapped superclass, + no DAO components were generated. In this example, <code>Vehicle</code> is an entity and the + the corresponding DAO components were generated. The discriminator components are discussed + below. </p> </subsection> <a name="Discriminator_Components"/> @@ -178,18 +200,20 @@ root class. </p> <p> - Most importantly, you need to model the <code>@andromda.persistence.discriminator.value</code> + Most importantly, you can model the <code>@andromda.persistence.discriminator.value</code> tagged value <b>on all classes</b> in the hierarchy. This value indicates the row in the table is an entity of the annotated entity type. This is shown in the above diagram on entities - Vehicle and Car. + Vehicle and Car. However, by default, if no discriminator value is specified for single + table mapping strategy, the cartridge will capitalize and assign the first letter of the entity + as it's discriminator value. </p> </subsection> <a name="Table_Per_Class_Strategy"/> <subsection name="Table Per Class Strategy"> <p> With this strategy, a table exists per class in the hierarchy and each table is comprised of - all the properties persistent by that class. There is no need to define discriminator column - types or values here. + all the properties persisted by that class. There is no need to define discriminator column + types or values for this mapping strategy. </p> <p> If the query is based on the root class in the hierarchy, the query is polymorphic which implies @@ -228,25 +252,6 @@ All subclasses follow this same strategy. </p> </subsection> - <a name="Generic_Finder_Methods"/> - <subsection name="Generic Finder Methods"> - <p> - You will notice that the generic finder method <code>findByPrimaryKey</code> is not generated - for any of the inheritance mapping strategies within the inheriting subclasses. - Classes that inherit from a base class use the primary key identifier of the base class. - Therefore, because the <code>findByPrimaryKey</code> already exists in the base/root class and - since we have polymorphic queries, subclass entities are also returned from the queries - of the root class. - </p> - <p> - The case is different for the <code>findAll</code> finder method. The <code>findAll</code> - finder will not be generated for inheriting subclasses when the inheritance strategy is - single table. Polymorphic queries in the root entity returns the result from all classes in - the hierarchy. For table per class and joined table mapping strategies, the cartridge will - generate the <code>findAll<![CDATA[<Entity Name>]]></code> finder method in each subclass - as well as the <code>findAll</code> in the root class. - </p> - </subsection> <a name="Helpful_Hints"/> <subsection name="Helpful Hints"> <p> @@ -265,7 +270,7 @@ </section> <section name="Next"> <p> - To learn how to develop Message Driven Beans, click <a href="howto9.html">here</a>. + To learn how to develop Message Driven Beans, click <a href="howto10.html">here</a>. </p> </section> </body> 1.5 +69 -31 cartridges/andromda-ejb3/src/site/xdoc/howto2.xml Index: howto2.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto2.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- howto2.xml 17 Mar 2006 14:20:22 -0000 1.4 +++ howto2.xml 13 May 2006 02:43:20 -0000 1.5 @@ -14,11 +14,11 @@ by <code>[0..*]</code> at the car's end. </p> <p class="highlight"> - Make sure the association ends are <code>public</code>; some tools allow to specify the + Make sure the association ends are <code>public</code>; some tools allow you to specify the visibility of an association end. </p> <p> - In UML, relationships are modeled using associations, and associations themselves have different + In UML, relationships are modelled using associations, and associations themselves have different properties, which will be discussed here. </p> <p> @@ -27,22 +27,22 @@ onto a platform specific datatype (you can find them in the <code>datatype</code> package). </p> <p> - Draw an association between both entities you have just modeled. Set the multiplicity at the end + Draw an association between both entities you have just modelled. Set the multiplicity at the end of the car to <code>[0..*]</code> and name the other end <code>'owner'</code>. - Run AndroMDA again on your model, this is what you should see: + If we run AndroMDA over your model, this is what we expect to see. </p> <p> <img src="images/org/andromda/test/2/a/uml.gif"/> </p> <p> - In this example we have added two attributes: + In this example we have added two attributes to the <code>Person</code> entity. <ul> <li>name of type <code>datatype::String</code></li> <li>birthDate of type <code>datatype::Date</code></li> </ul> Please note that also for this entity an identifier will be added by default. - If you explicitely want to add an identifier you should add the <![CDATA[<<Identifier>>]]> - stereotype to an attribute. Refer to <a href="howto1.html">Entities</a> for more information. + If you explicitely want to add an identifier you should model the <![CDATA[<<Identifier>>]]> + stereotype on an attribute. Refer to <a href="howto1.html">Entities</a> for more information. </p> <p> <ul> @@ -53,15 +53,24 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/a/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/a/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/a/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/a/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/a/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> <p> - As you can see the relationships have been generated in the embeddable superclasses. Since both - ends of the association are navigable, we have a bi-directional relationship. + The relationship mapping metadata (annotations) have been generated in the root class of + the entity hierarchy. The metadata for the <code>Car</code> entity is within the mapped superclass. + The metadata for the <code>Person</code> entity exists in the auto generated <code>Person</code> + class. Since both ends of the association are navigable, we have a bi-directional relationship. <ul> <li> <p>Person.getCars() : Collection</p> @@ -78,7 +87,8 @@ <p> A Many-To-One relationship has been defined from the Car entity to the Person entity. This adds the <code>@javax.persistence.ManyToOne</code> - annotation to the getter method of the Car entity. Since the multiplicity on the + annotation to the getter method <code>getOwner</code> in the Car entity. + Since the multiplicity on the Person end of the association is set to 1, the annotation has defined the <code>optional</code> property to <code>false</code> which indicates non-null entries cannot exists in this foreign key column in the relational database table. @@ -136,10 +146,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/b/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -171,10 +188,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/c/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/c/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/c/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/c/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/c/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/c/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -212,10 +236,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/d/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/d/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/d/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/d/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/d/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/d/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> @@ -267,10 +298,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/e/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/e/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/e/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/e/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto2/e/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto2/e/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> </ul> </p> </subsection> 1.4 +46 -27 cartridges/andromda-ejb3/src/site/xdoc/howto8.xml Index: howto8.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto8.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- howto8.xml 19 Mar 2006 09:10:55 -0000 1.3 +++ howto8.xml 13 May 2006 02:43:20 -0000 1.4 @@ -35,8 +35,8 @@ ]]></source> </p> <p> - Once you have done that, the cartridge will create the <code>login-config</code> and - and <code>login-service</code> deployment descriptors for JBoss. + Once you have done that, the cartridge will create the <code>login-config.xml</code> and + and <code>login-service.xml</code> deployment descriptors for JBoss. Both files are generated to the ear <code>META-INF</code> directory. The <code>login-config.xml</code> will look like: <source language="xml"><![CDATA[ @@ -73,7 +73,7 @@ </p> <p> These 2 files are generated the first time the security realm is enabled. They will not be - overridden. For example, you can modify these file to prevent the queries checking for + overridden. For example, you can modify these files to prevent the queries checking for case sensitivity by removing the <b>BINARY</b> in the <i>where</i> clauses. </p> <p> @@ -91,7 +91,7 @@ </p> <p> The cartridge will also create an <code>auth.conf</code> file in <i>./app/src/main/config</i>. - You will need this file if you are outside of the server JVM to be able to authenticate + You will need this file if your client is outside of the server JVM to be able to authenticate your credentials. This file needs to be in your classpath when you run your external client. <source><![CDATA[ @@ -161,25 +161,31 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto8/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/Car.java.txt"><code>Car.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/CarType.java.txt"><code>CarType.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/Person.java.txt"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/ServiceLocator.java.txt"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto8/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalException.java.txt"><code>RentalException.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/ejb-jar.xml.txt"><code>ejb-jar.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss.xml.txt"><code>jboss.xml</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto8/b/persistence.xml.txt"><code>persistence.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/auth.conf.txt"><code>auth.conf</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss-app.xml.txt"><code>jboss-app.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-config.xml.txt"><code>howtomodel-login-config.xml</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-service.xml.txt"><code>howtomodel-login-service.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarType.java"><code>CarType.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarDao.java"><code>CarDao.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/CarDaoBase.java"><code>CarDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/CarDaoImpl.java"><code>CarDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/CarDaoException.java"><code>CarDaoException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/Person.java"><code>Person.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDao.java"><code>PersonDao.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDaoBase.java"><code>PersonDaoBase.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/PersonDaoImpl.java"><code>PersonDaoImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/PersonDaoException.java"><code>PersonDaoException.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto8/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/RentalServiceBase.java"><code>RentalServiceBase.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalServiceException.java"><code>RentalServiceException.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/RentalException.java"><code>RentalException.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/ejb-jar.xml"><code>ejb-jar.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss.xml"><code>jboss.xml</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto8/b/persistence.xml"><code>persistence.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/auth.conf"><code>auth.conf</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/jboss-app.xml"><code>jboss-app.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-config.xml"><code>howtomodel-login-config.xml</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto8/b/howtomodel-login-service.xml"><code>ho... [truncated message content] |