OptimalJ maintenance releases (such as service packs or releases with version number of the pattern #.#.0#) provide updates to generated code and the patterns applied to models. For more information, see the below table.
To take advantage of these changes, you must follow this procedure for each OptimalJ project when upgrading to the maintenance release:
The MCR files used to map generated files to model elements are not stored in version control systems. These MCR files are required when upgrading to a maintenance release. Before upgrading to a maintenance release, you must restore these files by completing steps 1 and 2 in the old version of OptimalJ (Updating all models ensures that all models are synchronized, while generating code creates the MCR files). Then install the maintenance release and follow the procedure described above.
| Bug number |
Severity |
Summary |
Reported version |
Fix version |
Description |
Release notes |
| 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