
|
If you were logged in you would be able to see more operations.
|
|
|
| Resolution Date: |
03/Feb/07 09:09 PM
|
|
When compiling Scarab with Torque3.3rc1 lots of incompatible types error are returned.
When compiling with Torque3.2 everything is compiled successfully.
The root cause are changes of torque/templates/trunk/src/templates/om/Peer.vm in r373352.
In this revisions some class casts have been removed which seem to be required in BasePeer classes, if inheritance and interfaces are used in the schema mapping.
Sample compilation output:
[javac] C:\elaxy\svn\scarab_trunk\src\java\org\tigris\scarab\om\BaseIssuePeer.java:933: incompatible types
[javac] found : org.tigris.scarab.om.Module
[javac] required: org.tigris.scarab.om.ScarabModule
[javac] ScarabModule temp_obj2 = temp_obj1.getModule();
The buggy line using Torque3.3rc1 templates:
Issue temp_obj1 = (Issue) results.get(j);
ScarabModule temp_obj2 = temp_obj1.getModule();
The sameline using Torque3.2 templates:
Issue temp_obj1 = (Issue) results.get(j);
ScarabModule temp_obj2 = (ScarabModule)temp_obj1.getModule();
The interface of Issue.getModule() (inherited from BaseIssue):
public Module getModule()
The related sections in the schema.xml of Scarab:
<table name="SCARAB_MODULE" idMethod="idbroker" javaName="ScarabModule"
baseClass="org.tigris.scarab.om.AbstractScarabModule"
interface="Module">
...
<table name="SCARAB_ISSUE" idMethod="idbroker" javaName="Issue">
...
<column name="MODULE_ID" required="true" type="INTEGER"></column>
<foreign-key foreignTable="SCARAB_MODULE">
<reference local="MODULE_ID" foreign="MODULE_ID"/>
</foreign-key>
...
|
|
Description
|
When compiling Scarab with Torque3.3rc1 lots of incompatible types error are returned.
When compiling with Torque3.2 everything is compiled successfully.
The root cause are changes of torque/templates/trunk/src/templates/om/Peer.vm in r373352.
In this revisions some class casts have been removed which seem to be required in BasePeer classes, if inheritance and interfaces are used in the schema mapping.
Sample compilation output:
[javac] C:\elaxy\svn\scarab_trunk\src\java\org\tigris\scarab\om\BaseIssuePeer.java:933: incompatible types
[javac] found : org.tigris.scarab.om.Module
[javac] required: org.tigris.scarab.om.ScarabModule
[javac] ScarabModule temp_obj2 = temp_obj1.getModule();
The buggy line using Torque3.3rc1 templates:
Issue temp_obj1 = (Issue) results.get(j);
ScarabModule temp_obj2 = temp_obj1.getModule();
The sameline using Torque3.2 templates:
Issue temp_obj1 = (Issue) results.get(j);
ScarabModule temp_obj2 = (ScarabModule)temp_obj1.getModule();
The interface of Issue.getModule() (inherited from BaseIssue):
public Module getModule()
The related sections in the schema.xml of Scarab:
<table name="SCARAB_MODULE" idMethod="idbroker" javaName="ScarabModule"
baseClass="org.tigris.scarab.om.AbstractScarabModule"
interface="Module">
...
<table name="SCARAB_ISSUE" idMethod="idbroker" javaName="Issue">
...
<column name="MODULE_ID" required="true" type="INTEGER"></column>
<foreign-key foreignTable="SCARAB_MODULE">
<reference local="MODULE_ID" foreign="MODULE_ID"/>
</foreign-key>
...
|
Show » |
|
Taking the changes back is not a real problem, but I'd like to avoid such things in the future. Could you please provide a stripped-down test case?