Upgrading to a Maintenance Release
OptimalJ maintenance releases (such as service packs or releases with version number of the pattern #.#.0#) provide updates to generated code and the patterns applied to models. For more information, see the below table.
To take advantage of these changes, you must follow this procedure for each OptimalJ project when upgrading to the maintenance release:
Version Control Systems
The MCR files used to map generated files to model elements are not stored in version control systems. These MCR files are required when upgrading to a maintenance release. Before upgrading to a maintenance release, you must restore these files by completing steps 1 and 2 in the old version of OptimalJ (Updating all models ensures that all models are synchronized, while generating code creates the MCR files). Then install the maintenance release and follow the procedure described above.
| Bug number | Severity | Summary | Reported version | Fix version | Description | Release notes |
|---|---|---|---|---|---|---|
| 34015 | 1-Critical | The use of a non-incremental Web copier causes problems for team development | 4.2.ITB1 | 4.2.00_SP1 | - Usage of the new pattern (new development) in conjunction with the Integrated Team Development can result in unwanted results. - Customers working with applications migrated from 4.1 will not face this issue because they will use the OptimalJ 4.1 pattern which does not have this issue. EXPLANATION: during a model transformation (from domain to the web model) the web pages are replaced rather than (incrementally) updated when using the default OptimalJ 42 settings. When users synchronize with the version control system they will be confronted with model merge conflicts that should be resolved automatically. The user will then need to manually correct the resulting web page element which will contain duplicate elements. This will only affect customers who: a. Use the new default Web pattern, and b. Use integrated support for Team Development - Users who have migrated their OptimalJ4.1 application will not be affected, since a migrated application does not use the new web pattern. |
We recommend customers using the new web pattern (new development) with the default OptimalJ 4.2 settings not to use Integrated Team Development until the fix for bug 34015 is available |
| 34119 | 1-Critical | Rename domain process and restarting OptimalJ results in corrupted model | 4.1.ITB1 | 4.2.00_SP1 | Rename domain process and restarting OptimalJ results in corrupted model |
Fixed |
| 33688 | 2-Major | TeamDev (Eclipse/CVS) - Multi project import hangs sometimes if using a remote CVS repository | 4.2.ITB1 | 4.2.00_SP1 | TeamDev (Eclipse/CVS) - Multi-project import hangs sometimes if using a remote CVS repository |
Fixed |
| 33918 | 2-Major | Web code instantiate code generated for abstract classes. | 4.2.ITB1 | 4.2.00_SP1 | the cause of the symptom is that web code to create a new instance was generated for an abstract class, for which never a new instance (other than of its subclasses) should be generated. |
Fixed by making that code generation conditional, so that it only happens if the class is not abstract. |
| 33951 | 2-Major | Preview Web Page does not work | 4.2.ITB1 | 4.2.00_SP1 | Clicking "Preview Webpage" option results in error message to Console when using Architecture: JSP/Struts POJO/Hibernate. |
Fixed |
| 34013 | 2-Major | EAR files of used Hibernate subsystems are not always self-contained | 4.2.ITB1 | 4.2.00_SP1 | Deploying subsystems does not work in eclipse, classes cannot be found |
Adjusted IDE independent ModuleInfo classes for EJB and WEB modules to take using subsystems into account, and change the launching of the eardef compiler on eclipse. |
| 34022 | 2-Major | Runtime errors for generated WebFlows because of the same name used for WebPAge and WebAction. | 4.2.ITB1 | 4.2.00_SP1 | For a DomainService Operation a Flow is Generated together with a WebPage and WebAction. For the SinglePageMaintenance Component the generated Page has name <OperationName> instead of "<OperationName>Page". Because of this the generated code for the Page or the WebAction gets lost and on runtime user gets Blank pages. |
Fixed |
| 34043 | 2-Major | Enum in key gives NPE. | 4.1.00_SP6 | 4.2.00_SP1 | When the key of an object contains an enumeration type, the JSP does not correctly send a selected object in a list. It sends the value whereas the receiving Select action expects the name. This becomes apparent in the Select action. |
Fixed |
| 34089 | 2-Major | NetBeans multilanguage import fails | 4.2.ITB1 | 4.2.00_SP1 | In NetBeans multilanguage UML import fails | Fixed by bundling xalan 2.6.0 instead of 2.5.2. |
| 34102 | 2-Major | Changes to domain attribute constraints (regular expressions or ranges) via the wizard are not stored in the model | 4.2.ITB1 | 4.2.00_SP1 | While using the wizard to edit the values of attribute- constraints (regular expressions or ranges), OJ will not catch the new values but keep persist to have the previous values. |
|
| 34114 | 2-Major | NPE when generating code after importing EJB | 4.2.ITB1 | 4.2.00_SP1 | After importing a legacy EJB and then generating code a NPE occurs. |
fixed jarroot resolving in Eclipse based version. |
| 34182 | 2-Major | TeamDev - Model changes no longer persisted after Team->Update OptimalJ Models with a diagram open | 4.2.ITB1 | 4.2.00_SP1 | TeamDev - Model changes no longer persisted after "Team- >Update OptimalJ Models" with a diagram open |
|
| 34210 | 2-Major | properties environmentSupportsManaged* are not described correctly: only generic text exists | 4.2.ITB1 | 4.2.00_SP1 | fixed | |
| 34217 | 2-Major | New Child menu on TP module displays "bogus" | 4.2.ITB1 | 4.2.00_SP1 | When using the the context menu on a technology pattern module in the software factory model, the menu sometimes shows "bogus" instead of a list of elements. |
Fixed |
| 31167 | 3-Normal | Enhancement requests for "enabled" and "visible" property of web tier | 4.0.00_SP6 | 4.2.00_SP1 | Following features should be enhanced: - "visible" property added to web page elements including panels. This property would allow run-time hiding of element the same way as "enabled" property conditionally disables them. - Improved Property editor for "enabled" and "visible" which would allow picking attributes (from different scopes including request) as property value. Or maybe even would allow creation of simple logical expressions for these properties." |
done. |
| 33085 | 3-Normal | Terminology in EntityClass wizard regarding operations unclear | 4.2.ITB1 | 4.2.00_SP1 | HTML help text contained a word that is too long for the wizard panel (HTML viewer) to display |
Fixed by adapting HTML helptext. |
| 33121 | 3-Normal | pageiterator buttons duplicated when using scriptlets | 4.1.00_SP6 | 4.2.00_SP1 | Web components have property jspTagLib. The default value is Struts/JSTL and the alternative value is Struts/Scriptlets. If the latter option is chosen no JSTL (JavaServer Pages Standard Tag Library) tags (like <c:if ... /> should be generated. Instead the generated code should use appropriate jsp in order to achieve the required functionality. Setting the jspTagLib property to Struts/Scriptlets still generates JSTL code in some jsp locations. One resulting problem is the webpanel for the page iterator in a user defined web component (with code generation option jspTagLib set to "Struts/Scriptlets") having a “Prev” and a "Next" button. In the generated jsp the references <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> To the appropriate tag libraries are not present which is OK. However, the JSTL tags <c:if …./> are still used for enabling or disabling the “Prev” and “Next” buttons. What happens in this case is that on runtime the expectation is that one sees one “Prev” button and one “Next” button, either or not disabled. On the actual page however you see a disabled prev button an enabled prev button a disabled next button an enabled next button. This is wrong. Another location where still JSTL tags are generated in the scriptlet case is alturaTemplate.jsp. |
Two "previous" and two "next" buttons are displayed if you choose Struts/Scriptlets. Reason is that for enabling/disabling <c:if> are used and the import <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> is missing. If you use scriptlets this should only affect the iterator logic. This means that the <c:forEach> is replaced with scriptlet code <% for(...) %>. This is mainly because of performance reasons (which we have to verify again if this is still the case). As a solution, we added the import statement. |
| 33613 | 3-Normal | error message is rather cryptic when using Domain Attribute Constraint | 4.2.ITB1 | 4.2.00_SP1 | When you entered invalid data according to a Domain Attribute Constraint , then the error message is rather cryptic in the architecture J2EE with JSP/Struts, session beans and POJO on Hibernate , while in the architecture Lightweight application with JSP/Struts and POJO on Hibernate a more clear message is given. |
Message adapted |
| 33820 | 3-Normal | Data Binding wizard Authorization panel sometimes only shows webButtons | 4.2.ITB1 | 4.2.00_SP1 | The data binding wizard Authorization panel sometimes filters out all widgets apart from WEBButtons, and displays them with the WEBLabel icon. |
Fixed |
| 33949 | 3-Normal | Cannot model constraint on IP Module | 4.2.ITB1 | 4.2.00_SP1 | According to OJ Help you should be able to add a Constraint model element to an IPModule element in the Software Factory Model. However when you select my IPModule and choose new, you do not have the option to add a Constraint. |
fixed |
| 33954 | 3-Normal | Some JSPs are generated with invalid tag matching | 4.1.00_SP6 | 4.2.00_SP1 | Some JSPs are generated with invalid tag matching. Specifically, for webComponents based on domainServices which are based on subtypes have their default browse JSP created with a <td> without a closing </td> |
Fixed |
| 33971 | 3-Normal | enumeration literals need to have char values | 4.1.00_SP5 | 4.2.00_SP1 | If you have an enumeration of type "char" the enumeration literatals need to have char values. '\u0002' would be a perfectly valid value here, but OptimalJ gives model check errors in the domain model and in the application common model. This is because it only checks for the length of the value. |
Fixed by better checking the size of the string (taking Unicode and special escaped characters into account) |
| 33995 | 3-Normal | in grid, th and td have style="webgridcolumn" - should be class= | 4.2.ITB1 | 4.2.00_SP1 | Wrong HTML code is generated for the styleClass property. | Fixed |
| 34038 | 3-Normal | Debugging info shown in Output tab when generating code for an AA or TP Module | 4.2.ITB1 | 4.2.00_SP1 | If the file is not generated (which is OK in the case of TP and AA modules) a NetBeans FileObject is accessed that does not exist. This leads to a CATCHED NPE. This NPE should NOT be visible for the end-user. It should be silently ignored. |
debuginfo suppressed |
| 34105 | 3-Normal | Model2Code view is continuously refreshed during Update All Models | 4.2.ITB1 | 4.2.00_SP1 | Fixed | |
| 34118 | 3-Normal | Transient attributes should generate free block in get/set of POJO | unspecified | 4.2.00_SP1 | In order to create a derived property (e.g. totalPrice that multiplies the quantity with the price of a shopping cart item) it would be very handy if at least the get<TransientAttribute> has a free block. Currently it is guarded, which makes it more difficult to create derived properties and use them in Web. |
Fixed by adding free block. |
| 34133 | 3-Normal | To have icon in UI designer for HTML Importer in 4.2 - Changes needed to Xenon Web Diagrams module and Web Module | 4.2.ITB1 | 4.2.00_SP1 | In order to use the HTML-Importer, delivered on Pattern Plaza, we need to add a button to invoke the importer from within the UI designer. |
Fixed by adding a dynamic button that will appear if the HTML-Importer is installed. |
| 34206 | 3-Normal | Document Testing and Deployment of Subsystems with DACs / Entity Classes | 4.2.ITB1 | 4.2.00_SP1 | Full separation of subsystems at development and deployment is only supported for EJBs - DACs and entity classes have limitations that should be documented. (see also software issue 34013). |
documentation implemented. |
| 34229 | 3-Normal | No support for editing oneToOneForeignKeyMapping property | 4.2.ITB1 | 4.2.00_SP1 | The 'oneToOneForeignKeyMapping' property in DBMSFromClassPatternOptions is to allow for correct RDBMS mappings in the case of one-to-one bidirectional associations. All non-Hibernate application architectures require that this property have a value of 'Foreign key on both sides' while all Hibenate-based architectures will only work if the property has a value of 'Foreign key on one side only'. To ensure that the user doesn't inadvertently change the property's value it has been made read-only. |
Property has been marked read/write again, to facilitate the documented migration path to using hibernate persistency. |