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:
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 |
| 26122 |
1-Critical |
A Boolean attribute with value true ,which has the updateallowed property set to false , gets set to false when editing |
3.2.00 |
4.0.00_SP1 |
|
|
| 25132 |
2-Major |
JBoss EJBQL commented out for BigDecimal finder method |
3.3.01 SP1 |
4.0.00_SP1 |
|
|
| 25217 |
2-Major |
"long cannot be dereferenced" compile error in formbean setter |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 25299 |
2-Major |
Compilation errors due to multiplicity of 'zero or more' for the XSDLElements inside XSDLComplexTypes |
3.3.01 SP2 |
4.0.00_SP1 |
|
|
| 25414 |
2-Major |
errors when creating web component based on domain service under sub-package of service model package. |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 25416 |
2-Major |
Throw exception with message when .ccignore is not present |
GA 3.3.00 SP1 |
4.0.00_SP1 |
If there is no .ccignore file present in Home directory, then a message should be thrown so the user knows that the .ccignore file must be present before importing into ClearCase. |
fixed |
| 25500 |
2-Major |
Self reference does not work on WebSphere |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 25539 |
2-Major |
Custom field added to a form bean via code model explorer doesn't get reflected in source code file |
GA 3.3.01 |
4.0.00_SP1 |
|
Disabled bean-editor in NetBeans |
| 25606 |
2-Major |
Cannot add WEBDataAttribute of type struct to WEBDataClass |
3.3.01 SP1 |
4.0.00_SP1 |
If you add a WEBDataAttribute of type WEBStructType where there is no corresponding domain struct type to a WEBDataClass there will be an error when you try to generate code. This does not happen if the new WEBDataAttribute is of type String. |
The beansave and bean load method are generated correctly (no compound statements) for WEBstructs that have no application structs counterparts. Such structs only exists as a Formbean implementation and it is the responsibility to provide translations from and to the business tier, if required. |
| 25674 |
2-Major |
Using Date or Timestamp as a part of Compound primary key in 2-tier DAC application results in compilation errors |
GA 3.3.01 |
4.0.00_SP1 |
A 2-tier model with a compound key, where one of the key attributes has the type Date results in a compile error like:
Compilation error: /application/business/logic/ExampleDAC.java [589:1] cannot resolve symbol symbol : method getExampleDate () location: class application.business.common.example.ExampleUpdateObject prepare.setDate(2, new java.sql.Date(exampleUpdateObject.getExampleDate ().getTime())); |
Fixed |
| 25712 |
2-Major |
Read-only enumeration does not use the resource bundle |
GA 3.3.01 |
4.0.00_SP1 |
If you use a read-only enumeration in your domain or web model it is displayed in the jsp by showing the hard coded values entered in the domain model instead of the translated values it should display using the resource bundle. |
fixed |
| 25713 |
2-Major |
MSS 2K: 1_N store order wrong in user defined domain service |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 25770 |
2-Major |
Code is not generated to delete referenced classes |
GA 3.3.01 |
4.0.00_SP1 |
Code is not generated correctly for Webaction of type Delete. The problem occurs when a composition or one-to-many relationship is created, together with a user-defined Webcomponent maintaining this relationship and having a 'form' Webpage to edit the wholeside or parent Domainclass, and that has a page event calling a Webaction which deletes the partside or child DomainClass. |
|
| 25892 |
2-Major |
Cannot use tag on attribute for sub web data class |
3.3.01 SP2 |
4.0.00_SP1 |
The documentation "Binding a List to a Data Reference", does not work for a subclass |
|
| 25901 |
2-Major |
Copy and paste in WebPages creates corrupt data |
3.3.01 SP2 |
4.0.00_SP1 |
Copy and paste in WebPages doesn't change the bindings. |
|
| 25999 |
2-Major |
Error thrown when importing WSDL file |
3.3.01 SP2 |
4.0.00_SP1 |
Error thrown when importing WSDL file. The WSDL file refers to an external .xsd file by specifying a relative path. |
Fixed |
| 26002 |
2-Major |
Not all code removed after domain class deleted |
3.3.01 SP2 |
4.0.00_SP1 |
A domain class is removed and after update all models and generating the code, some code has not been deleted.
Files generated from WEBDataClasses are NOT deleted since they do not have a 'module' property. In the MCR we listen to 'module' changes to detect when elements get a new module or are deleted (the module is set to 'null' in that case). This works for all elements except for the WEBDataClasses that inherit their module property from the WEBDataSchema |
The MCR now listens to delete change events as well. This way we can also 'absolutify' the URL when an element is deleted that is not a module part. |
| 26106 |
2-Major |
compile errors when using attributes from a other subsystem in a flow guard |
4.0.00 |
4.0.00_SP1 |
The problem is caused by the AL ipattern not taking modules into account: it always assumes that any component accessed from an AL code fragment is in the same module as the code generated from AL code fragment. It is not true for multiple subsystems for example.
When a remote interface is used, RemoteException should be taken into account. Since originally only local interfaces were assumed, RemoteException were not considered. |
Fixed |
| 26123 |
2-Major |
Update model resets manual changes to WebDataAttribute.constraint property |
3.3.01 SP2 |
4.0.00_SP1 |
Manual changes to the WebDataAttribute.constraint and WebDataAttributeConstraint.constrainedElements properties are reset by update model. |
|
| 26240 |
2-Major |
Error page when login to secured MainMenu.jsp via programmatic web authentication |
4.0.00 |
4.0.00_SP1 |
|
|
| 26268 |
2-Major |
Select button doesn't work after loading default maintenance page into UI Designer |
4.0.00 |
4.0.00_SP1 |
Select button on a default maintenance form does not work anymore after loading the form into the UI Designer and redeploy application. |
Fixed |
| 26284 |
2-Major |
Model > Generate All > Documentation is broken |
4.0.00 |
4.0.00_SP1 |
Model > Generate All > Documentation does not result in generated documentation. |
|
| 26317 |
2-Major |
Code in free block is lost when code is generated |
3.3.01 SP2 |
4.0.00_SP1 |
Sometimes code in free blocks is overwritten when code is generated again.
Things go wrong because the block markers in this generated file (//GEN-GUARD, etc) contain an extra space character at the end, which becomes part of theBlock's ID. When regerating code probably the ID is not found => free block lost. |
fixed by stripping off the trailing space before comparisson. |
| 26350 |
2-Major |
SequentialKeyGeneratorLong instantiation results in nullpointer exception |
3.3.01 SP2 |
4.0.00_SP1 |
|
|
| 20871 |
3-Normal |
Increased webpage cannot be reached via vertical scroll bar |
3.3.Phase1 |
4.0.00_SP1 |
Open the UI designer on a (generated) page which occupies the complete visible area of the editor. Perform an action which increases the vertical size of the page. E.g. increase the vertical size of an element in the panel at the bottom of the page. |
Fixed |
| 24075 |
3-Normal |
Performance problems when adding new associations in Domain Class model with many classes |
GA 3.3.00 SP1 |
4.0.00_SP1 |
When adding new associations in a Class Diagram with a Domain Class model having approx. 70 classes, OptimalJ hangs for 2-3 mins and the CPU goes to 100%. |
|
| 24917 |
3-Normal |
2-tier model runtime errors when using BLOB, inheritance and composition |
GA 3.3.01 |
4.0.00_SP1 |
Classes that contain a retriever (blobRetriever, lazyRetriever) can cause a java.io.NotSerializableException. |
Fixed. The Retriever interface has changed. It now implements java.io.Serializable.
Note: this means that if a user makes its own Retriever class that implements the Retriever interface, the class (and thus all of its members) should be Serializable. |
| 24940 |
3-Normal |
java.util.Date is not supported by WebSphere as an input parameter for a finder method |
3.3.01 SP1 |
4.0.00_SP1 |
|
|
| 25348 |
3-Normal |
eardef file doesn't get compiled |
3.3.01 SP1 |
4.0.00_SP1 |
The problem is that the web and the ejb xml files do not need the same order. In the web-app_2_3. dtd used in the web.xml (http://java.sun.com/dtd/web-app_2_3.dtd) you have
<!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,env-entry-type)>
and in ejb-jar_2_0.dtd use in the ejb.xml (http://java.sun.com/dtd/ejb-jar_2_0.dtd) you have another order:
<!ELEMENT env-entry (description?, env-entry-name, env-entry-type, env-entry-value?)> |
To be able to generate the env-entry with the same template we have added a parameter moduleType to the jointpoint ADDITIONALENVENTRIES and to RESOURCEREFS and also change the involved templates. This variable will take 2 values “WEB” the default value and “EJB” if the env-entry is place in an ejb.xml. |
| 25359 |
3-Normal |
Free Blocks in customer action classes |
3.3.Phase1 |
4.0.00_SP1 |
Action class code generated from a custom action defined in the flow modeller only contains one free block. If you define the action class to be of a certain type, OJ generates code (e.g. retrieval of data) after the free block, and thus leaves the programmer with no way of entering code after the OJ code but before the return statement. |
Provided two free blocks, one in the beginning and another one at the end. |
| 25379 |
3-Normal |
Webflows not working in consistent manner |
3.3.01 SP2 |
4.0.00_SP1 |
The User-defined UpdateLinks action uses Reference.type name to determine the retrun value (XXXKeyColl) of a SelectListFlow. It should use the KeyClass name for that. When a user has multiple references to a Class and they are all byValue(owned) in Service model, they refer to different ClassViews whereas the Same SelectList Flow provides that one Class. |
This check will give errors on these modelElements: Error: WEB080 - WebInvocationNode |
| 25385 |
3-Normal |
MountPoints Exception : When subsystem jar mounted |
GA 3.3.01 |
4.0.00_SP1 |
Archive folder directory of subsystem jar is not managed correctly, causing exception. |
Fixed |
| 25577 |
3-Normal |
model check for failures event on a store action. |
4.0.00 |
4.0.00_SP1 |
A new model check has been added as part of bug 25398. This will give a warning (help code WEB078) if a WebAction which is under a userdefined webcomponent doesn't contain any WebActions called 'failures'. |
short description of the WEB078 reference topic added to documentation. |
| 25580 |
3-Normal |
compile error when readOnly DAOs are generated from domain subclass and superclass with Generalization. |
GA 3.3.01 |
4.0.00_SP1 |
Compile error when readOnly DAOs are generated from domain subclass and superclass with Generalization.
Create a 2-tier model with 2 classes. Animal and Turtle where Turtle is a specialization of Animal. Update all models. Set the TurtleDAC and AnimalDAC readOnly property to true. Generate code and compile.
Compilation fails due to 2 problems: 1) The businessfacade cannot handle readOnly DACComponents, this is bug 11534. 2) The ConstraintHandler doesn't compile because it calls delete methods in the DACComponent that aren't generated. This is solved in this bug. |
The compilation problems in the ConstraintHandler are fixed. |
| 25609 |
3-Normal |
Compile error, method not found |
3.3.01 SP1 |
4.0.00_SP1 |
in the validate<part> method for the part of the composite association we use a variable called mandatoryColl to check the mandatory 1-* associations from the part. In case of the object is not created we initialize this variable with the get<association>Keys method. Unfortunately the former method is in another inner class of the bean. To fix the problem we have only to prefix the call of the method with dataItem representing the inner instance of the part. |
Changed the GenerateValidate.tpl to prefix the call of the get<association>Keys method with dataItem |
| 25652 |
3-Normal |
Parser error in cases with database sequence generated keys and user defined finder methods. |
3.3.01 SP2 |
4.0.00_SP1 |
If you use a keyGeneration set to Database sequence for a KeyClass (keyAttribute) and if you have a customized finder method on an Entity Bean using this KeyClass then the ejb.xml uses the wrong order and does not comply with the DTD. The order in the xml file is: ... <entity-command> </entity-command> <query> </query> ... But it should be : <query> </query> <entity-command> </entity-command> |
|
| 25659 |
3-Normal |
having restricted associations & DAO components generated, results in non compiling DAO constraint handler. |
3.3.01 SP2 |
4.0.00_SP1 |
Create new 2- tier project from class with three classes: ClassB(*)-->(1)ClassA(1)<--(*)ClassC - Generate DAO from Domain - Update all models - Generate all models - Compile --> compilation error: /application/business/logic/ConstrhandlerdupBusinesslogicC onstraintHandler.java [183:1] prepare is already defined in isRestrictingOfClassADAC (application.business.common.ClassAKey,java.util.Collectio n) PreparedStatement prepare = null; ^ 1 error Errors compiling Project. |
Fixed |
| 25806 |
3-Normal |
Errouneously generated code in BLC-classes in project containing DAOs |
3.3.01 SP2 |
4.0.00_SP1 |
|
fixed |
| 25861 |
3-Normal |
UpdateLinks is causing application not to compile if using subtypes |
3.3.01 SP2 |
4.0.00_SP1 |
When using the UI designer, if the main class has associations to classes which are subtypes, any action of type 'UpdateLinks' is created with code that will not compile. The code needs to have a casting inserted. |
fixed |
| 25866 |
3-Normal |
Other Subsystem's activities not removed from realization when changing specialization from ProcessCall to... |
4.0.00 |
4.0.00_SP1 |
When changing the specialization type of an Activity from a ProcessCall (invoking a Process in a different subsystem with interactive tasks) to any other type, update all models doesn't remove the other subsystem's activities from the BrowseTasks realization activity list. |
|
| 25913 |
3-Normal |
Pasting to free block in OptimalJ Java editor in Eclipse causes error |
3.3.01 SP2 |
4.0.00_SP1 |
When pasting code in a free block an error occurs if the block does not contain enough new lines for the pasted code. |
Fixed |
| 25919 |
3-Normal |
Multiplicity of a returnparameter of a businessexpression has no effect on code. |
GA 3.3.01 |
4.0.00_SP1 |
Changing the multiplicity of a returnparameter of a businessexpression does not affect the code. |
Let, if the upper multiplicity is *, the generated returntype be the UpdateObjectCollection. |
| 26009 |
3-Normal |
Reorganizing imports removes imports from guarded block in Eclipse |
3.3.01 SP2 |
4.0.00_SP1 |
When re-organising imports (using either reorganize imports (ctrl+shift+o) or quickfix (ctrl+1)) the imports in the guarded block(s) are also removed. Also imports are added to the guarded block instead of a free block. |
Disabled this functionality in the OptimalJ-java-Editor in Eclipse. |
| 26027 |
3-Normal |
The WEB080 message needs to get a description in the help system. |
3.3.01 SP2 |
4.0.00_SP1 |
The WEB080 message needs to get a description in the help system. |
For maintenance WEB Components, reuse of a child Web flow from other WEBComponents is not supported. You can, however, reuse Root Web flows from other WEBComponents.
For user-defined WEBComponents, all generated Web flows can be integrated with user-defined flows. For example, using a subflow of type SelectList Flow, or using the rootFlow of another maintenance pattern component are both allowed.
Solution: For maintenance components, only reuse Root Web flows from other WEBComponents or create a user-defined Web flow. |
| 26049 |
3-Normal |
WebDataAttribute of type EnumerationType with property updateAllowed=False not properly displayed |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 26090 |
3-Normal |
Multiple relations[ associations] to class and use of fast lane data access (DAC) results in an application that does not handle the relations properly. |
3.3.01 SP2 |
4.0.00_SP1 |
The combination of double up relations to one class and the use of fast lane data access (DAC) results in an application that does not handle up-relations properly. |
The changes are: - The generated SQL statements in DAO code generation - Some new utility methods have been added, which are called by the DAO SQL statement generation. |
| 26124 |
3-Normal |
WEB081: New modelcheck for web |
4.0.00_SP1 |
4.0.00_SP1 |
Help for new model check error: A webButton bound to a webPageEvent must be defined in the same webPage as the webPageEvent. |
A webButton is bound to an action event of the webPage and executes the event that is defined in the WebFlow of the WebComponent. For a webButton to be bound to a webPageEvent, both the webButton and webPageEvent must be defined within the same webPage. |
| 26130 |
3-Normal |
Two tier app with parallel assoc generates wrong SQL |
GA 3.3.01 |
4.0.00_SP1 |
|
|
| 26158 |
3-Normal |
Non-fully qualified class name (Driver of java.sql.Driver) causes compiling error. |
3.3.01 SP2 |
4.0.00_SP1 |
The source of an *ejbconstrainthandler imports java.sql.*. This may lead to nameclashes, e.g. if you have a domain class named Driver. |
|
| 26287 |
3-Normal |
Modelpackages are not copied from business facade to presentation |
4.0.00 |
4.0.00_SP1 |
|
Added rule to copy the ModelPackages from business facade to Presentation. |
Total number of records: 50