Release notes

Release notes for OptimalJ 4.0.00_SP6


This release includes fixes made in : 4.0.00_SP6, 4.0.00_SP5, 4.0.00_SP4, 4.0.00_SP3, 4.0.00_SP2, 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
26004 0-Blocker sometimes warnings on forced rename 4.0.00_SP3 4.0.00_SP3 Sometimes when updating models warnings like the following
are given:
WARNING: Forced rename
Fixed in 4.0.00 SP3
26042 1-Critical Add to diagram in UML UseCase diagram does not show all edges GA 3.3.00 4.0.00_SP2 When importing a use case model exporting from Catalyze,
you can't repaint the use case diagram completely.

Steps to Reproduce:
- Import XMI file (attached) UML diagram area
- Create a new Use Case diagram
- Add elements to the diagram

Observed behaviour:
You can't add all elements to the diagrams.
Fixed
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    
26684 1-Critical Warning in Web copier about not being able to resolve SelectList flow when not all classes are used in service model 4.0.00_SP1 4.0.00_SP2   A model check in Web has been added specifically for
SelectList flow.
27371 1-Critical Incorrect SQL and prepare statements generated for DACs when the key is deep in the model 3.3.01 SP2 4.0.00_SP5 The set or where part of the sql query is incomplete when
the key is compound. This happens for
nullify<reference.name> and update<reference.name>
methods.

E.g. the following code is generated:

prepare = obtainConnection().prepareStatement("update A
set a=?, where b=?");

not all Columns are found in the DBMS model.
Fixed.
27388 1-Critical Deleted DomainOperations reappear after SyncAll GA 3.2.01 4.0.00_SP4 The XMI merge tool collects differences between two
versions of the same XMI file by reading the first
version, and then reading the second version into the same
repository.  The merge tool collects the property change
events that are fired while the second file is being read.
The problem occurs when the second XMI file no longer
contains some property (for example, the first XMI file is
a DomainService whose 'feature' property contains some
operations, the second version is the same DomainService
without feature).  In that case OJ's XMI reader does not
throw a property change for the 'feature' property because
it does not read that property at all (since it is
absent).  Therefore the change is not noticed by the merge
tool, resulting in the symptoms described in this bug.
This issue has been fixed.
21390 2-Major Copy/Paste - usability - pasted elements need to be placed on selected location 3.3.Phase1 4.0.00_SP2 When selecting paste on a specific location on the canvas,
the elements need to be created on that location.
New behavior:

PASTE IN THE DIAGRAM
A. Using the popup menu on a specific location on the
canvas: the element will appear at that location.
B. Using Ctrl-V while the canvas has focus: the element
will appear in the centre of the visible part of the canvas.
C. Using Paste in the main Edit menu: as Ctrl-V.
D. Doing either A, B or C with elements that are laid out
automatically (such as Attributes or Associations) will
not influence their positioning: behaviour is unchanged.
When pasting multiple elements, the elements will be
staggered from top-left to bottom-right, so it will be
clear to the user that a multiple selection has been pasted.

PASTE IN THE MODEL EXPLORER
The behaviour for the explorer tree is unchanged. When
using the popup menu, the main Edit menu, or Ctrl-V on a
paste target, the element will occur as child in the tree,
and be generated ("like new") to the right of all existing
elements in the diagram. The same goes for pasting a
multiple selection.
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_SP3 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.
26078 2-Major Missing ComponentReference in 2-tier model leads to Null Pointer Exception when generating code GA 3.3.01 4.0.00_SP2 Removing one (DAO)ComponentReference from the application
model will lead to code generation problems. There is no
modelchecker that warns you about this situation.
A modelchecker is added that ensured that a
ComponentReference is always connected to another
ComponentReference. It is now also possible to manually
create a ComponentReference in the dao model via the 'new
child' menu, but there is no wizard.
26080 2-Major Defining a BusinessMethod to locate superclass finder method does not deploy 3.3.01 SP2 4.0.00_SP2 When a BusinessMethod named "findByStreetAndZipCode" is
defined in a subclass such that it uses
inheritanceLocator
to delegate to the finder method on the super classes, an
error is thrown upon starting application server.
A modelchecker is added and the wizard is updated to
prevent incorrect naming of the BusinessMethod that is
also a home method.
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.
 
26222 2-Major 2 deep byValue BLOB not retrieved 4.0.00 4.0.00_SP2 A service model using BLOB attributes where one of the
ReferenceViews in the domain is set 2 deep byValue, the
BLOB is not retrieved from the DB.
Fixed
26240 2-Major Error page when login to secured MainMenu.jsp via programmatic web authentication 4.0.00 4.0.00_SP1    
26252 2-Major Body tags should be generated by webTemplate not webPage 3.3.01 SP2 4.0.00_SP2 When a WebPage uses a WebTemplate, the <body> tag should
be generated by the WebTemplate not the WebPage. Otherwise
a user cannot control the look of the body tag easily.

If a webTemplate has an includePanel which includes a page
that has a body tag and it also has a tilePanel, this
creates problems. Body tags should be controlled and
generated from the webTemplate.
The following is implemented:

- The template should contain the <body> element
- A WebPage that makes use of a template should NOT
generate the <body> element
26253 2-Major Defining a BusinessMethod on a generalization to find by a FinderMethod of the specialization throws error 3.3.01 SP2 4.0.00_SP2 Defining a BusinessMethod on a generalization to find via
the inheritance locator by only a FinderMethod of the
specialization throws an error.

for example:

Animal
name
  ^
  |
Turtle

Make a FinderMethod in Animal - findByName
In Turtle create a BusinessMethod with InheritanceLocator
and add findByName. This should return Turtle's with a
specific name, but it doesn't.
The problem is fixed. Extra code is generated in the
inheritance locator. It walks trough all the found
objects
(e.g. all the Animals) and then looks if the objects are
also Turtles. The findByPrimaryKey of the Turtle is used
to establish this. All objects that are Turtles are
returned.

Anticipating on few hits in the generalization:
When many hits are expected in the specialization, the
solution as implemented will check each hit through
findByPrimaryKey on the specialization.

Anticipating on many hits in the generalization:
Consider modeling an additional findAll on the subclass.
That will prevent multiple additional look-ups through
findByPrimaryKey.

Depending on the requirement, child class
findByPrimaryKey or findAll should be added in the
inheritance locator along with parent class finder
method.
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
comparison.
26350 2-Major SequentialKeyGeneratorLong instantiation results in nullpointer exception 3.3.01 SP2 4.0.00_SP1    
26385 2-Major Using a 3-tier model with inheritance and the page iterator results in compile errors PH 4.0.Phase1 4.0.00_SP2 Using a 3-tier model (unsing ejb components) with
inheritance and the page iterator enabled on the
specialization results in compile errors.
Fixed. The correct KeyClass name is generated.
26395 2-Major Security tags not generated on MainMenu when using JSP Templates and Programmatic Security GA 3.3.01 4.0.00_SP2 When using programmatic security the following tags are
generated in  MainMenu.jsp (when using DreamWeaver templates)

<authentication:enforceAuthentication
loginPage="WEBAuthenticationComponentLogin.jsp"/>
<authentication:isUserNotInRoles roles="admin">
<jsp:forward
page="WEBAuthenticationComponentSecurityRoleViolation.jsp" />
</authentication:isUserNotInRoles>

When setting defaultJspTemplate to "Jsp Template Tags" the
above tags are not generated which means that MainMenu.jsp
is not secured anymore.
Authentication TLD is now included in the JSP
(jspContentMenu).
26430 2-Major Invalid Mountpoints in the code model explorer 3.3.01 SP2 4.0.00_SP2 After generating code you end up with Invalid Mountpoint
in the code model explorer, if your code location setting
is to Automatically Mountpoints.

This is occuring because the user has failed to use the
mount point manager to recreate the information lost in
the absence of the machine specific .nbattrs files.  Since
the project can not relate the mounted code directories
without these files, OptimalJ assumes it does not have the
directories yet and creates new duplicate directories as
instructed.

The correct procedure would be to use the mount point
manager to reconstruct the project after cvs checkout and
before update all models and generate.  

It would appear however the documentation does not
describe this step and should be updated accordingly
Documentation updated to reflect correct procedure.
26436 2-Major Starting up with Documentation component already open results in NPE 4.0.00 4.0.00_SP4 When starting OptimalJ with the Documentation component
already open, you get the following stacktrace:

java.lang.NullPointerException
    at
com.compuware.netbeans.modules.mofToolBase.
DocumentationComponent.updateDocComponent(DocumentationComponent.java:322)
    at
com.compuware.netbeans.modules.mofToolBase.
DocumentationComponent$Listener.activate(DocumentationComponent.java:394)
...
...
Component initialisation is postponed to a little later
moment.
26500 2-Major isChanged() method in update object does not work 3.3.01 SP2 4.0.00_SP2 Of the isChanged() method in the generated code of
UpdateObject sometimes the result changes after you've
called the UpdateObject's get<AssociatedClass>() method.

The result should not be influenced when you call the get
method.
This bug is fixed in OptimalJ 4.0.00_SP2. If you migrate
your application from an older version to this release or
higher, the fix takes effect when you regenerate the code
of the UpdateObjects.
26562 2-Major 2-tier model with DomainStructType field of type Date results in compile error 4.0.00 4.0.00_SP2 A 2-tier model with a DomainStructType with field having
type Date which is used in a DomainClass with an attribute
having as type the DomainStructType results in compile
errors like:

Observed
behaviour:corp/cpwr/test/application/business/logic/TestDA
C.java

[848:1] <identifier> expected
structname.setStructValue((java.util.Date) result.(4));
Fixed
26587 2-Major Code added to free block in xml files lost 4.0.00_SP1 4.0.00_SP1 During code (re)generation, code added in free blocks is
lost in several xml files.

The bug is due to an incorrect fix in OptimalJ 4.0.00 SP1
for bug 26317. The incorrect fix affects every xml file,
typically deployment descriptors for application servers
and configuration files for web servers.
 
26620 2-Major Using published Business Expression libraries in another subsystem result in Compilation errors 4.0.00_SP1 4.0.00_SP2 When you use a business expression library in another
subsystem, in files which contain calls to this business
expression library the corresponding import statement is
not generated.
This is fixed in OptimalJ 4.0.00_SP2.
When you migrate an application from an older release of
OptimalJ to this release or later, this fix takes effect
when you regenerate the code of the using subsystem.
26628 2-Major Published attributeConstraint cannot not be set for domainAttribute 4.0.00_SP1 4.0.00_SP3 Publish subsystemA that has a domainAttributeConstraint
with a Business expression. In subsystemB, set the
attributeConstraint property for a domainAttribute to the
constraint from the published subsystemA. The value does
not hold for the property. After selecting it, the value
becomes null.
Meta model change to store the association in attribute.
Copiers are updated accordingly. Repository does not
require migration.
26654 2-Major Tools -> Options -> ... -> Naming convention for foreign key attributes doesn't work 4.0.00_SP1 4.0.00_SP2 Using Tools -> Options -> OJ configuration -> Modeling and
Model Generation --> Model Check, Naming Conventions,
Character Sets --> Naming convention for foreign key
doesn't work. Only the option 'Role name' works.
Fixed. The option 'None" working again.
26685 2-Major WebLogic custom control compile error with serviceoperationexception 4.0.00_SP1 4.0.00_SP2 When a domain service has a custom operation that uses a
custom exception, the method signature generated in the
application.business.facade.wlwcontrols.svcname.SvcNameControl.java
interface is missing the throws keyword.
Throws keyword is now generated appropriately.
26687 2-Major Control created inside OJ can't be installed into Weblogic Workshop 4.0.00_SP1 4.0.00_SP2 Due to a classloader issue in BEA WebLogic Workshop (known
under BEA case number 579291), the name of an OptimalJ
innerclass caused this issue to appear.
Fixed in OptimalJ by adapting the innerclass name to a
value that is accepted by WLW.
26721 2-Major User-defined webcomponent in two-tier app updates related classes 4.0.00_SP1 4.0.00_SP2 Two-tier application generated from userdefined web
component updates related classes where it should not have
done so.

The web code uses fromKeyClass to find an associated
UpdateObject. If it is not in the cache a new UpdateObject
is created which only contains the key. The UpdateObject
will have it's isResolved flag set to false.

Expected from the businessfacade and the layers below is
that UpdateObjects which are not resolved are not stored.
In this case the DACComponent does not look at the
isResolved and performs the update. This results in
dataloss.
With this fix, an additional method was needed to be added
to the alturaApplicationDeploy.jar file. This new jarfile
is backwards compatible with OptimalJ 4.0.00 and
4.0.00SP1.

The error message you will get when you deploy an OptimalJ
4.0.00 SP2 application with the wrong
alturaApplicationDeploy.jar file is similar to:
java.lang.NoSuchMethodError:
mytwotier01.application.business.common.member.MemberUpdat
eObject.setResolved(Z)V

mytwotier01.application.business.logic.MemberSvcBLC.storeM
ember(MemberSvcBLC.java:520)
...
...

When manual code is creating UpdateObjects not based on a
DataObject the isResolved flag is false. Perfonrming an
update via a DACComponent will result in a not updated
database. In the new created UpdateObject the method
setResolved(true) must be called if it is desired to store
the updates of the UpdateObject.
26737 2-Major No use-case Diagram after uml import from steeltrace 4.0.00 4.0.00_SP2    
26767 2-Major Generate code for a process model with OCL Guards sets regenerateprotected property of business logic guards 4.0.00 4.0.00_SP3 Generate code for a process model with Guards  sets
regenerateprotected property of business logic guards.
In case of "reading" objects in: postpone lookup of the
RefObjects until the repository is in the known good state.
26789 2-Major Compilation error in DAC components when there are associations between a supertype and a class in a different package. 4.0.00_SP1 4.0.00_SP3 Compilation error in DAC components when there are
associations between a supertype and a class in a
different package.
Fixed.
26798 2-Major Association across packages gives compiler problem for subclasses 4.0.00_SP1 4.0.00_SP3 Compilation error in EntityBeans when there are
associations between a supertype and a class in a
different package.
Fixed.
26813 2-Major wrong code when using user-defined webtemplate 4.0.00_SP1 4.0.00_SP3 After user creates a webtemplate and applies it to
existing default webpage, in generated jsp code still
contains the reference to default
webtemplate(/testpkg1Web/alturaTemplate.jsp).
This causes NPE when navigating from many class to one
class in web tier during testing.
Changed the technology pattern jspSelectList.tpl to use
the specified WebTemplate in the same matter as jspChange,
jspBrowse etc.
26814 2-Major EJB Spec violation when transient attribute used in generalization 4.0.00_SP1 4.0.00_SP3 A 3-tier model with Category:Transient for an attribute
of
a generalization results in an undeployable
specialization. The getters and setters of the inherited
attribute are missing in the specialization.
Fixed.
26825 2-Major joining implicit joinpoint of JOINPOINT does not compile 4.0.00_SP2 4.0.00_SP3 Compiling a template that joins an implicit joinpoint of
a
joinpoint template, results in the compile error:

BRTEJBInjection/BRTSESSIONCOMPONENTINJECTION.java [27:1]
cannot find symbol
symbol  : class SESSIONBEAN_END
location: class
BRTEJBInjection.BRTSESSIONCOMPONENTINJECTION
    public static Class[] joinedClasses =
{SESSIONBEAN_END.class};
If a FILE statement occurs inside a JOINPOINT, then
implicit join points are generated by the TPL compiler
as part of the default implementation of the join point.
To make reference to these implicit join points, you
must use the generated template containing the default
implementation: for example, JoinPointName_DEFAULT.END.
26911 2-Major Combination Primary key does not retrieve data 4.0.00_SP1 4.0.00_SP3 A 2-tier model with a * -- 0..1 association between 2
classes, where the many side key contains the reference to
the single side, does not retrieve the association.
Fixed.
26915 2-Major Compilation error when Date data attribute is used in DAC. 4.0.00_SP1 4.0.00_SP3 A DomainAttribute of type "Date" with value: "Constant:0"
in a 2-tier model results in uncompilable code.
 
26926 2-Major WebTemplate does not work on WebSphere. 4.0.00_SP1 4.0.00_SP3 If you create a webtemplate in the webmodel and you
generate code from it, the
resulting webtemplate.jsp (located in
...WebModuleCode\Templates) will contain the
following code:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ page pageEncoding="utf-8" %>
<%@ page errorPage="/AppError.jsp"%>
<%@ taglib uri="/struts-tiles.tld" prefix="tiles" %>
  <%@ taglib uri="/struts-html.tld" prefix="html" %>
<%@ taglib uri="/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/c.tld" prefix="c" %>
<%@ taglib uri="/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/struts-tiles.tld" prefix="tiles" %>

The last line with a tag library definition (taglib
uri="/struts-tiles.tld" prefix="tiles") occurs twice in
this block.
This is not a problem for JBoss, but deploying this on
WebSphere
gives an exception, which is not displayed in an error
page,
but occurs as just plain text:

----------------------------------------------------------
-----------------
Error 500: ServletException in
'/Templates/WebTemplate.jsp': <h3>Validation
error messages from tag library
fmt</h3>org.xml.sax.SAXParseException: Attribute
"xmlns:tiles" was already specified for element
"jsp:root".<h3>Validation error
messages from tag library
c</h3>org.xml.sax.SAXParseException: Attribute
"xmlns:tiles" was already specified for
element "jsp:root".
----------------------------------------------------------
-----------------
 
26930 2-Major Duplicate code for WebOperation with two usedServingAttributes 4.0.00_SP1 4.0.00_SP3 When you have a WebOperation which is generated from
domainOperation. The WebServingAttribute has two
usedServingAttributes. This causes duplicate code in the
action class for the WebOperation that will not compile.
Changed the loop statement in
operation.delegation.OPERATIONDELEGATIONACTUAL template to
only generate code for the first usedServingAttribute.
26931 2-Major Deleted Tranformation still shows in process diagram 4.0.00_SP1 4.0.00_SP3 Deleted Tranformation still shows in process diagram.
In the Process Model, if you add a transformation and
later delete it in the wizard, the diagram is not updated.
It still shows the Tranformation information.
Fixed
26953 2-Major KeyList class not imported for DAC without support page iterator 4.0.00_SP1 4.0.00_SP3 Unchecking supportPageIterator property for DAC leads to
compile errors. The KeyList class is not imported.
Fixed.
26988 2-Major Generation errors for transformation calling method 4.0.00_SP2 4.0.00_SP3 In a simple Transformation followin kind of errors are
reported:

The following error encountered while copying property
transformation of
corp.cpwr.exp.domain.process.ExpApproval.Flow22: cannot
find a target feature for the source feature
corp.cpwr.exp.domain.class.Exp.getEmailRequest.
The target model might be incomplete.
a model checker has be added stating that a
DomainOperation with a Categories.DataLevel category is
not supported by the OCL implementation.
27040 2-Major Main menu is blank if application contains only user defined web components 4.0.00_SP2 4.0.00_SP3 If an application contains only user defined web
components (i.e. generated maintenance and browse
components have been removed from the presentation tier)
then some JSPs which are needed by MainMenu.jsp are not
generated. As a result the browser display is empty when
the application is deployed and there are no links to
any of the user generated components.
 
27161 2-Major Error when using the business method on generalization from session component. 4.0.00_SP2 4.0.00_SP5   fixed
27288 2-Major Https soapAddress cause WS044 3.3.01 SP2 4.0.00_SP4 Https soap address like this  in wsdl will cause WS044
during model check.

<wsdlsoap:address
location="https://www.example.com/service"/>
https is now accepted as protocol.
27291 2-Major Compilation error when two panels on same page use same binding 4.0.00 4.0.00_SP4   Removed the <jsp:useBean> for user-defined pages. Only
maintenance pages need the <jsp:useBean>.
27293 2-Major Values of enum inside a struct not shown in dropdown on page 4.0.00_SP3 4.0.00_SP4 The TPL for userdefind dropdown checks for WebAttribute
with type = enumeration, then does the enumeration labels.
It does not check for a WebField with type = enumeration.
Changed the tpl to handle both WebAttribute and WebField.
This is also done for the preview.
27301 2-Major FormBean is generating wrong code in guarded block when using WebDataSchema 4.0.00_SP2 4.0.00_SP4 User defined components without a served attribute do not
generate formbeans for dataclasses that are referenced
from dataclasses mentioned in the usedelement relationship
of pages and actions.
This issue has been fixed
27341 2-Major Composite PK with timestamp cause DAC compile error 3.3.01 SP2 4.0.00_SP5 Attribute type: Timestamp that is part of Primary Key on
composite type relationship causes compile error with DAO
components.

Observed behaviour:
crm/application/business/logic/DomainClass_f1DAC.java
[801:1] <identifier> expected
domainClass_f2DomainClass_f1Ts = (java.util.Date) result.(8);
Fixed.
27424 2-Major Trial licence does not work with Developer Edition Eclipse service pack 4.0.00_SP2 4.0.00_SP6 If OptimalJ Developer Edition Eclipse is installed with
the trial licence then if you try to run it, it exits
with a licence failure. The problem does not occur with
the GA version of OptimalJ Developer Edition Eclipse. It
only occurs when a service pack is installed.

In the OptimalJ DE Eclipse install directory (default
value C:\Compuware\OptimalJ-DE-Eclipse), there is a
directory called plugins. This directory contains the
sub-directory com.compuware.optimalj.idecommon_4.0.00.n,
where n is the service pack number. This directory
contains a sub-directory called licensing.

OptimalJ looks for the licence information in the
directory that is created during installation of the GA
version of OptimalJ i.e:

com.compuware.optimalj.idecommon_4.0.00\licensing
 
27427 2-Major Cut and Paste in models changes xcm files, even when object is restored in old position 4.0.00_SP3 4.0.00_SP4 If you accidentally click and move a modelelement within
the domain/application model editor it may loose
properties, depending on the location of the drop target.
In this case vital information of the object might be lost.
If you set the ide.cfg flag:
-J-DOJClipboard.CONFIRM_ON_MOVE=true
All cut-and-paste actions as well as drag-and-drop, will
ask for confirmation.
27447 2-Major WEBDataSchema wizard allows you to base WEBDataSchema on transient DomainClass 4.0.00_SP3 4.0.00_SP5   If (in the create WEBDataSchema wizard in the 2nd panel)
the radio button 'Domain Class' is chosen and (in the 3rd
panel) a transient DomainClass is selected:
  - disable the Next button
  - show a text 'This DomainClass is Transient, therefore
cannot base WEBDataSchema on it'
27448 2-Major Runtime error when trying to create a new instance when FK is part of composite PK key using DAC. 3.3.01 SP2 4.0.00_SP5   Fixed in Web
27529 2-Major No pattern created for EJBSessionComponent that uses a DACComponent 4.0.00 4.0.00_SP5 The EJB copier does not create FinderMethods for
SessionBeans that are linked to DACComponents only. The
copier only searches for FinderMethods in EnityBeans.
Fixed the copier to also look for FinderMethods in
DACComponents.

The above also enables an application architecture
"Three-Tier from Service, Using DAOs", as the session
component (SC) copier has been extended:
- to first look for entity components (ECs) to connect to
- if ECs are unavailable,
  then also look for DACs to connect to.

The "Three-Tier from Service, Using DAOs" is not yet
supported in the default set of tier structures.
Hence, the use case for establishing such an architecture
is:
- Create new tier structure: 3-tier from service.
- Delete EJB from Class pattern
  (but keep the EJB from Service pattern)
- Add DAO from Class pattern
- Start editing a class model
- Update all models.

---
27576 2-Major Jarroot not always correctly set when attaching > 1 IP patterns to an IP Module 4.0.00_SP1 4.0.00_SP5 When attaching more than one (>1) IP patterns to a IP
Module, only the first pattern is registered and
executed.
Fixed
27741 2-Major JBoss 4.0.2/4.0.3 external deployment doesn't work based on the reference guide provided by OJ 4.0.00_SP3 4.0.00_SP5 A classCastException occurs when deploying on JBoss
4.0.2 or 4.0.3.
The reason is because the class Loader setting has been
changed between JBoss 4.0.0 and 4.0.2/3. The
documetnation has been updated accordingly.
27865 2-Major Contextmenu on Packages can become very slow 4.0.00 4.0.00_SP5 The context menu on a ModelElement (especially on
packages with a lot of children (deep))becomes very slow
if there are a lot of files generated from this or another
model.
This problem has been fixed.
27926 2-Major doc on programatic VCS integration insufficient 4.0.00 4.0.00_SP5 The documentation on integration with unsupported VCS
systems did not provide sufficient support to create a
good integration with a VCS system.
The documentation has been removed.
28063 2-Major Custom constraint exceptions do not work correctly 3.3.01 SP2 4.0.00_SP6 The wrong exception was passed in the LogException. This
line was missing in the userDefined UpdateAction/
StoreAction code.
Fixed.
9976 3-Normal Additional free blocks in the EJB tier GA 3.0.00 4.0.00_SP6 Not enough free blocks exists in EntityBean and
PageIterator classes.
Free blocks are added for:

EntityBeans:

ejbCreate
ejbPostCreate
ejbRemove
ejbLoad
ejbStore

In EntityBean methods handling relations
(i.e. addInvoiceDetail(....), removeInvoiceDetail(....)

PageIterators classes (DAO and EJB):
initAll
initFind.... methods.
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
23158 3-Normal Usage only module requires a code mount point when not needed GA 3.3.00 4.0.00_SP3 On code generation a Code Mount Point is requested or
automatically created even for Modules for wich no code
will be generated. For instance a usageOnly module that
was the result of an import of Java classes or EJB Beans.
From 3.3.01_SP2 and 4.0.00 on Code Mount Points for
usageOnly Modules are no longer needed.
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
25724 3-Normal Date fields in structs are of type java.sql.Date 3.3.01 SP2 4.0.00_SP3 Struct fields of type Date (or Timestamp, Time), result
in
java.sql.Date (Timestamp, Time) members in the generated
struct class. As this class is technology independent,
it's undesirable to have sql (database) related
references.
Instead of java.sql.Date (or Timestamp, Time),
java.util.Date is used for code generated for struct
fields.
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.
 
26251 3-Normal deepCopy on UpdateObject does not deep copy key 3.3.01 SP2 4.0.00_SP2 When you deep copy an UpdateObject, its key is not
deep-copied, so that subsequent changes to fields that are
used in the key in the original influence the copy (and
vice versa).
Fixed in 4.0.00_SP2.
When you migrate an application from an older release of
OptimalJ to this release or later, this fix takes effect
when you start using the new alturalib (which happens
automatically when you test the application or
(re)generate the ear file).
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.
26379 3-Normal Incorrect deployment descriptor generated when parameter of type collection used 3.3.01 SP2 4.0.00_SP2 When the multiplicity of a parameter of a domain service
operation is set to 'zero or more' the resulting
deployment descriptor is incorrect.

Generated deployment descriptor is:
<method>
    <ejb-name>TestComponent</ejb-name>
    <method-name>fillStructs</method-name>
    <method-params>
      
<method-
param>crm.application.business.common.Struct</method-
param>
    </method-params>
</method>

It should be:

<method>
    <ejb-name>TestComponent</ejb-name>
    <method-name>fillStructs</method-name>
    <method-params>
      
<method-
param>crm.application.business.common.StructCollection</me
thod-param>
    </method-params>
</method>
Fixed
26381 3-Normal Move/Refactor behavior is not documented 4.0.ITB2 4.0.00_SP2 The behavior of OptimalJ models when objects are moved is
not documented. Especially with respect to technology
patterns.
The documentation now explains how generated objects are
moved when a source object is moved.
26392 3-Normal Relogin after logout fails GA 3.3.01 4.0.00_SP2 When the user logs out, the login page appears. When you
log in again as a different user on this page, the login
fails.
The logout link now forwards user to loggedOut page with
login / go to mainMenu link on it. This way logout should
not cause a forced login/ error.
26397 3-Normal Compilation errors when using PageIterator, finder method and  Enum object GA 3.3.01 4.0.00_SP2 Compilation errors when using PageIterator, finder method
and Enum object.

Example reproduction scenario:

1) Create new Project using crm example
2) Update All Models
3) Add new FinderMethod findTest to
[ServiceAgreement]EJBEntityComponent and add
[serviceLevel] for the parameter
4) Open properties for [ServiceAgreement]WEBComponent in
presentation model. Change [supportPageIterator]value to
[True]
5) Open properties for
[ServiceAgreement]BusinessFacadeComponent in facade
model. Change [supportPageIterator]value to [True]
6) Open properties for
[ServiceAgreement]EJBEntityComponent in logic model.
Change [supportPageIterator]value to [True]
7) Generate All Code
8) Compile Project

Compilation fails.
Fixed
26405 3-Normal implicit join points do not compile 4.0.00 4.0.00_SP2 Description: when trying to use implicit join points in a
custom TPL template, the compiler gives an error.



Steps to Reproduce: use the example from the Help topic
"Implicit Join Points".
Fixed.

The syntax required to make reference to implicit join
points has been changed by this fix. The previously
documented TemplateName_END syntax is now
TemplateName.END, where TemplateName is the name of the
template containing the FILE statement.

If a FILE statement occurs inside a JOINPOINT, then
implicit join points are generated by the TPL compiler
as part of the default implementation of the join point.
To make reference to these implicit join points, you
must use the generated template containing the default
implementation: for example, JoinPointName_DEFAULT.END
26467 3-Normal Add a free block in method logStackTrace in the base Action for a WEBComponent. unspecified 4.0.00_SP2 When exceptions are caught in the default actions (Update,
Select, etc), the method logException is called. This
method is declared in ControllerAction. It stores the
exception message in the errors list of the request, and
also calls logStackTrace(). The default logStackTrace in
ControllerAction does nothing. In the WEBComponent base
action class the same method logStackTrace exists, which
also does nothing, and the entire method is protected.
Instead of writing a logException method in every one of
the action classes in the web component it would be nice
to have a free block in the base action class so that
something like "logger.error("Exception: " +
t.getMessage(),t);" can be added.
New free block has been added.
26496 3-Normal JMI generation does not work anymore 3.3.01 SP2 4.0.00_SP2   Fixed
26555 3-Normal Web UI elements donot stretch automatically when moved to another panel 3.3.01 SP2 4.0.00_SP2 Steps to Reproduce:
- Create a model class with many attributes (five is enough)
- Create a web page using the UI designer and bind to the
data schema
- create initial layout
- at the bottom of the new page, add a webpanel
- move all the existing elements to the web panel (using
drag and drop)

Notice that the elements do not stretch to fill the panel.

Further testing showed that whenever a first panel
containing some elements is moved to second panel (a new
one), the size of first panel is not adjusted
automatically.  It has to be manually resized.
The 'flow' and 'table' layout managers of a WebPanel are
changed to handle sub panels differently from contained
widgets.  For the case of a contained WebPanel the width
will be calculated as follows:
- if the panel has width 'absolute' then that pixel value
will be used.
- if the panel has width 'automatic' then it will be
expanded to fill 100% of the available space.

Also panels are placed on their own line in a flow layout
or table cell.
26560 3-Normal fix implicit joinpoints doc 4.0.00 4.0.00_SP2 A software bug is fixed and a documentation fix is required:
implicit joinpoints fixed in 4.0.00SP2
Documentation updated
26574 3-Normal Describe new EJB097 modelcheck message 4.0.00_SP2 4.0.00_SP2 New modelcheck is introduced for bug 26080. This check
needs documentation.
The IsHome modelcheck is in OJ 4.0.00SP2 number EJB097 and
in 4.1 it is number EJB098.
26582 3-Normal Nested lists with no records produce extra <tr> tags 3.3.01 SP2 4.0.00_SP2 If you look at the HTML source, you will see:

<tr class="row-empty">
          <td colspan="100">No records found.</td>
</tr>

The <tr> and <td> tags should not be there, since all
other data is in <div>.
Fixed - Solution is to always generate the 'No records
found' message inside a <div>.
26586 3-Normal Improve Instructions for import into Starteam from OJ process 4.0.00 4.0.00_SP2 The current documentation does not take a situation into
account where you start with an empty StarTeam repository,
and only describes how to mount an existing repository.
Documentation updated to describe the process of importing
into Starteam.
26590 3-Normal New ComponentReference modelcheck needs documentation 4.0.00_SP2 4.0.00_SP2 A software bug is fixed and a documentation fix is required:
Bug 26078 is fixed. New Application level modelcheck
APP035 is introduced.
Documented
26615 3-Normal Business Expressions doesn't adjust the return parameter name 4.0.00_SP1 4.0.00_SP2 When you create a business expression, the name of its
return parameter contains the pid instead of the name of
the business expression.
Fixed in 4.0.00_SP2. From this release, when you create a
business expression, the name of its return parameter
contains the expression name (instead of its pid) right
after creating the business expression.
26626 3-Normal TPL sources for ipJavaApplication are missing 4.0.00_SP1 4.0.00_SP3   The ipJavaApplication.zip is now generated and for AE
customers to obtain through the normal channels.
26676 3-Normal Cannot assign a published WebInputType to DomainAttributes in the using subsystem. 4.0.00_SP1 4.0.00_SP3 The association between a Web presentation type and a
domain attribute is stored in the presentation model (in
the domainElement property). Consequently, Web
presentation types can only be assigned to domain
attributes for the current subsystem as Web presentation
types from a used subsystem are read-only. You can apply
Web presentation types from a used subsystem to Web data
attributes in the current subsystem using the styleType
property of WEBDataAttributes.
The association between a Web presentation type and a
domain attribute is stored in the presentation model (in
the domainElement property). Consequently, Web
presentation types can only be assigned to domain
attributes for the current subsystem as Web presentation
types from a used subsystem are read-only. You can apply
Web presentation types from a used subsystem to Web data
attributes in the current subsystem using the styleType
property of WEBDataAttributes.
26680 3-Normal Naming convention for foreign key attributes isn't documented 4.0.00_SP1 4.0.00_SP2 A software bug is fixed and a documentation fix is required:
Bug 26654 is fixed and needs documentation
Documented:
Tools -> OJ configuration -> Modeling and Model Generation
--> Model Check, Naming Conventions, Character Sets -->
Naming convention for foreign key attributes: None or Role
Name

When Role Name is used the foreignKey Column names will
become: DomainAssociation name + Attribute name, e.g.
customerId
If None is used it becomes: id

Note this can result in duplicate names e.g. id1 and id,
specially when using technical keys.
26686 3-Normal Documentation should be updated to mention build scripts have to be specifically generated 4.0.00 4.0.00_SP2 In OptimalJ 4.0 Build scripts are not generated
automatically.  They have to be specifically generated via
Model -> Generate build scripts option now.  
This is different from previous releases.
In online help -> Compiling an OptimalJ application.
Before Point 2 (iii), it now mentions that build scripts
have to be generated via Model -> Generate build scripts
option.
26696 3-Normal Import statments are missing after migration to OJ 4.0 SP1 4.0.00_SP1 4.0.00_SP3 The TPL for formbeans in 4.0 does not any longer generate
import statements for businessfacades. The reason for
this
is that we would like to avoid a direct dependency
between
a formbean and a particular businessface. Although there
were no references to the businessface in OptimalJ
generated code (except for the imports of course), it may
be possible that customers have depended on these imports
from free blocks in the formbean code. In 4.0 this code
will not compile any longer.
 
26736 3-Normal Short(int) compilation errors after migrating application to OJ 4.0 SP1 4.0.00_SP1 4.0.00_SP2 The error occurs when a DomainAttribute of type 'short'
has a DomainAttributeConstraint which specifies an upper
and/or lower bounds.  

In the generated application there is validation code in
the formbean and the entity bean which then has compile
errors.

In the generated code, there is an attempt to construct a
java.lang.Short using the range value, eg. 'new
java.lang.Short(0)' which is then used for the range test.
However the Short constructor takes a short, not an int.
Because an int has higher precision than short, an
explicit cast is needed on the int value, ie. 'new
java.lang.Short((short)0)'
Fixed
26740 3-Normal starteam70.jar no longer available in OptimalJ installation, documentation needs to be updated to reflect this 4.0.00 4.0.00_SP2   Documentation updated with steps to obtain the jarfile
from your starteam installation.
26758 3-Normal 2 Tier DAC ConstraintHandler code generation problem 4.0.00_SP1 4.0.00_SP4 The problem is that the
sub_reader_dacs.application.business.logic.Sub_readerDAC.library
does not have it's referredComponent set. This is caused
by the fact that the usedSubSystem orglibrarybook is a
3-tier EJB model and the usingSubSystem is a 2-tier model.
The 2-tier DAC components cannot work together with the
3-tier EntityComponents.
A model check (app036) has been added to warn for this
situation.
26838 3-Normal The string length of a dbms column is incorrect for inherited compound key fields. 4.0.00_SP1 4.0.00_SP3 The length property of a Column in the Dbms model is not
copied as defined in the Domain model. This applies to
ForeignKey Columns that originate from a specialization in
the domain model. If there is no inheritance this problem
does not exist.
Fixed.
26884 3-Normal Remove OptimalJ AE pattern sources from OptimalJ installer. unspecified 4.0.00_SP3 On major releases of OptimalJ the sources are delivered in
a separate subdirectory on the CD image. On service packs
only a part of the sources is delivered in the scr
directory.
To obtain the implementation pattern sources for service
packs, you can contact your local support representative /
OptimalJ product management.
26886 3-Normal Runtime errors when there are associations between a supertype and a class in a different package 3.3.01 SP2 4.0.00_SP4 The SQLException “java.sql.SQLException: Connection handle
has been closed and is unusable” occurs when an update is
made of a record belonging to a subclass of which its
parent has an association to a class in another package.
This issue has been fixed
26950 3-Normal Add a joinpoint for Interfaces in the EntityBean, SessionBean and MessageDrivenBean declarations unspecified 4.0.00_SP3 Possibility to add customized interfaces in the
EntityBeans, SessionBeans and MessageDrivenBeans
declarations.
In the package
com.compuware.alturadev.ejb.ipatternEJB20.component, a
public jointpoint EJBCOMPONENTINTERFACES(EJBComponent
ejbComponent) has been added.
EntityBean, SessionBean, MessageDrivenBean make use of
this new jointpoint.
An implementation of this jointpoint could be:
  IMPORT
com.compuware.alturadev.ejb.ipatternEJB20.component.EJBCOM
PONENTINTERFACES
  IMPORT com.compuware.alturadev.models.eJB.EJBComponent
  IMPORT
com.compuware.alturadev.models.eJB.EJBEntityComponent
  IMPORT
com.compuware.alturadev.models.eJB.EJBMessageDrivenCompone
nt
  IMPORT
com.compuware.alturadev.models.eJB.EJBSessionComponent


TEMPLATE PUBLIC MYINTERFACES(EJBComponent ejbComponent)
JOINS EJBCOMPONENTINTERFACES
  LET(EJBSessionComponent sessioncomponent IS
ejbComponent)
  ",InterfaceforSessionBean "
  ELSELET(EJBEntityComponent entitycomponent)
  ",InterfaceforEntityBean "
  ELSELET(EJBMessageDrivenComponent entitycomponent)
  ",InterfaceforMessageDrivenBean "
  /LET
/TEMPLATE
26980 3-Normal Fix for bug 26253 does not work when using prefixes for internal variable names 4.0.00_SP2 4.0.00_SP3 When using the inheritancelocator which uses only 1
finderMethod and you have the tools options code
generation option selected to generate a $ pre-fix for all
internal variables you can get a compile error.
 
27025 3-Normal Foreign key not generated during import from JDBC driver 4.0.00_SP2 4.0.00_SP4 Even if a table contains multiple associations, it is
sometimes marked as a "association table", not showing in
a domain model, but rather being represented as a
many-many association.
The determination mechanism has been improved.
27038 3-Normal AlturaForceContainerLogin section in web.xml empty when authentication in subpackage 4.0.00_SP2 4.0.00_SP3 If Authentication components and roles reside in a package
below root level, definitions are not generated correctly
in the web.xml file.  The section describing the login
action (AlturaForceContainerLogin) will not have any
roles.
 
27046 3-Normal business logic states illegal start of expression in process generated methods 4.0.00_SP2 4.0.00_SP4 The problem is caused by the fact that the model uses DAO
components. At the moment the AL implementation (OCL to AL
model copier and AL ipattern) is able to handle ONLY EJB
components. So both the copier and the ipattern fail
(sometimes silently, sometimes with an exception) on such
a model.
The copier and the ipattern have been changed not to fail
with an exception on such a model. In addition, a model
check on the EJB process has been implemented that warns
that DAO components are not supported.
27074 3-Normal Creation of record for classA(*)--->(1)classB with CMR association fails 4.0.00 4.0.00_SP4 When setting a ClassA *-->1 ClassB association to CMR,
erroneous code for validating the relation is generated in
the ClassA entity bean.  The code seems to be constructed
as though the relation is a 1-->1, and returns constraint
errors for valid data.
This issue has been fixed.
27112 3-Normal Model check error when using DBCS in OCL expression 4.0.00 4.0.00_SP4 DBCS now supported by OCL parser. Fixed.
27117 3-Normal Retrieve method in BF and BLC calls getAll() instead of finder method 4.0.00 4.0.00_SP5 When creating a FinderMethod without parameters the
retrieve methods in both the business facade and the
business logic component call getAll() instead of the
modeled FinderMethod.
Fixed. Only the automatically created FinderMethods
findAll and retrieveAll will be using getAll().
27122 3-Normal IllegalStateException is thrown in BusinessFacade component 4.0.00 4.0.00_SP4 IllegalStateException is thrown in BusinessFacade
component,while the cause is already initialized in the
constructor of the AlturaRetreiveException.
Issue has been fixed
27131 3-Normal Document the new public joinpoint EJBCOMPONENTINTERFACES 4.0.00_SP3 4.0.00_SP3 In the package
com.compuware.alturadev.ejb.ipatternEJB20.component, we
have added a public jointpoint
EJBCOMPONENTINTERFACES(EJBComponent ejbComponent)
To keep EntityBean, SessionBean, MessageDrivenBean in sync
we have changed respectively the corresponding templates
to make use of this new jointpoint.
The use of this joinpoint has been documented.
27189 3-Normal WebGridPanel  “align” property is always center by default 4.0.00_SP2 4.0.00_SP5   The fix has been to make the header use the alignment as
per the 'align' property.
27270 3-Normal Some changes in the area of EJBProcess model checker 4.0.00_SP4 4.0.00_SP4   Modelchecker message EJBPROC023 that has been implemented
as solution for bug 27046, has been documented.
27285 3-Normal Update application errors when application is deployed with subsystem domain associations 3.3.01 SP2 4.0.00_SP5 UpdateObject in BF cache get's refreshed with a newly
retrieved dataobject, but the old CRC value remains
standing in the updateobject.
fixed
27287 3-Normal Cannot properly de-select documentation generation diagram types from dialog box. 4.0.00_SP2 4.0.00_SP5   Fixed
27290 3-Normal Error WEB073 is not documented 4.0.00_SP2 4.0.00_SP4 A model check error condition is not described in the
online help.
WEB073 is now described in the online help.
27300 3-Normal Missing free block in WEBAuthenticationComponentLoginAction when programmatic authentication is used 4.0.00 4.0.00_SP4 When defining a WEBAuthenticationComponent
(programmatic), a
WEBAuthenticationComponentLoginAction.java is created.
The required free blocks are missing in this class.

The problem is that immediately after the user has been
identified and logged in, the generated code issues a
“RETURN”, therefore there is no place for customers to do
something with the user id information.

One thing customers want to do is place information in
the
“SESSION” about this user.
A free block has been added after the user has been
validated.
27356 3-Normal ModelCheck WS044 changed 4.0.00_SP4 4.0.00_SP4   An explicit mention to the https protocol has been with
the fix of bug 27288. The documentation is adapted to
reflect this change.

Message change:
old: SoapAddress {name} must have the location property
set to an absolute URI that has the http protocol.

new: SoapAddress {name} must have the location property
set to an absolute URI that has the http or https protocol.
27455 3-Normal Bug 26758 modelcheck needs documentation: ComponentReference needs referredComponent 4.0.00 4.0.00_SP4   Message APP036 has been documented
27491 3-Normal custom attribute on link gives runtime jasperexception because of wrong attribute in html:link element. 4.0.00_SP2 4.0.00_SP5 customAttributes on WebImage should be put only on
WebImage and not on <html:link>

Currently Jasper gives exception:
org.apache.jasper.JasperException:
/p2Web/DavidComponentlijstjePersonen.jsp(138,4) Attribute
id invalid for tag
link according to TLD
org.apache.jasper.compiler.
DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.
ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
...
...
Fixed.
Can cause migration issues when you have defined
customAttributes and want to have them on the WebLink
(although not supported). We cannot offer automatic
migration for this.
27496 3-Normal Cannot compile EjbConstraintHandlerBean.java, cannot resolve symbol "key" 4.0.00_SP2 4.0.00_SP5 A model with a DomainClass that has a Date attribute as
part of the Primary key can lead to EJB ConstraintHandler
Bean compilation problems if the DomainClass has a
uninavigable association to another DomainClass.

The compilation error is as follows:

EjbConstraintHandlerBean.java
[131:1] cannot resolve symbol symbol  : variable key
location: class
EjbConstraintHandlerBean Collection coll =
obtainDomainClass().findByDateClass(
deletedElem.getIdDateClass(),
(java.sql.Date) new
JdbcUtils.SqlDateToDateConverter().convertFrom(
key.getDateAttribute()));
                                                        
                                                        
          ^
1 error
Errors compiling.


"key" should have been "deletedElem"
Fixed.
27533 3-Normal Primary key which contains enum will not deploy on WebLogic 4.0.00 4.0.00_SP5 A domain class with a primary key which contains an
attribute of type enum will not deploy on WebLogic. The
problem does not occur on WebSphere or JBoss.

Steps to Reproduce:
1) Create a domain enum of type String.
2) Create a domain class which contains this enum in it's
primary key.
3) Update all models, generate code for WebLogic.
4) Select WebLogic as the application server for testing.
5) Select Test -> Start application server.

Observed behaviour:
Application server throws exceptions at startup:
Starting application server ...

...

Unable to deploy EJB: c1140839_2Ejb.jar from
c1140839_2Ejb.jar:


[EJB:011017]Error while reading
'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was:
The finder method findByProfileOnKey of ejb Region cannot
have both ejb-ql and wlql as null.
Fixed
27625 3-Normal Multiplcity for user defined WebDataReference not honored 4.0.00_SP3 4.0.00_SP5 Normal webpanel is created for "zero-or-more"
webdatareference instead of Grid panel.
Fixed
27648 3-Normal Inconsistency in code generation leads to code that will not compile. 4.0.00_SP3 4.0.00_SP5 Wrong code generated after changing relationships. Added a Model check Error (WEB915) to warn a user on New
Action for an Up reference DataClass. No further action
is
required. The user should modify his flow and add a
SelectList action/call instead of New/Create when the
multiplicity is one.
27666 3-Normal multiple associations (same class) and the referenced class contains a blob 4.0.00_SP3 4.0.00_SP5 When a class contains two associations to the another
class (the same class) and the referenced class contains a
blob, erroneous code is generated.
fixed
27718 3-Normal Documenation for Deploying Two-tier Applications on Tomcat needs to be updated 4.0.00 4.0.00_SP6 1) The documentation states to that alturalibDeployEJB.jar
and alturalibDeployApplication.jar should be copied to
common\lib, which doesn't work. The target directory is
shared\lib.  

2) Also the documentation states that the port is 8080,
but in reality it is the port that is defined in the
configuration, which could be any value - example 8686.
Issue has been fixed in the documentation
27737 3-Normal Exception during model check of webservices model 4.0.00 4.0.00_SP5 Exception during model check of webservices model. This
happens after importing two different WSDL files that
include the same XSD files.
fixed
27745 3-Normal Constraints defined in domain class model not carried forward to dbms model. 4.0.00_SP2 4.0.00_SP5 DomainUniqueConstraints defined containing two
DomainReferences are not carried forward correctly to the
Dbms model. Only one of the DomainReferences is carried
forward. This causes the generated create scripts to
create an incorrect constraint.
This only applies to models where the DomainReferences
point to DomainClasses where Technical keys are used.
Fixed
27764 3-Normal struts-config entries for submit links are incomplete 4.0.00 4.0.00_SP5 Struts-config entries for WebActions added to the
generated Components (of type Operation or none) do not
include information about formbean, Scope and Validation.
This problem is now resolved. Any WebAction with a
usedDataClass will include formbean (name attribute),
scope (request) and validation (false) so that the
formbean is available in the Action class.
27909 3-Normal Exception when doing Update All Models in a 2-tier model 4.0.00 4.0.00_SP6 Issue occurs when you import dbms model from a database,
that contains tables that have no defined primary key.

DAOFromClass Copier cannot handle models where dbms Table
has no Primary Key.

DBMS model is imported check all models gives error that a
table exists without a primary key. Customer continues
copying to Domain and Update All Models fails in DAO
copier with nullpointer exception.
We have fixed the NPE in the copier.

Fixing this copier issue doesn't mean we support Tables
that do not have a PrimaryKey defined.
27911 3-Normal Generated EJB code does not compile with inheritance and service byValue re-used 4.0.00_SP4 4.0.00_SP6 Incomplete code is generated. By deviating from our
standard service model 'byValue owned' to 'byValue
re-used' a problem occured. The generated code is
incorrect and the code generator doesn't take this into
account. Variable declarations are missing.

The problem is in the tpl that uses the SCHEMAWALKER tpl.
This tpl expects a component for which it takes the type
(a DataClass) and works on that DataClass.
In the generated code no components should be used since
one should work with DataClasses. The DataClass is known
and also knows about the inheritance. The SessionBean
however (that is currently passed as a component into the
SCHEMAWALKER) doesn't know it's generalization Component
(this is not even in the model).
The SCHEMAWALKER has been fixed.
27928 3-Normal Generated WEB code does not compile with inheritance and service byValue re-used 4.0.00_SP4 4.0.00_SP6 The WEBDataSchemawalker does not look at the referenced
classes from byValue Reused reference or when the
generalization is byValue reused.
WEBDataSchemaWalker is now getting all byValue classes
wherever they are.
27945 3-Normal Tools->options menu can become very slow 4.0.00 4.0.00_SP5   Fixed as part of bug 27865
28011 3-Normal Webservice is not created when it resides in package under business logic 4.0.00 4.0.00_SP6 The EJB->WS copier only copies the EJBSessionComponents
when they are a part of a module in the selected source
modelpackage. If none is present, nothing will be copied.
This behavior was intentional, only the messages reporting
this were not clear.

When copying from EJB to WS, the selected business logic
modelpackage must contain the EJBModule that references
the EJBSessionComponent(s) that should be integrated with
a webservice.

An EJBModule is mapped to a WSServerModule in the
webservice integration modelpackage and represents a code
mountpoint and a deployable unit.
Without an EJBModule in the selected business logic
modelpackage no WSServerModule is created - making code
generation and deployment of the webservice not possible.

The EJB to Webservices modelcopier is the only copier that
allows the selection of a submodelpackage as the source to
allow the user to integrate only certain
EJBSessionComponents with webservices. The precondition is
that the EJBModule associated with the
EJBSessionComponents that should be integrated with
webservices are in the source modelpackage.

The following warning messages clarify this behaviour:

When the user has selected a business logic modelpackage
not containing an EJBModule referencing one or more
EJBSessionComponents the following warning is reported:

WARNING: Nothing to copy.
-- Ensure that the EJB package contains one or more
EJBModules referencing one or more EJBSessionComponents.

Whenever the user selects a business logic modelpackage
which contains only EJBModules referencing
EJBSessionComponents with no operations or it contains
EJBSessionComponents with no module set the following
warning is reported:

WARNING: Nothing to copy.
-- Ensure that EJBSessionComponents to be copied are
-- 1. part of an EJBModule
-- 2. contain one or more Business methods
28012 3-Normal Parameter mappings are lost when defining two consecutive operation delegations 3.3.01 SP2 4.0.00_SP6 When you create two consecutive operation delegations, the
parameter mappings of the first one are lost (parameters
and return value).
The operation wizards where operation delegation is
selected, is fixed.
28026 3-Normal WebDropDownList generates incorrect code when its property has "enbabled" specified 4.0.00_SP4 4.0.00_SP6 Hidden tag wrongly generated when transactionTypeList set
to "enabled".

e.g.
Observed behaviour:
Incorrect code being generated:
<html:hidden name="thingTestThingForm"
property="thingType" styleClass="webdropdownlist"/>

Expected behaviour:
Correct code:
<html:select name="thingTestThingForm"
property="thingType.thingTypeId"
styleId="mainPanel_transactionTypeList" size="1"
styleClass="webdropdownlist">
Fixed.
28069 3-Normal Remove method removes objects from the remove collection 4.0.00_SP4 4.0.00_SP6 Using a model with a many to many association leads to
generated code that contains a remove methode that
(instead of adding entries to the  remove collection)
removes entries from the remove collection.
Adapted the TPL so that this remove method becomes similar
to other remove methods
28224 3-Normal In a list page, the enabled property does not work as expected. 4.0.00 4.0.00_SP6 In a list page, the enabled property does not work as
expected.
There is no code added to the jsp to evaluate it.

e.g.
Following code is missing:
<c:if test='${thingTestThingForm.enabled eq "true"}'>
The enabled property only works inside a
WebRepeatingPanel. Reason: a page of type "List" gets a
collection of form beans.
28428 3-Normal DAC components do not correctly retrieve related data 4.0.00 4.0.00_SP6 Sometimes resolving columnames in the generated SQL
statement fails if using inheritance.
This issue has been fixed
28462 3-Normal Storing LocalCustomer, using tutorial “Developing a Domain Class Model” gives exception error 4.0.00_SP4 4.0.00_SP6 09:58:31,884 ERROR [LogInterceptor]
TransactionRolledbackLocalException in method: public
abstract crm.application.business.logic.CustomerLocal
crm.application.business.logic.CustomerLocalHome.create(crm.application.business.common.customer.CustomerUpdateObject)
throws
javax.ejb.CreateException,com.compuware.alturadev.application.AlturaApplicationException,
causedBy:
java.lang.NullPointerException
        at
crm.application.business.logic.CustomerBean.setAddress(CustomerBean.java:278)
        at
crm.application.business.logic.CustomerBean$SACustomer.___setAttributes(CustomerBean.java:1311)
An Enum was not set, the value of the enum was null. Doing a
getValue on a null value gave the nullpointer exception.
This bug is a duplicate of bug 25248
26089 4-Minor Edit generated files / code / file is empty for a WebScopedContext component 3.3.01 SP2 4.0.00_SP2   Fixed
26989 4-Minor Transformation pattern that starts with a lowercase fails to compile 4.0.00_SP2 4.0.00_SP3 A technology pattern starting with lowercase is
transformed to a java class (1) starting with an
uppercase. This is correct. However, the model module
class refers to the java class with a lower case. This
will not compile.
addContentfilter now uses UCF.
Total number of records: 175



Generated at: Fri Dec 16 13:14:59 CET 2005