Release notes

Release notes for OptimalJ 4.0.00_SP1


This release includes fixes made in : 4.0.00_SP1

Additional Notes

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:

  1. Open the project in the OptimalJ maintenance release, and choose Model > Update All Models.
  2. After Update All Models has completed, choose Model > Generate All > Code.

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.


Table of resolved bugs

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



Generated at: Thu Jul 07 21:37:33 CEST 2005