From: Vance K. <va...@us...> - 2006-06-28 02:58:40
|
User: vancek Date: 06/06/27 19:58:35 Modified: andromda-ejb3/src/site/xdoc howto.xml howto20.xml andromda-ejb3/src/site site.xml andromda-ejb3/src/site/fml faq.fml Log: update docs Revision Changes Path 1.21 +6 -1 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -u -w -r1.20 -r1.21 --- howto.xml 26 Jun 2006 06:53:32 -0000 1.20 +++ howto.xml 28 Jun 2006 02:58:35 -0000 1.21 @@ -242,7 +242,12 @@ </p> </li> <li> - <p><a href="howto20.html">Embeddable Value Objects</a></p> + <p> + <a href="howto20.html">Embeddable Value Objects</a> + <ul> + <li><p><a href="howto20.html#Helpful_Hints">Helpful Hints</a></p></li> + </ul> + </p> </li> </ul> </p> 1.4 +26 -8 cartridges/andromda-ejb3/src/site/xdoc/howto20.xml Index: howto20.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto20.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- howto20.xml 29 May 2006 01:53:36 -0000 1.3 +++ howto20.xml 28 Jun 2006 02:58:35 -0000 1.4 @@ -44,18 +44,36 @@ </ul> </p> <p> - The cartridge provides basic support for embeddable value objects. Currently, no - mapping annotations on properties of the embeddable value object are generated. This can easily - be supported by modification to the <code>EJB3EmbeddedValueFacade</code> and corresponding - <code>EmbeddedValue.vsl</code> template. + You can model basic features on your embeddable class attributes and these will be reflected in the + generated embeddable value object. These features are much the same as described in the + <a href="howto1.html">howto for entities</a>. The following is a brief list of annotations + and some properties that are available on embeddable attributes. + <ul> + <li><p>@Transient</p></li> + <li><p>@Version</p></li> + <li><p>@Lob with @Basic settings to fetch type</p></li> + <li><p>@Column with properties unique, nullable, insertable, updatable, length, columnDefinition, precision and scale</p></li> + <li><p>@Temporal</p></li> + <li><p>@Enumerated</p></li> + </ul> </p> <a name="Helpful_Hints"/> <subsection name="Helpful Hints"> <p> - Even though the EJB3 cartridge generates an implementation source file extending the - auto generated embedded value object, the implementation is currently not used. Future - version of the EJB3 cartridge will make use of the persistence ORM mapping file and will - fix this issue. + The EJB3 cartridge now uses the persistence ORM mapping file <b>orm.xml</b> to declare the + embeddable class metadata. This means that the <code>@Embeddable</code> annotation is no longer + rendered in the base or implementation for the embeddable object. + The ORM mapping file defines the embeddable implementation, which extends the abstract embeddable + base object, as the embeddable class. + </p> + <p> + This has been adopted so that you can have an implementation for embeddable value object operations + or any other aspect requiring manual implementation, without having to be concerned with code + regeneration over-writing your implementation. This could not be achieved with pure annotations. + </p> + <p> + The cartridge now support having multiple attributes having the same embeddable value object type + within a single entity. There is limited support for associations between embeddable value objects. </p> </subsection> </section> 1.16 +4 -2 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.15 retrieving revision 1.16 diff -u -w -r1.15 -r1.16 --- site.xml 17 Jun 2006 12:02:21 -0000 1.15 +++ site.xml 28 Jun 2006 02:58:35 -0000 1.16 @@ -12,8 +12,8 @@ <body> <links> <item name="EJB3" href="index.html"/> - <item name="Cartridges" href="../andromda-cartridges/index.html"/> - <item name="AndroMDA" href="../index.html"/> + <item name="Cartridges" href="http://galaxy.andromda.org/docs/andromda-cartridges/index.html"/> + <item name="AndroMDA" href="http://www.andromda.org"/> </links> <menu name="Overview"> <item name="About EJB3 Cartridge" href="index.html"/> @@ -49,7 +49,9 @@ </menu> <menu name="Support"> <item name="FAQ" href="faq.html"/> + <item name="Change Report" href="changes-report.html"/> <item name="EJB Forum" href="http://galaxy.andromda.org/forum/viewforum.php?f=17"/> + <item name="JIRA EJB" href="http://galaxy.andromda.org/jira/browse/EJB"/> </menu> ${reports} </body> 1.2 +22 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- faq.fml 17 Jun 2006 12:02:21 -0000 1.1 +++ faq.fml 28 Jun 2006 02:58:35 -0000 1.2 @@ -40,5 +40,27 @@ </p> </answer> </faq> + <faq id="use_of_orm.xml"> + <question>How does an EJB 3.0 project define meta information?</question> + <answer> + <p> + The cartridge now uses a combination of annotations and orm.xml deployment descriptor to define + meta mapping information. The orm.xml will override or even replace certain annotations and allows + you to maintain full control by separating generated code and your implementation code. + </p> + </answer> + </faq> + <faq id="how_to_stay_up_to_date"> + <question>How can I stay up to date with the changes to the EJB3 cartridge?</question> + <answer> + <p> + The first thing you should do is register with the AndroMDA forums and select the forums you want to + keep your eye on to receive emails of posts. + </p> + <p> + Regularly read the updates in the <a href="changes-report.html">changes report</a>. + </p> + </answer> + </faq> </part> </faqs> |
From: Vance K. <va...@us...> - 2006-07-01 03:07:41
|
User: vancek Date: 06/06/30 20:07:39 Modified: andromda-ejb3/src/site/xdoc howto.xml howto20.xml andromda-ejb3/src/site site.xml andromda-ejb3/src/site/fml faq.fml Added: andromda-ejb3/src/site/xdoc howto21.xml Log: basic simple docs Revision Changes Path 1.22 +10 -0 cartridges/andromda-ejb3/src/site/xdoc/howto.xml Index: howto.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto.xml,v retrieving revision 1.21 retrieving revision 1.22 diff -u -w -r1.21 -r1.22 --- howto.xml 28 Jun 2006 02:58:35 -0000 1.21 +++ howto.xml 1 Jul 2006 03:07:39 -0000 1.22 @@ -249,6 +249,16 @@ </ul> </p> </li> + <li> + <p> + <a href="howto21.html">JBoss Seam</a> + <ul> + <li><p><a href="howto21.html#Seam_Roadmap">Seam Roadmap</a></p></li> + <li><p><a href="howto21.html#Project_Generator">Project Generator</a></p></li> + <li><p><a href="howto21.html#Seam_Profile">EJB3 Seam Profile</a></p></li> + </ul> + </p> + </li> </ul> </p> <p> 1.6 +6 -0 cartridges/andromda-ejb3/src/site/xdoc/howto20.xml Index: howto20.xml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/xdoc/howto20.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -w -r1.5 -r1.6 --- howto20.xml 28 Jun 2006 04:54:09 -0000 1.5 +++ howto20.xml 1 Jul 2006 03:07:39 -0000 1.6 @@ -79,5 +79,11 @@ </p> </subsection> </section> + <section name="Next"> + <p> + For JBoss Seam integration with your EJB 3.0 project, click + <a href="howto21.html">here</a> to continue. + </p> + </section> </body> </document> 1.1 cartridges/andromda-ejb3/src/site/xdoc/howto21.xml Index: howto21.xml =================================================================== <?xml version="1.0" encoding="iso-8859-1"?> <document> <properties> <author email="va...@us...">Vance Karimi</author> <title>AndroMDA - EJB3 - JBoss Seam Integration</title> </properties> <body> <section name="JBoss Seam Integration"> <p> The EJB3 cartridge now has the ability to enable your EJB 3.0 components as Seam components. This latest addition is work in progress. </p> <p> Here is the initial roadmap for JBoss Seam integration from the forum </p> <a name="Seam_Roadmap"/> <subsection name="Seam Roadmap"> <p> 1. Have a new profile called andromda-profile-seam, as part of the andromdaplugins project containing all stereotypes and tagged values pertaining to seam components. Projects need to download and build the artifact and manually load the profile module within their UML model. </p> <p> 2. Every entity or session bean which is to be modelled as a Seam component should have an extra <![CDATA[<<Seam>>]]> stereotype. </p> <p> 3. #2 will render the @Name stereotype with the value taken as the class name. Should provide <code>@andromda.seam.component.name</code> tagged value to override this. </p> <p> 4. Provide <code>@andromda.seam.component.scope</code> with enumerated values to set the scope if required, otherwise use defaults. </p> <p> 5. @NotNull on getters is rendered based on attribute multiplicity. </p> <p> 6. @Length annotation's max property is taken from <code>@andromda.persistence.column.length</code> tagged value. To specify a min length, set the tagged value to x,y where x is min, y is max. Need to account for this in the facade logic impl. </p> <p> 7. @In and @Out annotations for bijection are rendered on attributes defined on session bean class where <![CDATA[<<In>>]]> and <![CDATA[<<Out>>]]> stereotypes are modelled respectively. If attribute multiplicity is 0, 0..1, 0..*, define require property in both annotations. If attribute multiplicity is 1, 1..* define create property on @In. </p> <p> 8. @Create annotation rendered on session bean operation if a <![CDATA[<<Create>>]]> stereotype is modelled on it. </p> <p> 9. @Destroy annotation is rendered on a session bean operation if a <![CDATA[<<Destroy>>]]> stereotype is modelled on it. </p> <p> 10. Provide tag <code>@andromda.seam.validation.invalid.outcome</code> with enumerated list of values to be set on session bean operations (to render @IfInvalid) such that Hibernate Validator can validate component state before invoking action listener session bean operation (for components with @Valid annotations). <code>@andromda.seam.validation.invalid.refreshEntities</code> can be set to true or false and if defined, adds the refreshEntities property to the annotation. </p> <p> 11. <![CDATA[<<Valid>>]]> stereotype can be modelled on session bean attributes to render @Valid annotation for validation (see #10). </p> <p> 12. Modify andromdapp project generator to ask a further question: Would you like to use the JBoss Seam application framework? Only if persistence engine is ejb3, a web interface is required and interface type is JSF. This will add the jboss-seam artifact as dependency to necessary poms and include it in the ear for deployment. Perhaps include a property called seamEnabled in the andromda.xml application descriptor in the default namespace. </p> <p> 13. If seamEnabled (# 12), ejb-jar.xml contains necessary interceptor binding and application.xml contains the jboss-seam.jar java module definition. </p> <p> 14. As soon as you introduce session bean attributes, the cartridge assumes the bean is a stateful session bean. One solution would be to remove this default so that the only way to specify a session bean as a sfsb is via tagged value <code>@andromda.service.type</code>. </p> <p> 15. Stereotype <![CDATA[<<DataModel>>]]> can be modelled on attributes (of type java.util.List - but I don't think this can be enforced). This will render @DataModel on the attribute. An optional tagged value <code>@andromda.seam.datatable.datamodel.name</code> can be modelled on such attributes to defined the context variable name if more than 1 datamodel exists. </p> <p> 16. Stereotype <![CDATA[<<DataModelSelection>>]]> can be modelled on attributes to inject the selected value from the DataModel into this attribute. This will render @DataModelSelection on the attribute. An optional tagged value <code>@andromda.seam.datatable.datamodel.selection.name</code> can define the name of the context variable defined by the appropriate @DataModel. </p> <p> 17. Stereotype <![CDATA[<<Factory>>]]> can be modelled on session bean component operations with <code>@andromda.seam.component.factory.context.name</code> which is modelled on the operation to set the context variable name. </p> <p> 18. Stereotype <![CDATA[<<RequestParameter>>]]> can be modelled on session bean component attribute to indicate an attribute is to be injected with the value of a request parameter. Optional tagged value <![CDATA[@andromda.seam.component.requestParameter.name]]> will define the request parameter name. </p> <p> 19. Tagged value <code>@andromda.seam.transaction.rollback.outcome</code> on session bean component operation, can have multiple values to indicate that transaction set for rollback on the specified outcomes. </p> <p> 20. Not sure if we really need to touch the Java cartridge. If we can add a new stereotype to define a class/metafacade as a JavaBean in the EJB3 cartridge and apply the Seam component model to it, it would avoid bloating the 'simple' Java cartridge. </p> <p> 21. Tagged value <code>@andromda.seam.component.conversational.ifNotBegunOutcome</code> if set will render the ifNotBegunOutcome property of the @Conversational annotation to indicate the JSF outcome for the action if no long-running conversation is active when the component is invoked. </p> <p> 22. Stereotype <![CDATA[<<Begin>>]]> can be modelled on session bean component operations to indicate a long-running conversation started, which will render a @Begin annotation on the operation. Should define extra tagged values for ifOutcome, join, nested and pageflow properties of @Begin annotation. </p> <p> 23. Stereotype <![CDATA[<<End>>]]> can be modelled on session bean component operations to indicate the end of a long running conversation. Define tagged values for ifOutcome and evenIfException properties. </p> <p> 24. Define similar stereotypes/tags for jBPM tasks/processes. </p> <p> 25. Stereotype <![CDATA[<<Unwrap>>]]> modelled on attributes but is rendered on getter method of beans. </p> <p> 26. Everything needs to have XDOC documentation. </p> </subsection> <a name="Project_Generator"/> <subsection name="Project Generator"> <p> The AndroMDApp project generator from <code>3.2-SNAPSHOT</code> in CVS onwards supports JBoss Seam for EJB3 and JSF for web project only. As long as you select these components, all the necessary JBoss Seam properties will be enabled in your project. </p> </subsection> <a name="Seam_Profile"/> <subsection name="EJB3 Seam Profile"> <p> There exists a separate Seam profile that needs to be imported into your project. This profile contains the Seam specific tags and stereotypes you need to model on your components. You can download the profile project <a href="andromda-profiles-seam-1.0-SNAPSHOT.zip">here</a>. </p> </subsection> </section> </body> </document> 1.17 +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.16 retrieving revision 1.17 diff -u -w -r1.16 -r1.17 --- site.xml 28 Jun 2006 02:58:35 -0000 1.16 +++ site.xml 1 Jul 2006 03:07:39 -0000 1.17 @@ -45,6 +45,7 @@ <item name="Caching and Clustering" href="howto17.html"/> <item name="Webservices" href="howto18.html"/> <item name="Embeddable Value Objects" href="howto20.html"/> + <item name="JBoss Seam" href="howto21.html"/> <item name="Tips & Tricks" href="tips.html"/> </menu> <menu name="Support"> 1.3 +3 -2 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -w -r1.2 -r1.3 --- faq.fml 28 Jun 2006 02:58:35 -0000 1.2 +++ faq.fml 1 Jul 2006 03:07:39 -0000 1.3 @@ -24,8 +24,9 @@ <question>Is JBoss Seam going to be supported?</question> <answer> <p> - That is definitely in the pipeworks. There is some initial support in the cartridge in CVS, but no - documentation as yet. Stay tuned and keep your eye on the EJB cartridge forum. + That is definitely in the pipeworks. There is some initial support in the cartridge in CVS, and + some minimal documentation <a href="howto21.html">here</a>. + Stay tuned and keep your eye on the EJB cartridge forum. </p> </answer> </faq> |
From: Vance K. <va...@us...> - 2006-08-11 05:51:08
|
User: vancek Date: 06/08/10 22:51:08 Modified: andromda-ejb3/src/site/fml faq.fml Log: add ear rename faq Revision Changes Path 1.4 +29 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -w -r1.3 -r1.4 --- faq.fml 1 Jul 2006 03:07:39 -0000 1.3 +++ faq.fml 11 Aug 2006 05:51:08 -0000 1.4 @@ -63,5 +63,34 @@ </p> </answer> </faq> + <faq id="how_to_rename_ear"> + <question>How can I rename the EAR file?</question> + <answer> + <p> + In more complex circumstances, you may want to rename your EAR. For JBoss AS, you may have + the prefix sorter deployer enabled, in which case you want to prefix a non-negative digit to the EAR. + There are a couple of pitfals you need to know about to get this working. + </p> + <p> + In your top-level POM, in the properties section, create an entry to hold the prefix, if you required + a prefix. You could name it <b>application.deploy.prefix</b>. + </p> + <p> + In your app folder POM, modify the <code>finalName</code> element under the <code>build</code> + element to reflect the prefix above. It would read + <code>${application.deploy.prefix}${application.id}-${pom.version}</code> + </p> + <p> + You must also modify the <code>targetPath</code> element in the <code>resource</code> section corresponding + to the <b>src/main/application</b> <code>directory</code> element. This would read + <code>../${application.deploy.prefix}${application.id}-${pom.version}</code> + </p> + <p> + Finally, make sure you rename the <code>jndiNamePrefix</code> property in the ejb3 namespace of your + andromda.xml application descriptor to reflect this change. The <code>jndiNamePrefix</code> would read + <code>${application.deploy.prefix}${application.id}-${pom.version}</code>. + </p> + </answer> + </faq> </part> </faqs> |
From: Vance K. <va...@us...> - 2007-02-05 13:14:52
|
User: vancek Date: 07/02/05 05:14:51 Modified: andromda-ejb3/src/site/fml faq.fml Log: add MalformedURLException faq Revision Changes Path 1.5 +16 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -w -r1.4 -r1.5 --- faq.fml 11 Aug 2006 05:51:08 -0000 1.4 +++ faq.fml 5 Feb 2007 13:14:51 -0000 1.5 @@ -92,5 +92,21 @@ </p> </answer> </faq> + <faq id="MalformedURLException_with_Tests"> + <question>I am getting "java.net.MalformedURLException: no protocol: and" when running the test!</question> + <answer> + <p> + This is a class loader issue where somewhere in the JBoss Microcontainer, the URL referencing your + Maven 2 repository is not encoded and you have spaces in this URL. This is particularly the case + if you are running under a Windows OS platform and your default Maven 2 repository is + C:\Documents and Settings\username\.m2\repository. The problem is the space in the URL! + </p> + <p> + You need to move your repository to a location on your filesystem without spaces and update/add + the <i>settings.xml</i> in your .m2 folder to set the <i>localRepository</i> element to + this new location. Here is the <a href="http://maven.apache.org/settings.html">Maven settings guide</a>. + </p> + </answer> + </faq> </part> </faqs> |
From: Vance K. <va...@us...> - 2007-02-12 02:37:32
|
User: vancek Date: 07/02/11 18:37:31 Modified: andromda-ejb3/src/site/fml faq.fml Log: add schema creation failure faq Revision Changes Path 1.7 +13 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -w -r1.6 -r1.7 --- faq.fml 12 Feb 2007 02:13:16 -0000 1.6 +++ faq.fml 12 Feb 2007 02:37:31 -0000 1.7 @@ -123,5 +123,18 @@ </p> </answer> </faq> + <faq id="Cannot_create_schema_with_andromdapp_schema"> + <question>Problems creating schema using "mvn -e -f core/pom.xml andromdapp:schema -Dtasks=create"</question> + <answer> + <p> + Once you deploy your ear package to the application server, all necessary schemas will be created + for you based on the <b>hibernate.hbm2ddl.auto</b> property in your application's <i>persistence.xml</i> + configuration. + </p> + <p> + Have a look at <a href="http://galaxy.andromda.org/forum/viewtopic.php?t=3083">forum reference</a>. + </p> + </answer> + </faq> </part> </faqs> |
From: Walter M. <wal...@us...> - 2007-07-02 14:25:11
|
User: walterim Date: 07/07/02 07:25:13 Modified: andromda-ejb3/src/site/fml faq.fml Log: FAQ update about ejb3+Manageable Entities Revision Changes Path 1.8 +8 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -w -r1.7 -r1.8 --- faq.fml 12 Feb 2007 02:37:31 -0000 1.7 +++ faq.fml 2 Jul 2007 14:25:12 -0000 1.8 @@ -136,5 +136,13 @@ </p> </answer> </faq> + <faq id="JSF_manageable_entities"> + <question>Does ejb3 cartridge support Manageable Entities ?</question> + <answer> + <p> + Yes. The ejb3 cartidge can be used with the JSF2 cartridge to get full support to Manageable Entities. + </p> + </answer> + </faq> </part> </faqs> |
From: Vance K. <va...@us...> - 2007-08-21 14:48:37
|
User: vancek Date: 07/08/21 07:48:38 Modified: andromda-ejb3/src/site/fml faq.fml Log: add faq to access session beans from JSF using the ServiceLocator Revision Changes Path 1.10 +18 -0 cartridges/andromda-ejb3/src/site/fml/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/andromdaplugins/cartridges/andromda-ejb3/src/site/fml/faq.fml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -w -r1.9 -r1.10 --- faq.fml 21 Aug 2007 14:27:09 -0000 1.9 +++ faq.fml 21 Aug 2007 14:48:38 -0000 1.10 @@ -154,5 +154,23 @@ </p> </answer> </faq> + <faq id="JSF_ServiceLocator_pattern"> + <question>How do I access SessionBeans from JSF using the ServiceLocator?</question> + <answer> + <p> + Use the following properties in <i>andromda.xml</i>. + namespace "ejb3": + <code><property name="jndiNamePrefix">${application.id}-${pom.version}</property></code> + <code><property name="serviceInterfaceNamePattern">{0}Interface</property></code> + <code><property name="serviceRemoteInterfaceNamePattern">{0}</property></code> + + namespace "jsf": + <code><property name="serviceAccessorPattern">(${application.package}.service.{1}) ${application.package}.ServiceLocator.getInstance().getService("${application.id}-${pom.version}/{1}")</property></code> + </p> + <p> + Have a look at <a href="http://galaxy.andromda.org/forum/viewtopic.php?p=23142">forum reference</a>. + </p> + </answer> + </faq> </part> </faqs> |