| OptimalJ release | 4.3.00_SP1 |
| This release includes fixes made in | 4.3.00_SP1 |
| Release date | May 28, 2007 |
| Supported Java version | SUN Java SE Development Kit 5.0 / 6.0 |
| Supported Development platforms | Windows2000, Windows/XP, Linux RedHat Enterprise Edition 4.0 |
OptimalJ 4.3 integrates with Eclipse 3.2.x. This release of Eclipse was released into general availability before Java SE 6 had been released. Eclipse announces support for Java 6 SE in combination with Eclipse 3.2.1 on their website.
During testing of OptimalJ Architecture Edition 4.3 built on Eclipse in combination with Java SE 6, we encountered an issue that is specific to this combination. The problem that occurred was a compilation error on java constructs used in the AE code, that are specific to Java JDK 1.4 and above.
After checking the Eclipse preferences, it turned out that Eclipse did notice that a Java SE 6 was used, but switched one of the compiler options to default to “old, pre JDK 1.4, behavior”. When switching this preference manually back to Java SE 5 or 6 behavior, all works well.
ResolutionThe resolution is to set the Compiler Compliance Level to "5.0" or "6.0". (Windows->Preferences->Java->Compiler).
More informationFor more information, please see the description of bug 35064 on this page: http://frontline.compuware.com/javacentral/members/bugs/default.asp
back to topOptimalJ 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:
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.
back to top| Bug number | Severity | Summary | Reported version | Fix version | Description | Release notes |
|---|---|---|---|---|---|---|
| 35666 | 2-Major | DAO.Finders: profiling on supertype attributes leads to model check errors | GA 3.3.00 | 4.3.00_SP1 | Creating finders that profile on a supertype attribute is not supported. Such scenarious lead to model check errors. Consider the following model: Person 1--* Animal -name ^ ^ | | Child 1--* Turtle -age In the architectures where DataAccessComponents are used for persistance (AA_SSD, AA_SBD, AA_OSD, AA_OBD), we can not create the following queries: findTurtleByChildAge, findTurtleByChildName, findTurtleByChildAgeAndName, findTurtleByPersonName, findTurtleByAnimalName |
DAO templates are enhaced to support querying on inherited attributes: - query over multiple level inheritance - query on multiple inherited attributes - query on inherited references to the single side - query on inherited structs in structs - query over references while the primary key consists of more than 1 attribute |
| 35685 | 2-Major | store fails of composite record with NULL value given for NOT NULL column | 4.2.ITB1 | 4.3.00_SP1 | In a 2 tier application with architecture AA_SBD it is not possible to store a composite record with values for ClassJ in the association: classJ 0..1 --<> 1 classK. The reason is that the foreign key field(s) of the part key is/are not set when the part is associated to a composite in case where Domain Unique Constraints are used. |
The Update Objects code is modified so that when creating an associated record, the Foreign Key attributes are automatically set to the value of the parent object. Also when adding / setting an existing record to a parent object, the FK is modified to keep in sync. The fix is extended for all mandatory single multiplicity associations. |
| 36255 | 2-Major | Query Action - Reload doesn't work second time if more than one query operation is defined | 4.3.ITB1 | 4.3.00_SP1 | When connecting a query page to an edit flow (e.g. in a WebMaintenanceComponent), reload flag ensures that the data is retrieved on return. Edit flow can pass this as request parameter. However, when after a query and after editing one record another record is edited, on return the reload doesn't work. This is caused by the fact that after first reload, the QueryComponent loses it's query state and can not perform another query. |
This problem is now resolved. The state is restored and stored properly after each reload. |
| 36341 | 2-Major | SSH architecture gives compilation errors when using abstract classes | 4.3.ITB1 | 4.3.00_SP1 | Compilation errors occur for a SessionBean or Bloc model that use EntityClasses (Hibernate) if the Domain model contains abstract classes. |
Fixed the compilation errors. |
| 36343 | 2-Major | NPE in BFFromBusinessLogic.java in 4.3 | 4.3.ITB1 | 4.3.00_SP1 | If the Options node has been removed from the Technology Pattern node which copies Businesslogic to BusinessFacade, subsequent Update All Model actions will result in a NullPointerException. |
This bug has been fixed. |
| 36359 | 2-Major | Setting key to null after setting it to a value gives NPE. | 4.3.ITB1 | 4.3.00_SP1 | DataObjects have a setter for the key of by reference singlemultiplicity associations. In case the (key) parameter is null, an NPE is thrown. The cause is that the setter attempts to execute a deepCopy() on the key. The fix is not to do that in case the parameter is null, but just to set the new value to null. |
|
| 34520 | 3-Normal | Migration of export with webservices fails | 4.2.00_SP1 | 4.3.00_SP1 | When copying a DBMS model with Views to the Domain model an exception can occur when generating the sql scripts: MESSAGE Error in template com.compuware.alturadev.dbms.ipattern.DATAMODULE while generating code for onezone.application.dbms.onezoneDbms [DBMSModule] !STACK 0 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... Caused by: java.lang.ClassCastException: org.omg.cwm.resource.Implrelational.ViewImpl at com.compuware.alturadev.dbms.utils.DDLFormatUtils.orderBas eTables (DDLFormatUtils.java:640) |
The ClassCastException has been fixed. |
| 35966 | 3-Normal | Do not generate Empty Guarded Blocks | 4.3.ITB1 | 4.3.00_SP1 | Excessive whitespace in generated code (ex. in POJO setAttributeInitialValue method). For each empty guarded block OJ generates two white lines, one containing the guarded comment (//GEN-GUARD ..) and one white line. Empty guarded blocks serve no purpose and shouldn't be generated. They do not have content, and they are ignored when regenerating a file because they are guarded. |
Empty guarded blocks are removed from the output. To address the introduced incompatibility, the empty guarded block is not skiped if the block is already generated previously. |
| 36136 | 3-Normal | Team -> share Project -> OptimalJ CVS multiproject does not properly reports errors | 4.2.ITB1 | 4.3.00_SP1 | The "OptimalJ CVS multiproject" sharing wizard does not properly report errors; when the user selects a cvs module to share a project in, for which he does not have the proper access rights, the wizard should report the error, but instead switches to the location panel of the sharing wizard. |
|
| 36194 | 3-Normal | Maintenance component in lightweight has wrong elements. | 4.3.ITB1 | 4.3.00_SP1 | For a SOH architecture an undocumented model check error is encountered when a Web maintenance component is added using the wizard. The newly added component is flagged with a badge indicating a model check error but the problem is not listed in the Problems tab. Furthermore, lightweight components have page iterator support turned on by default, but the maintenance component doesn't use a page iterator, so the component is created in LW architecture, an error message is thrown, saying that the component does not support page iteration. |
The pattern now recognizes the contenttype and WebMaintenance components can be connected with standard WebComponents in LW. Also, the WebMaintenance components are created with supportsPageIterator set to false, regardless of the chosen architecture. |
| 36257 | 3-Normal | DomainView wizard does not show in overview selected Attributes over a Reference of a super type. | 4.3.ITB1 | 4.3.00_SP1 | The overview for showing selected Attributes over References of a super type of a DomainView in the DomainView wizards itself and in the DomainMaintenanceService and ServiceQuery wizard is fixed. |
|
| 36274 | 3-Normal | QueryComponents - Paging "Last page" functionality not supported | 4.3.ITB1 | 4.3.00_SP1 | Query Components handle paging on the web-tier. We provide automatic first, previous and next page paging functionaltiy but not Last page paging functionality. |
Added "Last page" paging functionality. This is only possible for the WebQueryComponents and not for other WEBComponents because of difference in how the data is retrieved. |
| 36276 | 3-Normal | RENDERWEBBUTTON is not defined as a public joinpoint | 4.3.ITB1 | 4.3.00_SP1 | The RENDERWEBBUTTON is defined as a joinpoint, but it was not defined as public, therefore it couldn't be used. |
The joinpoint is now made public. |
| 36285 | 3-Normal | Apply architecture wizard sets initial selection often wrong | 4.2.ITB1 | 4.3.00_SP1 | When multiple Modeling Projects are opened in OptimalJ. The Apply Application Architecture more often then not chooses the wrong default for the target package of the application architecture. This can be annoying. |
In 4.3.00_SP1 the default selected (parent of-) target package will be correct in most cases. |
| 36286 | 3-Normal | Closing OJ with open "problem view" and starting it again leads to an error | 4.3.ITB1 | 4.3.00_SP1 | NullPointerException occurs when restarting OptimalJ with a Problems editor open. |
Issue is fixed. |
| 36325 | 3-Normal | Return value of type List for a BEL results in a compile error. | 4.2.ITB1 | 4.3.00_SP1 | When List (DataTypes.java.util.List) or Set (DataTypes.java.util.Set) is used as the parameter type of a Business Expression, an incorrect import statement is generated for the Business Expression Library class. |
Issue is resolved for both List and Set data types. |
| 36327 | 3-Normal | Compile errors for 'language option' in BEL | 4.2.ITB1 | 4.3.00_SP1 | A comiplation error occurs if there is an expression in a business expression library with unsupported language and a body with multiple lines. The body is added verbatim to a file generated from the business expression library. The body is commented out with a single line comment. |
A comiplation error occurs if there is an expression in a business expression library with unsupported language and a body with multiple lines. The body is added verbatim to a file generated from the business expression library. The body is commented out with a single line comment. The problem is fixed by using multi-line comments around the body. |
Compuware Customer Support can assist you with all of your technical problems, from installation to troubleshooting.
| USA | Emea |
|---|---|
| Compuware Corporation One Campus Martius Detroit, Michigan 48226 USA (800) 538-7822 |
Compuware Europe BV Hoogoorddreef 5 1101 BA Amsterdam Z-O The Netherlands Toll Free +800 787 767 88 Local +31 20 3118850 |
For technical assistance with Compuware products, log onto Compuware's Frontline support Web site. The first time you access Frontline, you are required to register and obtain a password.
Refer to Compuware's corporate Web site at http://www.compuware.com for information about Compuware technical support policies and problem resolution process.
back to top