Release History

Version Date Description
3.3-SNAPSHOT 2006-11-02 First release candidate of version 3.3
3.2 2006-11-02 Version 3.2 final
3.1 2005-11-10 Version 3.1 final
3.1-RC1 2005-06-19 First milestone release of version 3.1
3.0 2005-05-08 Version 3.0 final
3.0-RC2 2005-04-25 Second release candidate for version 3.0
3.0-RC1 2005-03-27 First release candidate for version 3.0
3.0M3 2004-12-26 A stable development release for version 3, milestone 3
3.0M2 2004-08-09 A stable development release for version 3, milestone 2

Get the RSS feed of the last changes

Release 3.3-SNAPSHOT - 2006-11-02

Type Changes By

Release 3.2 - 2006-11-02

Type Changes By
add The Hibernate cartridge now supports distributed entity caching with ehCache 1.2. Fixes HIB-192. freter
add The projct generator now supports a shortText property on prompt items to allow for better looking graphical UIs. The J2EE and Spring RCP project cartridge have been adjusted accordingly. Fixes ANDROMDAPP-16. freter
fix The hibernate cartridge did not properly support lists on many2many association ends, this has been fixed thanks to a patch from Paul Pavlidis. Fixes HIB-170. draftdog
update The generated enumerations now supports Java generics when enableTemplating has been set to true . Thanks to a patch from Jens Vagts. Fixes JAVA-27. draftdog
update Initializing collections is now taking into account Java generics when enableTemplating has been set to true . Thanks to a patch from Jens Vagts. Fixes HIB-162. draftdog
fix When using manageable entities it could happen that a server-side SQL exception is thrown due to an invalid HSQL query. This was due to a missing check when passing in an array: the array was tested for null but not for array.length == 0 . This has been resolved. Fixes SPRING-147. draftdog
fix The hibernate byte Blob type has new nullSafeGet and nullSafeSet method implementations, thanks to a patch from Darius Schier. Fixes HIB-166. draftdog
update Pluralization of English words has been updated to more correctly determine the proper plural. This means that those users using words other than the ones that are being tested might see different accessor names on their beans, it might result in compilation failures due to files in version control but merely updating those files to reflect the new name will do the trick. Fixes UMLMETA-66. draftdog
fix Several fixes have been applied to the CRUD implementation in the Spring cartridge. These fixes will be apparent when using CRUD on entities which extend other entities. draftdog
add The Spring cartridge has a new optional outlet value-objects , used to emit CRUD value objects to, that way you can have them generated separately into a common component. draftdog
add The Hibernate cartridge's namespace has two new outlets: entity-mappings and user-types . The .hbm.xml files will be emitted to the former while the latter will be used for Hibernate enumeration user-types and the String Clob and Blob types. This will allow you to have your POJOs generated into a dedicated location such as common/target/src . The andromdapp:generate plugin has been updated to have both outlets point to the generated code of the core component. draftdog
add Spring service interfaces and default service exceptions are now emitted to a dedicated outlet called service-interfaces . Make sure to update your andromda.xml , the proper value for this namespace property is the generated source code directory for the 'common' component, if you have generated your project using andromdapp:generate this is ${common.generated.dir} . draftdog
add Services and entities now are allowed to realize interfaces. Any interfaces generalized by other interfaces won't be taken into account. Fixes UMLMETA-62. draftdog
update org::andromda::metafacades::uml::ClassifierFacade::associationEnds has been changed to {ordered} in order to match org::andromda::metafacades::uml::AssociationFacade::associationEnds so that the generated methods org.andromda.metafacades.uml.ClassifierFacade#getAssociationEnds() and org.andromda.metafacades.uml.AssociationFacade#getAssociationEnds() have the same signature (List return type instead of Collection). If you have written your own cartridge then you'll have to regenerate it. If one of your metafacades overrides org::andromda::metafacades::uml::ClassifierFacade::associationEnds then you'll have to change #getAssociationEnds() 's return type to java.util.List . Patch from Cédric Vidal. Fixes UMLMETA-61. cwbrandon
add org.andromda.metafacades.uml.AssociationClassFacade now extends both org.andromda.metafacades.uml.ClassifierFacade and org.andromda.metafacades.uml.AssociationFacade . The property associationClass : boolean has also been added to ClassifierFacade and AssociationFacade so that templates and other metafacades can act accordingly. Note that in order for the association classes in your model to be recognized by AndroMDA as such, you must use a UML editor that exports UML:AssociationClass in a XMI 1.1 compliant way. MagicDraw 9.x is not compliant in that respect but, there is an XSLT stylesheet that normalizes MagicDraw 9.x models into a UML:AssociationClass XMI 1.1 compliant file. It's available under JIRA issue UMLMETA-28. You can tell AndroMDA to apply that XSLT before processing in the configuration using transformations. Patch from Cédric Vidal. Fixes UMLMETA-61. cwbrandon
add The hibernate entity factories now have additional constructors making it easier to construct them using a single call. draftdog
add Value objects will now have extra constructors making it easier to properly populate them, there will a c onstructor taking all properties (including the inherited ones), and a constructor taking only those properties that are required and/or read-only. draftdog
add A new namespace property has been introduced: columnNamePrefix . It allows you to have all column names prefixed with a certain character sequence. draftdog
add Manageable entities now support generalization (inheritance). draftdog
add Value objects that have 'frozen' attributes or associations will no longer have a setter method generated for these features. draftdog
add Using the enableTemplating namespace property it is now possible to enable templating (i.e. generics in Java). A class or datatype with template parameters will have them rendered in their fully qualified name if this property is set to true . In addition the Hibernate cartridge also supports strongly typed associations, instead of just return a java.util.Collection the cartridge will now return java.util.Collection < MyType > . Fixes UMLMETA-58. draftdog

Release 3.1 - 2005-11-10

Type Changes By
update The UMLMetafacadeModel-<version>.xml.zip has been renamed to andromda-metafacades-uml-<version>.xml.zip . This requires that you update any cartridge models that point to the old file name by doing a search and replace in your XMI cwbrandon
fix The generated Java doc information for the generic facades as well as the cartridge facades is now correctly presenting the interfaces instead of the implementation classes, in doing so the documentation available in the respective meta-models is present. Fixes SITE-30. draftdog
add The Spring cartridge now supports generating bean configuration for beans that do already exist (e.g. in a third-party library). Fixes SPRING-112. freter
update In order for the presentation metafacades to be made generic enough for use within other frameworks (such as JSF), the following additional tagged values have been renamed:
Old Name New Name
@andromda.struts.action.success.message @andromda.presentation.action.success.message
@andromda.struts.action.warning.message @andromda.presentation.action.warning.message
@andromda.struts.view.field.required @andromda.presentation.view.field.required
@andromda.presentation.web.view.field.readonly @andromda.presentation.view.field.readonly
@andromda.struts.view.field.format @andromda.presentation.view.field.format
@andromda.struts.view.field.multibox @andromda.presentation.view.field.multibox
@andromda.struts. view.field.radio @andromda.presentation.view.field.radio
@andromda.struts.view.field.validwhen @andromda.presentation.web.view.field.validwhen
@andromda.struts.view.field.validators @andromda.presentation.web.view.field.validators
@andromda.struts.view.field.reset @andromda.struts.view.field.reset
@andromda.struts.view.table.maxrows @andromda.struts.view.table.maxrows
@andromda.struts.view.table.export @andromda.presentation.view.table.export
@andromda.struts.view.table.sortable @andromda.presentation.view.table.sortable
@andromda.struts.exception.type @andromda.presentation.exception.type
If you're using Magic Draw, the only thing you'll need to do is open your model and touch it (i.e. make a small change so its ready to be saved), and save it. If you're using another modeling tool that won't work with the andromda-profile, the best way to upgrade your model is to just open up the XMI and do a search and replace from the old to new values.
cwbrandon
fix Fixed a bug in the code generation for RMI remoting. Fixes SPRING-106. freter
update Slight change to the applicationContext.xml file. It will no w be rendered more compact, resulting in a more readable XML outline in your favorite XML editor. Fixes SPRING-103. freter
add The Java cartridge now generates Java interfaces from UML interfaces. Operations are generated as method signatures, instance attributes are generated as getter/setter signatures, classifier attributes are generated as static final constants with default values. Association ends are generated as getter/setter signatures. Fixes JAVA-23. mattes3
update The bpm4struts cartridge now supports arrays of custom types for tables, this is interesting when you are using dates in columns and you want to specify a custom format, in this case you'll just need to add a tagged value to the corresponding attribute of the array's type. This feature elegantly integrates with the use of value objects and POJO entities such as found in Hibernate. Fixes BPM-238. draftdog
update Handling of options in bpm4strutshas been improved, if you are using this feature please beware that the option values sent from the client to the server are no longer equal to the message keys used. This has been changed to sent the selection index instead 0,1,2,... and so on. Fixes BPM-230. draftdog
update The validation framework used in bpm4struts has been updated, it is now required to use Struts 1.2.7and commons-validator 1 .1.4(later versions are also fine). Older projects using the latest bpm4struts cartridge will need to update these dependencies. The andromdapp:generate tool has been updated to take this change into account, so generating a new project will also solve this problem. Not updating these dependencies will break validation support in the presentation layer, you'll also see an exception stacktrace in the server output. draftdog
update In order for the presentation metafacades to be made generic enough for use within other frameworks (besides struts), the following tagged values have been renamed:
Old Name New Name
@andromda.struts.action.type @andromda.presentation.web.action.type
@andromda.struts.action.tablelink @andromda.presentation.web.action.tablelink
@andromda.struts.action.form.scope @andromda.presentation.web.action.form.scope
@andromda.struts.action.resettable @andromda.presentation.web.action.resettable
@andromda.struts.view.field.type @andromda.presentation.web.view.field.type
@andromda.struts.view.field.tablelink @andromda.presentation.web.view.field.tablelink
@andromda.struts.table.columns @andromda.presentation.view.t able.columns
@andromda.struts.action.redirect @andromda.presentation.web.action.redirect
@andromda.struts.view.field.calendar @andromda.presentation.web.view.field.calendar
If you're using Magic Draw, the only thing you'll need to do is open your model and touch it (i.e. make a small change so its ready to be saved), and save it. If you're using another modeling tool that won't work with the andromda-profile, the best way to upgrade your model is to just open up the XMI and do a search and replace from the old to new values.
cwbrandon
add Table links in bpm4struts are now allowed to target any arbitrary column, see the online store sample for an implementation (the title column on the second page sends the id value for that row when clicked). Fixes BPM-225. draftdog
add With the bpm4struts cartridge it is now possible to submit selected rows, see the new documentation here: Submitting selected rows. Fixes BPM-169. draftdog
add Support for error pages has been added to the bpm4struts cartridge, by default HTTP error codes 400, 403, 404 and 500 are supported, as well as exceptions not caught by Struts. Fixes BPM-213. draftdog
update Each <<FrontEndView>> in the bpm4struts cartridge will result in the generation of a JSP page. This page will use include statements to construct its content from other .jspf files (jspf stands for JSP fragment), there will be a .jspf file for each action, table, set of page variables, etc..

The action JSP files have been renamed from my-action.jsp to my-action.jspf to be more consistent with the rest of the application. If you are overriding generated action JSPs and using the copy-over featureyou will need to rename those files to have the .jspf extension or you application will not properly function.

draftdog
add JSP resources generated by the bpm4struts cartridge will no longer be directly accessible, all of them are now shielded by a Struts action. Fixes BPM-220. draftdog
add Most web pages will no longer be directly accessible, a default security constraint will be generated into the web.xml descriptor, even if security hasn't been enabled. A few exceptions exist such as the calendar popup or a JSP rendering JavaScript, but the most important use-case pages will be protected. Fixes BPM-219. draftdog
fix A small fix that might affect your project, the request URI used for displaytag tables in the bpm4struts cartridge has been changed, it will no longer reference the target page but the action trigger instead. This means data will be reloaded when you are trying to export or navigate. draftdog
add The JBPM cartridge now provides a strongly typed interface to the modeled processes. draftdog
add Spring criteria queries now support firstResult and fetchSize . draftdog
update The andromda-profile has been broken up into sub-profiles: process, persistence, service, meta, etc. In order to successfully use this new profile with a Magic Draw model, you'll need to do 2 things: First, add several new dependencies to your project.xml (or regenerate a project using the andromdapp plugin), see this forum threadfor more information. Second, you must open and save your model once to update all profile references, after that you should be able to successfully build. cwbrandon
add Hibernate Cartridge now also supports "union-subclass" inheritance mapping for Hibernate 3.x projects. Fixes HIB-115. carloslcuenca
add AndroMDA can now handle more than one repository at a given time. This means you'll need to make a slight modification to your andromda configuration file (typically found in mda/conf/andromda.xml of your project) by defining the repositorieselement. Fixes CORE-77. cwbrandon
add The andromdapp:generatetool is now able to generate projects using the jBpm workflow engine, selecting this option implies the use of Hibernate 3 (you will not longer be prompted for it). draftdog
update The andromdapp:generatetool now generates the versions of all dependencies into the build.properties file in the root of the project. draftdog
update The BPM4Struts tagged values @andromda.struts.usecase.activity and @andromda.struts.controller.usecase have been renamed to @andromda.presentation.usecase.activity and @andromda.presentation.controller.usecase . cwbrandon
add The CRUD feature now supports many2many relationships between manageable entities. The page will contain a list in which multiple selections can be made, for each such navigable relation end. Fixes BPM-210. draftdog
update Changes have been applied to the generic UML metafacade layer, more specifically in the way state machines are handled. The ActivityGraphFacade now generalizes a new facade called StateMachineFacade , and a few refactorings were required to properly model this new addition, most importantly, association ends have been renamed according. These changes can impact your code generation in case you are accessing these properties directly. It is also possible you have compilation errors if you have a custom facade generalizing the ActivityGraphFacade . It will be sufficient to merely replace references to the activity graph by references to the state machine. In doing so you will remain complete backwards compatible with your previous code base. Fixes UMLMETA-42. draftdog
fix An issue was fixed in the bpm4struts cartridge regarding the generation of dummy data in the controller implementation classes: the dummy inner class used for table form properties wasn't used at all, this would lead into compilation errors during build time. draftdog
add Added a new "project cartridge" that generates a project for rich client development using Eclipse. Build script is Ant based. Eclipse is used to build .class files. Build script is for running AndroMDA, creating databases, and deployment to JBoss. Fixes ANDROMDAPP-3. joelkoz
update Updated AndroMDA Ant tasks to use the new project generation system of 3.2. To use an Ant based version of the app generator, execute the build.xml build script from the distribution's "ant" directory. Fixes ANT-30. joelkoz
add Created a new a global namespace property named "toToTag" that can specify what text to prefix all comments in generated code that mark code that the end user needs to modify. This allows users of various IDEs to quickly see what modifications they need to make in a generated project (for example, Eclipse users can set the tag to "TODO", the default Eclipse task tag). Fixes MISC-37. joelkoz
update Spring cartridge now generates default implementations for the "ValueObject to Entity" and "Entity to ValueObject" conversion routines found in entity DAOs. joelkoz
update Added support for Acegi Security when used in a Rich Client project. Currently works with Acegi 0.9.0 joelkoz
add Hibernate 3.0 has a feature that allows a DOM4J tree to be retrieved and saved from the database. A new transform type was added to each entity's DAO (TRANSFORM_XML). This allows objects in the database to be retrieved as a DOM4J XML tree rather than a POJO. Saving of DOM4J back to the database is also supported (as far as it is supported in Hibernate - the feature has problems with nested objects). To activate, add the following properties to your default namespace: "hibernateXMLPersistence" (set to true), and "hibernateXMLPersistIDAsAttribute" (usually set to true) Fixes HIB-141. joelkoz

Release 3.1-RC1 - 2005-06-19

Type Changes By
fix Schema2XMI is now able to map to database types with their precision defined. Fixes SCHEMATOXMI-1. cwbrandon
add Property references are now defined in a namespace descriptor in which each namespace component (cartridge, translation-library, and metafacades must be registered within). Unfortunately this change is not backwards compatible with 3.0 cartridges, to upgrade 3.0 cartridges to be 3.2 compatible, you will need to create a META-INF/andromda/namespace.xml descriptor per cartridge and register the cartridge and metafacades (as well as any namespace properties and its defaults) in this file. Fixes CORE-72. cwbrandon
add The Spring cartridge can now generate for Hiberante 3 (as well as Hibernate 2 as before). Version 2 is the default, in order to change the version to 3, you must set the hibernateV ersion namespace property with a value of 3 . cwbrandon
update In bpm4struts it is now also possible to have non-event parameters survive the trip to the next use-case, previously only event parameters would only be able to do that because they would be immediately present in the HTTP request. More is documented here. draftdog
add The Hibernate cartridge can now generate for Hibernate 3 (as well as Hibernate 2 as before). Version 2 is the default, in order to change the version to 3, you need to define the version namespace property with a value of 3 . carloslcuenca
add Major performance improvements have been added to the AndroMDA core, as well as a new feature called the AndroMDA Serverwhich dramatically enhances the performance of AndroMDA. cwbrandon
add AndroMDA is now configured through a single XML configuration file. This means both the Ant task and Maven plugin just point to this file. Please see the configurationdocumentation for more information. Fixes CORE-67. cwbrandon
add Manageable entities can now have non-required fields hidden if desired, it is also possible to use textareas instead of plain textfields. Fixes BPM-186. draftdog
update Implemented an improvement in the bpm4struts cart ridge related to the i18n of messages. It is now possible to have all messages normalized before they are being rendered into the resource bundle. This means that elements with the same name will use the same message key, previouly each element had its own message key which could easily lead to very large resource bundles. This feature is disabled by default but can be enabled by using the normalizeMessages namespace property and setting it to true . Fixes BPM-181. draftdog
add Template merging now occurs before template processing happens, this means you can merge in dynamic content into templates (previously it was only static content). Fixes CORE-55. cwbrandon
add When using manageable entities it is now possible to have binary data uploaded into 'blob' fields, just use datatype::Blob and a file-upload field will be generated automatically. It is not possible to actually show the value of a 'blob' field in the table, a default label will be shown instead. Fixes BPM-186. draftdog
update If you want anyone to be able to access a use-case when security is enabled, then simply do not associate any actors to it. This functionality replaces the <<Unsecured>> stereotype. Fixes BPM-195. draftdog
fix Fixed an issue that rendered the create method taking all required properties uncompilable when the multiplicity of an association end was 1..*. Fixes SPRING-73. cwbrandon
fix A set of improvements and new features for managing CRUD entities have been impleme nted
  1. An issue with Konqueror has been resolved: select boxes did not change value when clicking on the Copy link
  2. Comboboxes now retain their value after updating an entity
  3. Enumeration types are now properly handled when the literal type is a primitive
  4. Switching to an entity from the drop-down list will remember the current entity's (if any) identifier and will pre-select any corresponding list with this value
  5. Required fields now have an asterisk next to them
  6. Modeling a default value for an attribute is now supported: the field will have this as a default value
  7. An entity referencing itself would not be able to have an instance pointing to itself (foreign key being equal to the primary key), Hibernate would complain about different objects with the same identifier being loaded in the same session; this has been fixed
draftdog
update Warning, error and success messages are now stored in session scope, the Struts request processes now properly handles this and removes them once they have been accessed the first time, this feature is available since Struts 1.2.4. Except for the dependency on Struts 1.2.4 this update is transparent. Fixes BPM-170. draftdog

Release 3.0 - 2005-05-08

Type Changes By
update Package filtering has been changed to use the correct '::' namespace separator instead of the java specific separator; this means that whenever you apply package filtering you'll have to use the '::' seperator between packages instead of '.' (see <modelPackage/>for Ant or maven.andromda.modelPackage. n .namefor Maven). cwbrandon
update Generating CRUD for entities has been updated:
  1. Identifiers are only rendered when explicitly modeled (unless the manageableIdDisplayStrategy namespace property is used).
  2. Dates are handled in a special way, if no time information is given the generated code will assume the user wishes to search in the scope of an entire day instead of the exact date (matching that date at midnight).
draftdog

Release 3.0-RC2 - 2005-04-25

Type Changes By
add The AndroMDA App Maven Plugincan now generate standalone war files (that can be deployed to Tomcat). Fixes MAVEN-23. cwbrandon
add Hibernate entities (which are marked as serializable) will now contain a field serialVersionUID in order to satisfy Versioning of Serializable Objectsand Always Declare Serial Version Uid. Users can override the automatically calculated SUID by set ting the tagged value "@andromda.serialVersionUID". Fixes HIB-87. freter
add Mapping files can now extend other mapping files (this allows you to only add or customize the specific mapping entries you need and inherit the rest). For more information see extending and overridingmappings. Fixes CORE-40. cwbrandon
update Bpm4struts no longer generates the custom-resources.properties file, you will need to merge your own properties into the default bundle. If you project still contains JSP files with messages read from the custom bundle you can safely point them to the default bundle (by removing the bundle attribute). Read this page for more info: Bpm4Struts i18n. draftdog
add It is now possible to merge the entire contents of one or more files into a merge-point. Please see the merge-point documentationfor more information. Fixes CORE-62. cwbrandon
add It is now possible to specify XSL transformation templates to be applied to the model(s) before model processing begins, please see the AndroMDA Maven Pluginor the AndroMDA Ant Task(depending on what you use) for more information. Fixes CORE-56. cwbrandon
add It is now possible to use the <<Unsecured>> stereotype on use-cases that need to be accessible for anyone, even when security has been enabled. Fixes BPM-107. draftdog
update The AndroMDA Ant task has been refactored out of the Core, and the package name has changed to org.andromda.ant.task , Maven users are not affected by this change, however Ant users will need to update the package from the old org.andromda.core.anttasks to the new org.andromda.ant.task . cwbrandon
add The encoding can now be set for both the Ant Task and the AndroMDA Maven plugin, maven.andromda.outputEncoding is the required property for the Maven plugin, and the outputEncoding is the attribute for the Andromda Ant task. Please see the documentation for each for more information. Fixes CORE-59. cwbrandon
add The new table-link feature in the bpm4struts cartridge now supports arbitrary parameters, they are no longer restricted to the ones that match a column. Fixes BPM-168. draftdog
add Meta element inheritance is now taken into account when the AndroMDA Core searches for mappings, this means that cartridge writers no longer need to create multiple mappings for each meta element class name, they can just map a base meta element class name and any inherited ones will automatically be mapped. Fixes CORE-19. cwbrandon
add The meta cartridge now supports generation of multiple inheritance for metafacades. Fixes META-4. cwbrandon
add The hibernate cartridge now allows to define indexes on the foreign key columns generated by entities associations. carloslcuenca
update It is now possible to model events that submit a table row in bpm4struts, also the way to model hyperlinks in table columns has changed. Please see the updated table documentation, as this feature is not backwards compatible with the old way of doing this, a necessary evil before releasing the final version of AndroMDA 3.0. Fixes BPM-162. draftdog
fix Bpm4Struts now allows a new namespace property called defaultTableExportTypes , it takes a space-separated list of export types that will be used by default by the displaytag tables, valid types are any combination of csv , xml , excel and pdf , use none to disable exporting for tables. In addition the @andromda.struts.view.table.export tagged value can now also take the none value to turn off export for the corresponding table. Fixes BPM-163. draftdog
fix Mappings are now required to use the correct '::' namespace separator istead of the Java specific '.' separator. This requires any custom type mapping files to replace all occurances of '.' with '::' (for example datatype.Long now needs to be mapped as datatype::Long within the JavaMappings.xml file). Fixes MISC-29. cwbrandon
fix Client-side validation for dates have been improved, t he default one which is taken from commons-validator only supports a very limited subset of the features one would expect. We are now explicitely overriding this JavaScript routine in validator-rules.xml . Fixes BPM-160. draftdog
fix It is now possible to seemlessly pass form data across different use-cases, the target form will be populated using the matching properties from the source form. Fixes BPM-157. draftdog
add The Spring CartridgeDAO transformation methods can now be generated for UML datatypes as well (in addition to value objects), just draw a dependency from an entity to a datatype, and the corresponding transform method will be generated on the DAO. This is useful when you need to return a single field from an entity. cwbrandon
add The Spring CartridgeDAOs now contain create and update operations that take a collection of entities (similar to the already existing DAO remove operation). Please note that this change requires you to upgrade Spring to 1.1.5 or above. cwbrandon
update When generating value objects for webservices, the webservice cartridge no longer generates its own value objects but instead uses the ones generated from the java cartridge, it's just required to set the useArraysForMultiplicitiesOfTypeManynamespace property to true (so that arrays are generated for association ends with multiplicities of type man y) and make sure you have the value-objectsnamespace property defined for the java cartridge. cwbrandon
fix Many-to-many relationships, where only a single table is involved, are not causing the Hibernate SchemaExport tool to choke anymore. This bug was related to the generated foreign key constraint names. Fixes HIB-82. draftdog
fix The calendar support has completely been rewritten, make sure your JSPs reflect the latest changes if you're using the copy-over feature. Fixes BPM-81. draftdog

Release 3.0-RC1 - 2005-03-27

Type Changes By
add The Hibernate cartridge now generates readable foreign key constraint names where possible. This information is generated into the mapping files and is processed by the SchemaExport tool when generating the database schema DDL. The @andromda.persistence.foreignkey.constraint tagged value can be used to override the default name. Fixes HIB-81. draftdog
add It is now possible to model page-to-page transitions with the bpm4struts cartridge. An intermediate Struts action will transparently be generated. Fixes BPM-154. draftdog
add The Spring cartridge now has configurable transactions for Spring service operations. This change required the rename of @andromda.transaction.type to @andromda.ejb.transaction.type to prevent conflicts with the spring service transac tion tagged value (@andromda.spring.transaction.type) and to be consistent with other cartridge specific tagged values. Fixes SPRING-52. cwbrandon
update Hibernate enumerations (generated by the Hibernate cartridge) now extend the regular java enumerations generated by the java cartridge (so that they can co-exist peacefully). Note, you'll now need to enable the enumerations outlet from the java cartridge when using the hibernate enumerations. Fixes HIB-71. cwbrandon
update The <<PrimaryKey>> stereotype has been renamed to <<Identifier>> . UML tools that do not import the latest version of the andromda profile will need to have the stereotype renamed by the user. draftdog
add The caching of metafacade properties can now be disabled (even on a per cartridge basis), just use the enableMetafacadePropertyCaching namespace property. Most properties are being cached now for reasons of performance. draftdog
add The spring cartridge now supports nullable attributes in criteria finders. Fixes SPRING-47. freter
fix A bug in the OCL query translation library was causing some relational operations (such as '<>' and '<=') to be incorrectly translated to '>' , this has been fixed. Fixes OCL-9. cwbrandon
add The bpm4struts cartridge now supports exporting to PDF, existing projects will need to include the IText v0.99dependency. Add this dependenc y to your /web/project.xml . draftdog
add The spring cartridge now supports modeled hibernate criteria finders (Thanks to Stefan Reichert and Peter Friese). Fixes SPRING-38. cwbrandon
update OCL translation support has been moved into the translation-libraries/ocl module (out of the andromda-core) and all ocl translation specific classes are now in a package beginning with org.andromda.translation.ocl . Fixes CORE-15. cwbrandon
add The bpm4struts cartridge now generates a displaytag.properties file, the labels used by the displaytag library are not internationalized, you will need to update the library to version 1.0. Fixes BPM-13. draftdog
fix Bpm4Struts templates have moved into cartridge subdirectories and have been given proper names, make sure to update your own templates if you are overriding these resources. draftdog
add The bpm4struts cartridge now support displaytagtable decorators. Just use the @andromda.struts.view.table.decorator=true tagged value on your table to have an empty decorator generated for it. By default the decorator class names end with Decorator , but this can be changed using the tableDecoratorSuffix namespace property. Don't forget to configure the decorators outlet to point to a directory in your existing project. The generated decorators will only be generated the first time, they will not be overwritten. Fixes BPM-147. draftdog
add The Hibernate Cartridgenow supports lists, sets, maps and bags for mapping collections. Fixes HIB-20. carloslcuenca
fix An issue with the bpm4struts multibox feature has been resolved: the checkbox widget was not being rendered and a link was present instead. This problem manifested itself in the online-storesample. Fixes SAMPLES-6. draftdog
fix Bpm4Struts now correctly exports to all known displaytagsupported formats, there was a bug where simple properties were being exported with surrounding HTML tags.

Caution: the use of @andromda.struts.view.table.export has changed! It is no longer recommended to specify a space separated combination of formats, instead it is now best to specify multiple values (MagicDraw allows you to add values from a combobox). The previous way is still supported but this might change in the future.

Fixes BPM-127.
draftdog
add Added a new tagged valuefor bpm4struts: @andromda.struts.view.field.validators . It allows you to specify your own validators for parameters, just don't forget to use the merge pointin validator-rules.xml . Fixes BPM-110. draftdog
add It is now possible to specify multiple formats for parameters using the @andromda.struts.view.field.format tagged value, thanks to a contribution from Kishore. Fixes BPM-138. draftdog
add Bpm4Struts now supports a new namespace property: actionPathPrefix , it allows more control on the way action paths are being rendered in struts-config.xml . draftdog
add The Spring Cartridgeand Hibernate Cartridgenow supports EhCache as the second level cache manager. Properties, associations, and queries can be configured to be cacheable. carloslcuenca
add The cartridge now supports dynamic-insert and dynamic-update hibernate properties for entities. Fixes HIB-61. carloslcuenca
add All existing cartridges emitting Java source code now include a license-header merge point, just use the merge-mappingfeature to have it replaced with your own license statement, the merge-point is called // license-header java merge-point . Fixes MISC-24. draftdog
fix Superfluous *.hbm.xml files are no longer generated when a subclass strategy is used with hibernate inheritance. Fixes HIB-48. cwbrandon
fix When using a class strategy with hibernate inheritance, not-null values are now correctly set to "false" for all subclass properties. Fixes HIB-58. cwbrandon
add The Spring Cartridgenow provides Spring remoting support (thanks to Peter Friese). Fixes SPRING-34. cwbrandon
add A new attribute has been introduced on the template element within the cartridge descriptor (andromda-cartridge.xml). It's called outputOnEmptyElementsand allows a cartridge writer to determine whether or not a file should be output when there are no elements collected when using the outputToSingleFileflag. cwbrandon
fix The Spring Cartridgenow generates a valid DAO inheritance hiearchy when inheritance between entities is modeled. Fixes SPRING-37. cwbrandon
update The Spring Cartridgemust now be used in conjunction with the Hibernate Cartridgewhen using Hibernate persistence. cwbrandon
update The pattern matching exception handler generated by bpm4struts now correctly handles exceptions that are instances of java.lang.Throwable and any of it's decendants (previously it only handled java.lang.Exception instances). Fixes BPM-136. cwbrandon
update The bpm4struts cartridge no longer requires you to model the <<FrontEndEvent>> , <<FrontEndController>> and <<Role>> stereotypes. These stereotypes can be implied by the model and therefore are considered redundant. This has only been made possible by the recent metafacade mapping changes which allow the mapping based on the target metafacade's properties. Fixes BPM-34. draftdog
add Metafacades can now be mapped to meta model objects based on their properties. This allows us to define metafacades for things that can be inferred by certain conditions of the model instead of needing to use stereotypes for everything. Fixes CORE-6. cwbrandon
fix Navigable entity association ends are now required to have a public visibility (an OCL constraint has been added to validate this). Fixes HIB-53. cwbrandon
fix Entity attributes are now required to have a public visibility (an OCL constraint has been added to validate this). Fixes SPRING-26. cwbrandon
update The Spring Cartridgeand Hibernate Cartridgenow generate child cascade's correctly based on whether or not the default-cascade for the entity is set to all or save-update . Fixes SPRING-33. cwbrandon
update The Meta Cartridgenow generates rea l inheritance (not delegated) when the super metafacade class is in the same package. Delegated inheritance is now only generated when the super metafacade's package is different. cwbrandon
update All usages of @andromda.struts.view.field.type=radio must now omit any trailing parameters, so specifying "radio 4" or "radio a,b,c" is no longer allowed. The trailing parameters go into a new tagged value called @andromda.struts.view.field.radio and can only be used if the field type specified is of type radio . draftdog
add Eager loading of relationships is now correctly supported when using composition. Fixes SPRING-29. cwbrandon
add Bpm4struts is now able to generate id attributes in the web.xml descriptor, just use the generateWebXmlIdsnamespace property. draftdog
add Spring DAO names are now completely configurable. Patterns can be configured in the namespace propertiessection. Fixes SPRING-23. cwbrandon
add Entity query operations (i.e. finders) can now be determined though modeling the query flag as true on the operation (for now the finder method stereotype still works, however it is now deprecated in favor of this query flag and will be removed in the future). Fixes UMLMETA-13. cwbrandon
add Now it is possible to enable Hibernate proxies for Entities in the hi bernate Cartridge. Fixes HIB-33. carloslcuenca
add An external configuration file can now configure logging for AndroMDA. See loggingConfigurationUrifor information on how to use it with Ant. See maven.andromda.loggingConfigurationUrifor information on how to use with Maven. Fixes CORE-16. cwbrandon
add Metafacades can now be mapped on the basis that more than one stereotype is required. Fixes CORE-39. cwbrandon
update Completely removed XDoclet from the Hibernate cartridge. cwbrandon
add Added a howtofor the Spring cartridge. draftdog
add Hibernate entities in the Spring cartridge now have a factory operation on each entity that allows creation of new entity instances (this elminiates the need to call the implementation specific constructor for each entity when constructing a new instance). Fixes SPRING-20. cwbrandon
add Provide the ability to have entity association lazy loading within the service tier (all entity associations should be able to be lazily loaded within ALL service operations, as well as ALL DAO operations). cwbrandon
fix Implemented enumeration support for the Hibernateand Springcartridges. Fixes HIB-15. draftdog
add ALL OCL string operations are now supported by the Query Translation LibraryFixes OCL-1. cwbrandon
fix Template object properties can now be specified more than once in the andromda-cartridge.xml. Fixes CORE-38. cwbrandon
add The Hibernateand Springcartridges are now able to define query cache settings. Fixes HIB-34. carloslcuenca
fix The Query Translation Librarywas using the OCL exists(<expression>) expression incorrectly. Changed to use the correct includes(<expression>) expression instead. cwbrandon
add The Query Translation Libraryis now able to correctly handle order by expressions (this is accompished using the standard -> sortedBy(<expression>) construct in OCL. cwbrandon
fix The Query Translation Libraryis now able to correctly handle grouped expressions. Fixes OCL-7. cwbrandon
fix The Spring cartridge is now able to correctly auto-detect when the inverse flag should be true/false on associations within the hibernate cfg.xml files. Fixes SPRING-18. cwbrandon
fix Fixed a *critical* bug in bpm4struts: when an action state would defer to more than one controller operation the action state's forward would be called after each operation call. This is very dangerous in combination with the session because code is not executed in the expected order anymore. draftdog
add All profile information has been externalized into mapping files. This means that its now VERY easy to change the default stereotype names, tagged values, or datatypes. You can use the new profileMappingsUri to point to a mappings file that overrides any default profile values. Fixes CORE-32. cwbrandon
add Bpm4Struts now supports final states pointing to locations or resources outside of the scope of the UML model. This is achieved by giving the final state a name starting with either / or http:// , alternatively you can make use of the "hyperlink" feature as available in some UML tools, just make sure to hyperlink to a web page (sometimes UML tools distinguish between different types of hyperlinks). Fixes BPM-96. draftdog
update The JMI 1.4 APIhas been published on the AndroMDA website, you can find it in the navigation menu under the "developers" section. Fixes