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-02-09 07:05:16
|
User: vancek Date: 06/02/08 23:05:10 Modified: andromda-ejb3/src/main/resources/templates/ejb3 EntityEmbeddable.vsl Log: added insertable and updatable properties to @Column for attributes fixed @Enumerated value to include fully qualified value - javax.persistence.EnumType Revision Changes Path 1.15 +2 -2 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.14 retrieving revision 1.15 diff -u -w -r1.14 -r1.15 --- EntityEmbeddable.vsl 6 Feb 2006 03:04:06 -0000 1.14 +++ EntityEmbeddable.vsl 9 Feb 2006 07:05:10 -0000 1.15 @@ -310,7 +310,7 @@ @javax.persistence.Basic(fetch = javax.persistence.FetchType.EAGER) #* *##end #* *##end - @javax.persistence.Column(name = "${attribute.columnName}"#if ($attribute.unique), unique = ${attribute.unique}#end#if (!$attribute.columnNullable), nullable = ${attribute.columnNullable}#end#if ($attribute.columnLength), length = ${attribute.columnLength}#end#if ($attribute.columnDefinition), columnDefinition = "${attribute.columnDefinition}"#end#if ($attribute.columnPrecision), precision = ${attribute.columnPrecision}#end#if ($attribute.columnScale), scale = ${attribute.columnScale}#end) + @javax.persistence.Column(name = "${attribute.columnName}"#if ($attribute.unique), unique = ${attribute.unique}#end#if (!$attribute.columnNullable), nullable = ${attribute.columnNullable}#end#**#, insertable = ${attribute.insertEnabled}, updatable = ${attribute.updateEnabled}#if ($attribute.columnLength), length = ${attribute.columnLength}#end#if ($attribute.columnDefinition), columnDefinition = "${attribute.columnDefinition}"#end#if ($attribute.columnPrecision), precision = ${attribute.columnPrecision}#end#if ($attribute.columnScale), scale = ${attribute.columnScale}#end) #* *##if (!$attribute.lob && $attribute.lazy) ## ## Only add the fetch type property for LAZY hints - default is EAGER @@ -321,7 +321,7 @@ @javax.persistence.Temporal(javax.persistence.TemporalType.${attribute.temporalType}) #* *##end #* *##if ($stringUtils.isNotBlank($attribute.enumerationType)) - @javax.persistence.Enumerated(${attribute.enumerationType}) + @javax.persistence.Enumerated(javax.persistence.EnumType.${attribute.enumerationType}) #* *##end public ${attribute.type.fullyQualifiedName} ${attribute.getterName}() { |
From: Vance K. <va...@us...> - 2006-02-08 10:21:16
|
User: vancek Date: 06/02/08 02:21:11 Modified: andromda-ejb3/src/main/uml EJB3MetafacadeModel.xml.zip Log: updated docs Revision Changes Path 1.15 +153 -150 cartridges/andromda-ejb3/src/main/uml/EJB3MetafacadeModel.xml.zip <<Binary file>> |
From: Vance K. <va...@us...> - 2006-02-08 10:20:10
|
User: vancek Date: 06/02/08 02:20:01 Added: andromda-ejb3/src/site/xdoc howto5.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto5.xml Index: howto5.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - HowTo Enumerations</title> </properties> <body> <section name="Enumerations"> <p> You might have noticed the <code>carType</code> attribute in the <code>Car</code> entity. It is is a <code>String</code> type while in fact it makes more sense to restrict the set of possible values for this attribute. This can be achieved using <i>type-safe enumerations</i>. This is the topic discussed on this page. </p> <p> Type-safe enumerations are modeled by means of a regular class, only this time you need to use the <![CDATA[<<Enumeration>>]]> stereotype. All attributes on such an enumeration will be known as enumeration literals, they will assume the default values you assign to the attributes, or the name of the attribute if the default value is missing. </p> <p> In the EJB3 cartridge, enumerations are <i>NOT</i> persisted behind the scenes, unlike the Hibernate framework however we can still use these enumeration types for entity attributes. The <code>enum</code> declaration in the <code>CarType</code> class defines an <i>enum type</i> class. </p> <p> In the next picture we have replaced the type of the <code>type</code> attribute in the <code>Car</code> entity rom <code>datatype::String</code> to <code>org.andromda.test.howto5.a.CarType</code>. </p> <p> <img src="images/org/andromda/test/5/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> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto5/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> <li class="impl"><a class="changed" href="src/org/andromda/test/howto5/a/Car.java.txt"><code>Car.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto5/a/CarType.java.txt"><code>CarType.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto5/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto5/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/howto5/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto5/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto5/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto5/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto5/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> </ul> </p> <subsection name="Literals"> <p> Note that in this example the enumeration attributes have been specified using regular variables in Java notation, the <em>initial value</em> has been specified using capitals (actually you would do this only when you want to have the value different from the attribute name): <source><![CDATA[ sedan : String = SEDAN liftback : String = LIFTBACK stationWagon : String = STATION_WAGON ]]></source> The following is perfectly equivalent, and shorter in use, it specifies the attribute name using capitals and omits the initial value: <source><![CDATA[ SEDAN : String LIFTBACK : String STATION_WAGON : String ]]></source> </p> <p class="highlight"> The latter is recommended for Java applications where it preferred to have literal names matching the persisted values: the enumeration literals will be constants and therefore a capitalized name is desired, and since the name is exactly what will be persisted it is very easy in use too. </p> </subsection> </section> <section name="Next"> <p> We'll learn how to model entity finders and have the Query Language automatically generated, the <a href="howto6.html">next</a> section will go into more details. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-02-08 10:19:44
|
User: vancek Date: 06/02/08 02:19:38 Modified: andromda-ejb3/src/site/xdoc howto3.xml howto2.xml howto4.xml howto1.xml Log: java source files have .txt extension Revision Changes Path 1.2 +10 -9 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.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto3.xml 6 Feb 2006 04:22:08 -0000 1.1 +++ howto3.xml 8 Feb 2006 10:19:38 -0000 1.2 @@ -47,15 +47,16 @@ </p> <p> <ul> - <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/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto3/a/Person.java"><code>Person.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> - <li class="gen"><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="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> + <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> </ul> </p> <p> 1.3 +20 -20 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.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto2.xml 6 Feb 2006 04:21:42 -0000 1.2 +++ howto2.xml 8 Feb 2006 10:19:38 -0000 1.3 @@ -53,10 +53,10 @@ </p> <p> <ul> - <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 class="changed" href="src/org/andromda/test/howto2/a/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/a/Person.java"><code>Person.java</code></a></li> + <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> </ul> </p> <p> @@ -136,10 +136,10 @@ </p> <p> <ul> - <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 class="changed" href="src/org/andromda/test/howto2/b/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/b/Person.java"><code>Person.java</code></a></li> + <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> </ul> </p> </subsection> @@ -171,10 +171,10 @@ </p> <p> <ul> - <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 class="changed" href="src/org/andromda/test/howto2/c/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/c/Person.java"><code>Person.java</code></a></li> + <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> </ul> </p> </subsection> @@ -212,10 +212,10 @@ </p> <p> <ul> - <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 class="changed" href="src/org/andromda/test/howto2/d/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/d/Person.java"><code>Person.java</code></a></li> + <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> </ul> </p> </subsection> @@ -267,10 +267,10 @@ </p> <p> <ul> - <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 class="changed" href="src/org/andromda/test/howto2/e/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto2/e/Person.java"><code>Person.java</code></a></li> + <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> </ul> </p> </subsection> 1.2 +22 -20 cartridges/andromda-ejb3/src/site/xdoc/howto4.xml Index: howto4.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto4.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto4.xml 6 Feb 2006 04:22:26 -0000 1.1 +++ howto4.xml 8 Feb 2006 10:19:38 -0000 1.2 @@ -31,16 +31,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/a/Car.java"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarPK.java"><code>CarPK.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/a/Person.java"><code>Person.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto4/a/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/a/Car.java.txt"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarPK.java.txt"><code>CarPK.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/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/howto4/a/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto4/a/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> </ul> </p> <p> @@ -71,16 +72,17 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Car.java"><code>Car.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Person.java"><code>Person.java</code></a></li> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonPK.java"><code>PersonPK.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto4/b/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Car.java.txt"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonEmbeddable.java.txt"><code>PersonEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Person.java.txt"><code>Person.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonPK.java.txt"><code>PersonPK.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/howto4/b/RentalServiceBean.java.txt"><code>RentalServiceBean.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceRemote.java.txt"><code>RentalServiceRemote.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceDelegate.java.txt"><code>RentalServiceDelegate.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto4/b/RentalServiceBeanImpl.java.txt"><code>RentalServiceBeanImpl.java</code></a></li> + <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceException.java.txt"><code>RentalServiceException.java</code></a></li> </ul> </p> <p> 1.3 +16 -16 cartridges/andromda-ejb3/src/site/xdoc/howto1.xml Index: howto1.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto1.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- howto1.xml 6 Feb 2006 04:19:50 -0000 1.2 +++ howto1.xml 8 Feb 2006 10:19:38 -0000 1.3 @@ -60,8 +60,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/a/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/a/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> @@ -106,8 +106,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/b/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/b/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/b/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> @@ -138,8 +138,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/c/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/c/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/c/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/c/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> </subsection> @@ -162,8 +162,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/d/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/d/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/d/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/d/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> @@ -259,8 +259,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/e/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/e/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/e/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/e/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> @@ -288,8 +288,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/f/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/f/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/f/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/f/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> </subsection> @@ -345,8 +345,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/g/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/g/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/g/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/g/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> @@ -372,8 +372,8 @@ </p> <p> <ul> - <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/h/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/h/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/h/CarEmbeddable.java.txt"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto1/h/Car.java.txt"><code>Car.java</code></a></li> </ul> </p> <p> |
From: Vance K. <va...@us...> - 2006-02-08 10:18:14
|
User: vancek Date: 06/02/08 02:18:05 Added: andromda-ejb3/src/site/resources/images/org/andromda/test/5/a uml.gif Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/5/a/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-02-08 10:18:05
|
User: vancek Date: 06/02/08 02:17:56 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/5 - New directory |
From: Vance K. <va...@us...> - 2006-02-08 10:18:04
|
User: vancek Date: 06/02/08 02:17:56 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/5/a - New directory |
From: Vance K. <va...@us...> - 2006-02-08 10:17:12
|
User: vancek Date: 06/02/08 02:17:07 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3FinderMethodArgumentFacadeLogicImpl.java Log: isFirstResult and isMaxResults now check for corresponding stereotypes rather than tagged value Revision Changes Path 1.5 +2 -22 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodArgumentFacadeLogicImpl.java Index: EJB3FinderMethodArgumentFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3FinderMethodArgumentFacadeLogicImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- EJB3FinderMethodArgumentFacadeLogicImpl.java 6 Feb 2006 04:04:39 -0000 1.4 +++ EJB3FinderMethodArgumentFacadeLogicImpl.java 8 Feb 2006 10:17:07 -0000 1.5 @@ -57,17 +57,7 @@ */ protected boolean handleIsFirstResult() { - boolean firstResult = false; - String resultType = - (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_FINDER_PARAMETER_RESULT_TYPE); - if (StringUtils.isNotBlank(resultType)) - { - if (resultType.equalsIgnoreCase(EJB3Globals.FINDER_RESULT_TYPE_FIRST)) - { - firstResult = true; - } - } - return firstResult; + return this.hasStereotype(EJB3Profile.STEREOTYPE_FINDER_RESULT_TYPE_FIRST); } /** @@ -75,17 +65,7 @@ */ protected boolean handleIsMaxResults() { - boolean maxResults = false; - String resultType = - (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_FINDER_PARAMETER_RESULT_TYPE); - if (StringUtils.isNotBlank(resultType)) - { - if (resultType.equalsIgnoreCase(EJB3Globals.FINDER_RESULT_TYPE_MAX)) - { - maxResults = true; - } - } - return maxResults; + return this.hasStereotype(EJB3Profile.STEREOTYPE_FINDER_RESULT_TYPE_MAX); } /** |
From: Vance K. <va...@us...> - 2006-02-08 10:16:26
|
User: vancek Date: 06/02/08 02:16:21 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades EJB3EntityFacadeLogicImpl.java Log: isEmbeddableSuperclass now checks for MappedSuperclass stereotype rather than tagged value Revision Changes Path 1.13 +5 -10 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java Index: EJB3EntityFacadeLogicImpl.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/metafacades/EJB3EntityFacadeLogicImpl.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -w -r1.12 -r1.13 --- EJB3EntityFacadeLogicImpl.java 6 Feb 2006 04:03:25 -0000 1.12 +++ EJB3EntityFacadeLogicImpl.java 8 Feb 2006 10:16:20 -0000 1.13 @@ -845,16 +845,11 @@ */ protected boolean handleIsEmbeddableSuperclass() { - boolean isEmbeddableSuperclass = false; - String isEmbeddableSuperclassStr = - (String)this.findTaggedValue(EJB3Profile.TAGGEDVALUE_PERSISTENCE_EMBEDDABLE_SUPERCLASS); + boolean isEmbeddableSuperclass = this.hasStereotype(EJB3Profile.STEREOTYPE_MAPPED_SUPERCLASS); - if (StringUtils.isNotBlank(isEmbeddableSuperclassStr)) - { - isEmbeddableSuperclass = BooleanUtils.toBoolean(isEmbeddableSuperclassStr); - } - - // Must the root class - Cannot have embeddable superclass in the middle of the hierarchy + /** + * Must the root class - Cannot have embeddable superclass in the middle of the hierarchy + */ return isEmbeddableSuperclass && isRoot(); } |
From: Vance K. <va...@us...> - 2006-02-08 10:15:34
|
User: vancek Date: 06/02/08 02:15:28 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3 EJB3Profile.java Log: removed TAGGEDVALUE_PERSISTENCE_FINDER_PARAMETER_RESULT_TYPE and TAGGEDVALUE_PERSISTENCE_EMBEDDABLE_SUPERCLASS added STEREOTYPE_MAPPED_SUPERCLASS added STEREOTYPE_FINDER_RESULT_TYPE_FIRST and STEREOTYPE_FINDER_RESULT_TYPE_MAX Revision Changes Path 1.12 +18 -14 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Profile.java Index: EJB3Profile.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Profile.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- EJB3Profile.java 6 Feb 2006 04:33:46 -0000 1.11 +++ EJB3Profile.java 8 Feb 2006 10:15:28 -0000 1.12 @@ -25,6 +25,11 @@ public static final String STEREOTYPE_ENTITY = profile.get("ENTITY"); /** + * Specifies this class as a mapped/embeddable super class. + */ + public static final String STEREOTYPE_MAPPED_SUPERCLASS = profile.get("MAPPED_SUPERCLASS"); + + /** * Specifies the service bean stereotype. */ public static final String STEREOTYPE_SERVICE = profile.get("SERVICE"); @@ -116,6 +121,18 @@ */ public static final String STEREOTYPE_LOB = profile.get("LOB"); + /** + * The tagged value indicating the finder method parameter result type + * is assigned to be the first/index. + */ + public static final String STEREOTYPE_FINDER_RESULT_TYPE_FIRST = profile.get("RESULT_TYPE_FIRST"); + + /** + * The tagged value indicating the finder method parameter result type + * is assigned to be the max results to return. + */ + public static final String STEREOTYPE_FINDER_RESULT_TYPE_MAX = profile.get("RESULT_TYPE_MAX"); + /* ----------------- Tagged Values -------------------- */ /** @@ -159,13 +176,6 @@ public static final String TAGGEDVALUE_PERSISTENCE_TEMPORAL_TYPE = profile.get("TEMPORAL_TYPE"); /** - * The tagged value indicating the finder method parameter result type - * (First or Max). - */ - public static final String TAGGEDVALUE_PERSISTENCE_FINDER_PARAMETER_RESULT_TYPE = - profile.get("ENTITY_FINDER_RESULT_TYPE"); - - /** * The tagged value indicating the entity table name. */ public static final String TAGGEDVALUE_PERSISTENCE_ENTITY_TABLE_NAME = profile.get("TABLE"); @@ -297,13 +307,6 @@ profile.get("ENTITY_DISCRIMINATOR_COLUMN_LENGTH"); /** - * The tagged value representing whether this entity is an - * embeddable superclass - */ - public static final String TAGGEDVALUE_PERSISTENCE_EMBEDDABLE_SUPERCLASS = - profile.get("ENTITY_EMBEDDABLE_SUPERCLASS"); - - /** * The tagged value representing the persistence context * unit name (EntityManager) */ @@ -409,4 +412,5 @@ */ public static final String TAGGEDVALUE_SERVICE_INTERCEPTOR_EXCLUDE_CLASS = profile.get("EXCLUDE_CLASS_INTERCEPTORS"); + } \ No newline at end of file |
From: Vance K. <va...@us...> - 2006-02-08 10:12:58
|
User: vancek Date: 06/02/08 02:12:52 Modified: andromda-ejb3/src/main/resources/META-INF/andromda profile.xml Log: removed ENTITY_EMBEDDABLE_SUPERCLASS element from tagged value group Revision Changes Path 1.14 +0 -12 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml Index: profile.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -w -r1.13 -r1.14 --- profile.xml 8 Feb 2006 10:11:38 -0000 1.13 +++ profile.xml 8 Feb 2006 10:12:52 -0000 1.14 @@ -414,18 +414,6 @@ <![CDATA[<<Entity>>]]> </appliedOnElement> </element> - <element name="ENTITY_EMBEDDABLE_SUPERCLASS"> - <documentation> - Used at the class level of an entity to determine if - this class is defined as an embeddable super class. - </documentation> - <value> - @andromda.persistence.embeddable.superclass - </value> - <appliedOnElement> - <![CDATA[<<Entity>>]]> - </appliedOnElement> - </element> <element name="TEMPORAL_TYPE"> <documentation> The temporal type tagged value specified on |
From: Vance K. <va...@us...> - 2006-02-08 10:11:45
|
User: vancek Date: 06/02/08 02:11:38 Modified: andromda-ejb3/src/main/resources/META-INF/andromda profile.xml Log: added MAPPED_SUPERCLASS element to stereotype group added RESULT_TYPE_FIRST, RESULT_TYPE_MAX elements to stereotype group removed ENTITY_FINDER_RESULT_TYPE element from tagged value group Revision Changes Path 1.13 +31 -17 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml Index: profile.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -w -r1.12 -r1.13 --- profile.xml 6 Feb 2006 04:33:03 -0000 1.12 +++ profile.xml 8 Feb 2006 10:11:38 -0000 1.13 @@ -15,6 +15,16 @@ <value>Entity</value> <appliedOnElement>class</appliedOnElement> </element> + <element name="MAPPED_SUPERCLASS"> + <documentation> + Produces a POJO class annotated as a + mapped/embeddable super class. This + can only be assigned to the root class + in a hierarchy. + </documentation> + <value>MappedSuperclass</value> + <appliedOnElement>class</appliedOnElement> + </element> <element name="SERVICE"> <documentation> Produces a Session EJB facade for the POJO EJB @@ -235,6 +245,27 @@ Entity Attribute </appliedOnElement> </element> + <element name="RESULT_TYPE_FIRST"> + <documentation> + Specifies the finder method parameter + result type to specify the starting index. + </documentation> + <value>FirstResult</value> + <appliedOnElement> + Entity Finder Method Parameter + </appliedOnElement> + </element> + <element name="RESULT_TYPE_MAX"> + <documentation> + Specifies the finder method parameter + result type to specify the max or + limit. + </documentation> + <value>MaxResult</value> + <appliedOnElement> + Entity Finder Method Parameter + </appliedOnElement> + </element> </elementGroup> <elementGroup name="Tagged Values"> <element name="ATTRIBUTE_PERSISTENCE_OPTIONAL"> @@ -395,23 +426,6 @@ <![CDATA[<<Entity>>]]> </appliedOnElement> </element> - <element name="ENTITY_FINDER_RESULT_TYPE"> - <documentation> - Specifies the finder method parameter - result type to specify the limit and/or - starting index. - </documentation> - <value> - @andromda.persistence.finder.result.type - </value> - <appliedOnElement> - Entity Finder Method Parameter - </appliedOnElement> - <allowedValues> - <value default="true">First</value> - <value>Max</value> - </allowedValues> - </element> <element name="TEMPORAL_TYPE"> <documentation> The temporal type tagged value specified on |
From: Vance K. <va...@us...> - 2006-02-08 10:09:34
|
User: vancek Date: 06/02/08 02:09:28 Modified: andromda-ejb3/src/main/resources/templates/ejb3 SessionBeanImpl.vsl Log: replaced tab with spaces Revision Changes Path 1.8 +4 -4 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.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 |
From: Vance K. <va...@us...> - 2006-02-06 04:33:53
|
User: vancek Date: 06/02/05 20:33:46 Modified: andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3 EJB3Profile.java Log: removed STEREOTYPE_MESSAGE_DRIVEN_REF static constant Revision Changes Path 1.11 +0 -5 cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Profile.java Index: EJB3Profile.java =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/java/org/andromda/cartridges/ejb3/EJB3Profile.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -w -r1.10 -r1.11 --- EJB3Profile.java 6 Feb 2006 04:01:36 -0000 1.10 +++ EJB3Profile.java 6 Feb 2006 04:33:46 -0000 1.11 @@ -79,11 +79,6 @@ public static final String STEREOTYPE_RESOURCE_REF = profile.get("RESOURCE_REF"); /** - * Represents a reference to a JMS message driven bean. - */ - public static final String STEREOTYPE_MESSAGE_DRIVEN_REF = profile.get("MESSAGE_DRIVEN_REF"); - - /** * Represents a class used to inject a javax.transaction.UserTransaction as a resource. */ public static final String STEREOTYPE_USER_TRANSACTION = profile.get("USER_TRANSACTION"); |
From: Vance K. <va...@us...> - 2006-02-06 04:33:12
|
User: vancek Date: 06/02/05 20:33:03 Modified: andromda-ejb3/src/main/resources/META-INF/andromda profile.xml Log: removed MESSAGE_DRIVEN_REF element Revision Changes Path 1.12 +0 -15 cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml Index: profile.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/main/resources/META-INF/andromda/profile.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -w -r1.11 -r1.12 --- profile.xml 6 Feb 2006 03:34:58 -0000 1.11 +++ profile.xml 6 Feb 2006 04:33:03 -0000 1.12 @@ -127,21 +127,6 @@ out of a Service. </appliedOnElement> </element> - <element name="MESSAGE_DRIVEN_REF"> - <documentation> - Used to reference a JMS message driven - bean with stereotype MessageDriven. - This is used to inject the Queue, - QueueConnectionFactory or TopicConnectionFactory - resources. - </documentation> - <value>MessageDrivenRef</value> - <appliedOnElement> - A dependency going into a class - having a stereotype of MessageDriven, - out of a Service. - </appliedOnElement> - </element> <element name="USER_TRANSACTION"> <documentation> Used to inject a javax.transaction.UserTransaction |
From: Vance K. <va...@us...> - 2006-02-06 04:22:34
|
User: vancek Date: 06/02/05 20:22:26 Added: andromda-ejb3/src/site/xdoc howto4.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto4.xml Index: howto4.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - HowTo Composite Primary Key</title> </properties> <body> <section name="Composite Primary Key"> <p> In some cases, you may want to define a composite primary key, rather than a simple primary key. A composite primary key must correspond to two or more persistent fields or properties. The EJB3 cartridge allow the creation of a composite primary key class to satisfy this requirement. </p> <p> To map two or more attributes of an entity POJO as a property of a composite primary key, simply model the <![CDATA[<<Identifier>>]]> stereotype on the corresdponding attributes in the entity. The order of the primary keys is defined by the order of the attribute identifiers in the entity. </p> <p> The following example introduces a composite primary key for the Car entity. </p> <p> <img src="images/org/andromda/test/4/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> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/a/Car.java"><code>Car.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/CarPK.java"><code>CarPK.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/a/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/a/Person.java"><code>Person.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/a/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto4/a/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> </ul> </p> <p> The EJB3 cartridge represents a composite primary key as an embeddable class, implements <code>Serializable</code> and defines the <code>equals</code> and <code>hashCode</code> methods. The <code>CarPK</code> embeddable composite primary key class has the <code>@javax.persistence.Embeddable</code> annotation. The <code>CarEmbeddable</code> class contains the corresponding <code>@javax.persistence.EmbeddedId</code> annotation on the composite primary key getter. Notice how the <code>@javax.persistence.AttributeOverrides</code> annotation is used to map the primary key attributes to the relational database columns. </p> <p> The following example illustrates the effect of having a composite primary key on the inverse side of a relationship. What's important here is the <code>@javax.persistence.JoinColumns</code> annotation on <code>getOwner()</code> in <code>CarEmbeddable.java</code>. Because <code>Person</code> has a composite primary key, the foreign key on Many-To-One owning side has to know about this. </p> <p> <img src="images/org/andromda/test/4/b/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> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Car.java"><code>Car.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> <li class="impl"><a class="changed" href="src/org/andromda/test/howto4/b/Person.java"><code>Person.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/howto4/b/PersonPK.java"><code>PersonPK.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceBean.java"><code>RentalServiceBean.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceRemote.java"><code>RentalServiceRemote.java</code></a></li> <li class="gen"><a href="src/org/andromda/test/howto4/b/RentalServiceDelegate.java"><code>RentalServiceDelegate.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto4/b/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> </ul> </p> <p> Currently, the EJB3 cartridge will disable the findByPrimaryKey generic finder for an entity with a composite primary key. </p> </section> <section name="Next"> <p> As promised we'll learn how to model enumerations, click <a href="howto5.html">here</a>. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-02-06 04:22:14
|
User: vancek Date: 06/02/05 20:22:08 Added: andromda-ejb3/src/site/xdoc howto3.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto3.xml Index: howto3.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - HowTo Service</title> </properties> <body> <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. </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. </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. </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! </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 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> <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> <ul> <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/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> <li class="impl"><a href="src/org/andromda/test/howto3/a/Person.java"><code>Person.java</code></a></li> <li class="gen"><a class="changed" href="src/org/andromda/test/ServiceLocator.java"><code>ServiceLocator.java</code></a></li> <li class="gen"><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="impl"><a class="changed" href="src/org/andromda/test/howto3/a/RentalServiceBeanImpl.java"><code>RentalServiceBeanImpl.java</code></a></li> </ul> </p> <p> There are a few other things you can do with these services, these features will be presented in the sections ahead. </p> <p> The <code>RentalServiceBean.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>. 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> <a name="Session_Type"/> <subsection name="Session Type"> <p> By default, if a session bean does not have any instance attributes, then it is by definition a <code>Stateless</code> session bean since there are no attributes to maintain state between bean method invocations. </p> <p> If you model an <code>instance</code> scoped attribute on the bean, the EJB3 cartridge will declare this session bean as a <code>Stateful</code> session bean in the ejb-jar.xml deployment descriptor. </p> <p> If you wish, you can override this feature by modelling the <code>@andromda.service.type</code> tagged value on the session bean class. </p> </subsection> <a name="View_Interface"/> <subsection name="View Interfaces"> <p> By default, the EJB3 cartridge creates and registers a remote view interface which implies that the client view of the session bean is location-independent. In this case, the session bean and the client can exist in different JVMs on the same or different machines. </p> <p> To create a local view interface and register this with the container, you model the <code>@andromda.ejb.viewType</code> on the session bean operation or at the class level of the session bean. Your options are: <ul> <li>remote - This is the default and doesn't need to be specified</li> <li>local - Assigns to class/operation to the local view interface</li> <li>both - This class/operations are available via the local and remote interfaces</li> </ul> </p> </subsection> <a name="Transactions"/> <subsection name="Transactions"> <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 <a href="howto15.html">Transaction</a>. </p> </subsection> <a name="Security"/> <subsection name="Security"> <p> The EJB3 cartridge provides the ability to set security constraints to allow role based security when accessing and invoking session bean business operations. To find out more information, click on <a href="howto8.html">Security</a>. </p> </subsection> <a name="Resource_Injection"/> <subsection name="Resource Injections"> <p> To inject an environment entry resource value, model a service attribute with classifer 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. You must define a default value for these attributes in the model. Refer to <a href="howto11.html">Environment Entry Injections</a> for further information. </p> </subsection> <a name="Nullable_Parameter"/> <subsection name="Nullable Parameters"> <p> If you want an operation to have a parameter which is allowed to be <code>null</code> then simply assign the <![CDATA[<<Nullable>>]]> stereotype to that parameter. </p> </subsection> <a name="Session_Delegate"/> <subsection name="Session Delegate"> <p> As you saw in the example in this howto, a session bean delegate class is generated for every session bean. A client invokes the session bean's business methods via the delegate class, acting like a proxy via the service locator class. Both the service delegate and service locator classes are regenerated every time AndroMDA is run. </p> </subsection> <a name="Listener_Callback"/> <subsection name="Listener Callback"> <p> In some cases, setting up lifecycle event callbacks for the session bean can be quite useful. The EJB3 cartridge provides the facility to define these callback methods in the listener class. This class if NOT generate by default. To find out more information, click on <a href="howto14.html">Listener Callback</a>. </p> </subsection> <a name="Interceptors"/> <subsection name="Interceptors"> <p> You can intercept calls to session bean business method invocations via an interceptor class. By default, this class is NOT generated. To find out more information, click on <a href="howto13.html">Interceptors</a>. </p> </subsection> <a name="JNDI_Bindings"/> <subsection name="JNDI Bindings"> <p> The container will supply default JNDI bindings for the remote and local interface of the session bean. By default, JBoss will use <code>ejbName/local</code> and <code>ejbName/remote</code> for the local and remote interfaces, respectively. Other providers will do something similar. </p> <p> You can override the default JNDI bindings. To specify the JNDI name of the local interface bound to the session bean, model the <code>@andromda.service.jndi.local</code> tagged value on the session bean class. To specify the JNDI name of the remote interface bound to the session bean, model the <code>@andromda.service.jndi.remote</code> tagged value on the session bean class. </p> </subsection> <a name="Persistence_Context_Entity_Manager"/> <subsection name="Persistence Context Entity Manager"> <p> 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. </p> <p> Every session bean provides the facility to override the default persistence context annotation declaration by modelling the following tagged values on the session bean class: <ul> <li> <code>@andromda.service.persistence.context.unit.name</code> Override the unit name for the default persistence context. </li> <li> <code>@andromda.service.persistence.context.unit.type</code> Specifiy whether a trasaction scoped or extended scoped persistence context is required for the persistence context associated with the default entity manager. </li> </ul> </p> <p> To inject another persistence context, associated with a different entity manager, you need to model a new class with the <![CDATA[<<PersistenceContext>>]]> stereotype and draw a dependency from the session bean to the this new class. The entity manager attribute declaration will use the class name as the attribute name. To define the properties of the persistence context annotation, you need to model the above tagged values on this new class. </p> </subsection> <a name="EJB_Injections"/> <subsection name="EJB Injections"> <p> To inject another session bean into the current session bean, simply model a dependency from the source session bean (which will contain the <code>@javax.annotation.EJB</code> annotation) to the target session bean. </p> </subsection> <a name="JMS_Injections"/> <subsection name="JMS Injections"> <p> The EJB3 cartridge provides the facility to develop message driven beans. To find out more information, click on <a href="howto10.html">message driven beans</a>. </p> <p> Once you have modelled the MDB with <![CDATA[<<MessageDriven>>]]> stereotype, you can model a dependency from the source session bean to the MDB. This will render the appropriate <code>@javax.annotation.Resource</code> injections associated with JMS specific objects such as <code>QueueConnectionFactory</code>, <code>TopicConnectionFactory</code> and the <code>Destination</code> object. </p> </subsection> <a name="EJB_Timer_Service"/> <subsection name="EJB Timer Service"> <p> To setup a timeout callback and use the EJB Timer Service, just model the <![CDATA[<<Timeout>>]]> stereotype on a session bean operation. This will render the <code>@javax.ejb.Timeout</code> annotation on the operation. Every session bean injects <code>SessionContext</code> with the <code>@javax.annotation.Resource</code> annotation which allows registration of the timer with the EJB Timer Service. </p> </subsection> </section> <section name="Next"> <p> In the next section we'll learn about composite primary keys, click <a href="howto4.html">here</a> to continue. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-02-06 04:21:48
|
User: vancek Date: 06/02/05 20:21:42 Modified: andromda-ejb3/src/site/xdoc howto2.xml Log: added markers for quick lookup Revision Changes Path 1.2 +10 -5 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.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto2.xml 1 Feb 2006 08:33:35 -0000 1.1 +++ howto2.xml 6 Feb 2006 04:21:42 -0000 1.2 @@ -56,7 +56,7 @@ <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 class="changed" href="src/org/andromda/test/howto2/a/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto2/a/Person.java"><code>Person.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/a/Person.java"><code>Person.java</code></a></li> </ul> </p> <p> @@ -108,6 +108,7 @@ <li>Car.getPerson() : Person</li> </ul> </p> + <a name="Cascading"/> <subsection name="Cascading"> <p> You can set the cascade option on all association ends by modelling the @@ -138,10 +139,11 @@ <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 class="changed" href="src/org/andromda/test/howto2/b/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto2/b/Person.java"><code>Person.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/b/Person.java"><code>Person.java</code></a></li> </ul> </p> </subsection> + <a name="Fetch_Type"/> <subsection name="Fetch Type"> <p> The fetch type tagged value <code>@andromda.persistence.fetch.type</code> can be modelled on @@ -172,10 +174,11 @@ <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 class="changed" href="src/org/andromda/test/howto2/c/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto2/c/Person.java"><code>Person.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/c/Person.java"><code>Person.java</code></a></li> </ul> </p> </subsection> + <a name="Ordering_Collection_Valued_Association"/> <subsection name="Ordering Collection Valued Association"> <p> You can order the elements of a collection valued association by modelling the @@ -212,10 +215,11 @@ <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 class="changed" href="src/org/andromda/test/howto2/d/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto2/d/Person.java"><code>Person.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/d/Person.java"><code>Person.java</code></a></li> </ul> </p> </subsection> + <a name="Join_Table_Many_To_Many"/> <subsection name="Join Table for Many-To-Many Relationship"> <p> For a Many-To-Many association, the <code>@javax.persistence.JoinTable</code> annotation @@ -229,6 +233,7 @@ <code>@andromda.persistence.table</code> tagged value on the assocation. </p> </subsection> + <a name="Aggregation_Composition"/> <subsection name="Aggregation and Composition"> <p> To model the owning side of a One-To-One or Many-To-Many bidirectional relationship, you @@ -265,7 +270,7 @@ <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 class="changed" href="src/org/andromda/test/howto2/e/PersonEmbeddable.java"><code>PersonEmbeddable.java</code></a></li> - <li class="gen"><a href="src/org/andromda/test/howto2/e/Person.java"><code>Person.java</code></a></li> + <li class="impl"><a href="src/org/andromda/test/howto2/e/Person.java"><code>Person.java</code></a></li> </ul> </p> </subsection> |
From: Vance K. <va...@us...> - 2006-02-06 04:19:57
|
User: vancek Date: 06/02/05 20:19:50 Modified: andromda-ejb3/src/site/xdoc howto1.xml Log: explained entity operations further added entity listener callback doc Revision Changes Path 1.2 +39 -9 cartridges/andromda-ejb3/src/site/xdoc/howto1.xml Index: howto1.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto1.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- howto1.xml 1 Feb 2006 08:28:03 -0000 1.1 +++ howto1.xml 6 Feb 2006 04:19:50 -0000 1.2 @@ -60,8 +60,8 @@ </p> <p> <ul> - <li class="gen"><a href="src/org/andromda/test/howto1/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/a/Car.java"><code>Car.java</code></a></li> + <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/a/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/a/Car.java"><code>Car.java</code></a></li> </ul> </p> <p> @@ -75,14 +75,24 @@ <a href="../andromda-metafacades-uml/namespace.html">here</a> if you want to know more about the default namespace properties you can set. </p> + <a name="Entity_Operations"/> <subsection name="Entity Operations"> <p> You may also model operations on an entity, this will generate them as methods in the resulting - Java class. Operations can be classifier scoped (<code>static</code> in Java) where they will - be underlined in UML diagrams as shown below. Static operations will not be defined in the - embeddable superclass unlike other abstract methods. They will be defined in the inheriting - subclass. This has consequences when dealing with a multi-tier inheritance hierarchy. Refer - to the <a href="howto9.html">inheritance</a> howto for further information. + Java subclass. Operations can be classifier scoped (<code>static</code> in Java) where they will + be underlined in UML diagrams as shown below. + </p> + <p class="highlight"> + Operations will not be defined in the embeddable superclass. They will be defined in the + inheriting subclass. This has consequences when dealing with a multi-tier inheritance + hierarchy. Refer to the <a href="howto9.html">inheritance</a> howto for further information. + This also implis that operations are only added to the implementation class on the first + run of AndroMDA. Operations defined in the UML model must be manually added to the + implementation class afterwards. This shouldn't cause any issues as the developer would have + to define the operation implementation anyway to correspond to the abstract definition in + the embeddable superclass. The primary purpose for this strategy is to avoid having to + annotate the entity operation with <code>@javax.persistence.Transient</code> annotation + in both the embeddable superclass and the inheriting implementation class. </p> <p> <img src="images/org/andromda/test/1/b/uml.gif"/> @@ -107,6 +117,7 @@ uses the session facade pattern to contain business logic in session bean operations. </p> </subsection> + <a name="Entity_Relation_Table"/> <subsection name="Entity Relation Table"> <p> Your relational table's name which persists an entity is determined by default from the @@ -128,11 +139,12 @@ <p> <ul> <li class="gen"><a class="changed" href="src/org/andromda/test/howto1/c/CarEmbeddable.java"><code>CarEmbeddable.java</code></a></li> - <li class="impl"><a href="src/org/andromda/test/howto1/c/Car.java"><code>Car.java</code></a></li> + <li class="impl"><a class="changed" href="src/org/andromda/test/howto1/c/Car.java"><code>Car.java</code></a></li> </ul> </p> </subsection> - <subsection name="Primary Key - Identifiers"> + <a name="Primary_Key_Identifiers"/> + <subsection name="Primary Key - Identifier"> <p> To assign an entity's attribute as a primary key, you must assign the <![CDATA[<<Identifier>>]]> stereotype to it. If this identifier is not part of a composite primary key, then @@ -181,6 +193,7 @@ size sets the amount to increment by when allocating id numbers from the sequence generator. </p> </subsection> + <a name="Unique_Attributes"/> <subsection name="Unique Attributes"> <p> In case you want an entity's attribute to be unique for all instances of that entity's type you @@ -188,6 +201,7 @@ unique element in the <code>@javax.persistence.Column</code> annotation. </p> </subsection> + <a name="Attribute_Fetch_Type"/> <subsection name="Attribute Fetch Type"> <p> By default, the EJB3 cartridge and EJB 3.0 spec defines an attribute fetch type as eagerly @@ -196,6 +210,7 @@ normal circumstances, you do not need to specify this tag. </p> </subsection> + <a name="Transient_Attribute"/> <subsection name="Transient Attribute"> <p> To indicate an attribute as transient (not persisted by the persistence container), you @@ -203,6 +218,7 @@ <code>@javax.persistence.Transient</code> annotation to the attribute. </p> </subsection> + <a name="Version_Attribute"/> <subsection name="Version Attribute"> <p> To specify an attribute as a version attribute, where it becomes the optimistic lock value @@ -220,6 +236,7 @@ </ul> </p> </subsection> + <a name="Attribute_Multiplicity"/> <subsection name="Attribute Multiplicity"> <p> It's possible to configure the multiplicity of an entity's attribute, by setting it to @@ -251,6 +268,7 @@ specified by the user, these default values may differ from tool to tool. </p> </subsection> + <a name="Constant_Attribute"/> <subsection name="Constant Attributes"> <p> To define static constants within an entity POJO (constants that are not resource injections), @@ -275,6 +293,7 @@ </ul> </p> </subsection> + <a name="Nullable_Parameters"/> <subsection name="Nullable Parameters"> <p> If you want an operation to have a parameter which is allowed to be <code>null</code> then simply @@ -287,6 +306,7 @@ <code>parameterRequiredCheck</code> namespace property to have the <code>false</code> value. </p> </subsection> + <a name="LOB_CLOB_Attribute"/> <subsection name="LOB/CLOB Attributes"> <p> An attribute can be specified as either a BLOB or CLOB field. This is modelled by assigning @@ -334,6 +354,7 @@ sets the fetch type for the attribute to eagerly fetch. </p> </subsection> + <a name="Column_Specifics"/> <subsection name="Column Specifics"> <p> Here is an example of some of the tagged values available to model on @@ -374,6 +395,15 @@ <code>@andromda.persistence.column.definition</code> tag on the attribute. </p> </subsection> + <a name="Listener_Callback"/> + <subsection name="Listener Callback"> + <p> + In some cases, setting up lifecycle event callbacks for the entity beans can be quite + useful. The EJB3 cartridge provides the facility to define these callback methods + in the listener class. This class if NOT generate by default. To find out more information, + click on <a href="howto14.html">Listener Callback</a>. + </p> + </subsection> </section> <section name="Next"> <p> |
From: Vance K. <va...@us...> - 2006-02-06 04:17:29
|
User: vancek Date: 06/02/05 20:17:23 Added: andromda-ejb3/src/site/xdoc howto.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - HowTo</title> </properties> <body> <section name="Modeling example"> <p class="highlight"> If you want to know more about how to model your application using the <a href="http://java.sun.com/products/ejb/docs.html">EJB 3.0</a> cartridge with AndroMDA, you have arrived at the right place; step-by-step we will work through an example showing the cartridge's features. Read on for more information. </p> <p> The AndroMDA EJB3 cartridge focuses on the persistence and business tier only. The presentation tier can be handled in AndroMDA as well, but for that we recommend using the <a href="../andromda-bpm4struts-cartridge/index.html">Bpm4Struts</a> cartridge. </p> <p> In this how-to we will cover the following topics: <ul> <li> <a href="howto1.html">Entities</a> <ul> <li><a href="howto1.html#Entity_Operations">Entity Operations</a></li> <li><a href="howto1.html#Entity_Relation_Table">Entity Relation Table</a></li> <li><a href="howto1.html#Primary_Key_Identifiers">Primary Key Identifier</a></li> <li><a href="howto1.html#Unique_Attributes">Unique Attributes</a></li> <li><a href="howto1.html#Attribute_Fetch_Type">Attribute Fetch Type</a></li> <li><a href="howto1.html#Transient_Attribute">Transient Attribute</a></li> <li><a href="howto1.html#Version_Attribute">Version Attribute</a></li> <li><a href="howto1.html#Attribute_Multiplicity">Attribute Multiplicity</a></li> <li><a href="howto1.html#Constant_Attribute">Constant Attribute</a></li> <li><a href="howto1.html#Nullable_Parameters">Nullable Parameters</a></li> <li><a href="howto1.html#LOB_CLOB_Attribute">LOB/CLOB Attributes</a></li> <li><a href="howto1.html#Column_Specifics">Column Specifics</a></li> <li><a href="howto1.html#Listener_Callback">Listener Callback</a></li> </ul> </li> <li> <a href="howto2.html">Relationships</a> <ul> <li><a href="howto2.html#Cascading">Cascading</a></li> <li><a href="howto2.html#Fetch_Type">Fetch Type</a></li> <li><a href="howto2.html#Ordering_Collection_Valued_Association">Ordering Collection Valued Association</a></li> <li><a href="howto2.html#Join_Table_Many_To_Many">Join Table for Many-To-Many Relationship</a></li> <li><a href="howto2.html#Aggregation_Composition">Aggregation and Composition</a></li> </ul> </li> <li> <a href="howto3.html">Services</a> <ul> <li><a href="howto3.html#Session_Type">Session Type</a></li> <li><a href="howto3.html#View_Interface">View Interfaces</a></li> <li><a href="howto3.html#Transactions">Transactions</a></li> <li><a href="howto3.html#Security">Security</a></li> <li><a href="howto3.html#Resource_Injection">Resource Injections</a></li> <li><a href="howto3.html#Nullable_Parameter">Nullable Parameters</a></li> <li><a href="howto3.html#Session_Delegate">Session Delegate</a></li> <li><a href="howto3.html#Listener_Callback">Listener Callback</a></li> <li><a href="howto3.html#Interceptors">Interceptors</a></li> <li><a href="howto3.html#JNDI_Bindings">JNDI Bindings</a></li> <li><a href="howto3.html#Persistence_Context_Entity_Manager">Persistence Context Entity Manager</a></li> <li><a href="howto3.html#EJB_Injections">EJB Injections</a></li> <li><a href="howto3.html#JMS_Injections">JMS Injections</a></li> <li><a href="howto3.html#EJB_Timer_Service">EJB Timer Service</a></li> </ul> </li> <li><a href="howto4.html">Composite Primary Key</a></li> <li><a href="howto5.html">Non-Persistent Enumerations</a></li> <li><a href="howto6.html">OCL to Query generator (finder methods)</a></li> <li><a href="howto7.html">Exception Handling</a></li> <li><a href="howto8.html">Security</a></li> </ul> </p> <p> You can download the UML model containing all models for all sections <a href="resources/HowToModel.xml.zip">here</a>. </p> <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-02-06 04:16:38
|
User: vancek Date: 06/02/05 20:16:31 Added: andromda-ejb3/src/site/xdoc index.xml Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/xdoc/index.xml Index: index.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB - Introduction</title> </properties> <body> <section name="AndroMDA EJB Cartridge"> <p> The purpose of this cartridge is to generate an CMP Entity EJB persistence tier, fronted by Session EJB business object facades. To learn how to use this cartridge, please see the <a href="profile.html">Profile</a> and <a href="namespace.html">Namespace</a> sections. </p> <p> If you're using MagicDraw as your modeling tool, it is recommended to use the andromda-profile.zip to get an idea about Stereotypes or tagged values to use. </p> </section> </body> </document> |
From: Vance K. <va...@us...> - 2006-02-06 04:16:01
|
User: vancek Date: 06/02/05 20:15:54 Modified: andromda-ejb3/src/site site.xml Log: added transaction menu item Revision Changes Path 1.2 +1 -0 cartridges/andromda-ejb3/src/site/site.xml Index: site.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/site.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- site.xml 1 Feb 2006 08:33:49 -0000 1.1 +++ site.xml 6 Feb 2006 04:15:54 -0000 1.2 @@ -31,6 +31,7 @@ <item name="Service Delegates" href="howto12.html"/> <item name="Interceptors" href="howto13.html"/> <item name="Listener Callback" href="howto14.html"/> + <item name="Transactions" href="howto15.html"/> <item name="Tips & Tricks" href="tips.html"/> </menu> </body> |
From: Vance K. <va...@us...> - 2006-02-06 04:14:26
|
User: vancek Date: 06/02/05 20:14:19 Added: andromda-ejb3/src/site/resources/images/org/andromda/test/2/a uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/e uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/4/a uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/2/e uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/2/c uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/a uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/d uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/h uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/b uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/f uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/4/b uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/c uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/2/b uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/3/a uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/2/d uml.gif andromda-ejb3/src/site/resources/images/org/andromda/test/1/g uml.gif Log: initial revision Revision Changes Path 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/e/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/4/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/e/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/c/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/d/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/h/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/b/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/f/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/4/b/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/c/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/b/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/3/a/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/d/uml.gif <<Binary file>> 1.1 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/1/g/uml.gif <<Binary file>> |
From: Vance K. <va...@us...> - 2006-02-06 04:14:12
|
User: vancek Date: 06/02/05 20:13:59 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/2/e - New directory |
From: Vance K. <va...@us...> - 2006-02-06 04:14:11
|
User: vancek Date: 06/02/05 20:13:59 cartridges/andromda-ejb3/src/site/resources/images/org/andromda/test/3 - New directory |