Thomas Dudziak wrote:

Oh, yes, I missed the BaseB part.

:-) I stripped down from company sources and uglified the names.

So you're mapping unrelated inheritance hierarchies onto the same
table ?

Yes. This is kind of historically based, I designed for different classes and tables, but there were 1 to {0,1} relations and our database "guru" from the other department "optimized" them into one table :-( As the classes can be used independently, I tried out this way and it worked.

> I'm not sure whether that works in all instances (think:
queries for the base classes, collections that refer to one of the
base classes), but if you say that OJB works without problems, then
all the better.

Seems to work in OJB without problems for my purposes.

As for the error message, for now you can turn off the XDoclet check
using the checks attribute as described here:#

It's not XDoclet complaining, but Torque, so is this a Torque issue?
The error message and stack trace (with -debug) is:

[...]
Setting project property: torquetag -> datasql
[...]

datasql:
        [echo] +-----------------------------------------------+
        [echo] | Generating SQL from data XML !                |
        [echo] +-----------------------------------------------+
        [echo]
[echo] --------------------------------------------------------
        [echo]       contextProperties   ="build-torque.properties"
        [echo]       controlTemplate     ="sql/load/Control.vm"
[echo] dataDTD ="ojb_build/build/resources//accept-data.dtd" [echo] dataXmlFile ="ojb_build/build/resources//accept-data.xml"
        [echo]       outputDirectory     ="ojb_build/build/resources/"
        [echo]       outputFile          ="accept-data.sql"
[echo] sqldbmap ="ojb_build/build/resources//sqldb.map"
        [echo]       targetDatabase      ="mysql"
        [echo]       templatePath        ="ojb_build/templates/"
        [echo]       useClasspath        ="false"
[echo] xmlFile ="ojb_build/build/resources//accept-schema.xml" [echo] --------------------------------------------------------
        [echo]

[...]

Class org.apache.torque.engine.database.transform.XmlToData$DataRow loaded from ant loader (parentFirst) [ant] Exiting C:\Entwicklung\accept\ojb_build\schema\build-torque.xml.

BUILD FAILED
C:\Entwicklung\accept\build_ojb.xml:375: The following error occurred while executing this line: C:\Entwicklung\accept\ojb_build\schema\build-torque.xml:505: org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal". at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:539)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:384)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:704) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:455)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.ant.core.AntRunner.run(AntRunner.java:356)
at org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:215)
        at java.lang.Thread.run(Unknown Source)
Caused by: C:\Entwicklung\accept\ojb_build\schema\build-torque.xml:505: org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal". at org.apache.torque.task.TorqueDataSQLTask.initControlContext(TorqueDataSQLTask.java:201)
        at org.apache.velocity.texen.ant.TexenTask.execute(TexenTask.java:480)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37) at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
        ... 18 more
Caused by: org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal".
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.torque.engine.database.transform.XmlToData.parseFile(XmlToData.java:99) at org.apache.torque.task.TorqueDataSQLTask.initControlContext(TorqueDataSQLTask.java:150)
        ... 28 more
--- Nested Exception ---
C:\Entwicklung\accept\ojb_build\schema\build-torque.xml:505: org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal". at org.apache.torque.task.TorqueDataSQLTask.initControlContext(TorqueDataSQLTask.java:201)
        at org.apache.velocity.texen.ant.TexenTask.execute(TexenTask.java:480)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37) at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:704) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:455)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.ant.core.AntRunner.run(AntRunner.java:356)
at org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:215)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal".
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.torque.engine.database.transform.XmlToData.parseFile(XmlToData.java:99) at org.apache.torque.task.TorqueDataSQLTask.initControlContext(TorqueDataSQLTask.java:150)
        ... 28 more
--- Nested Exception ---
org.xml.sax.SAXParseException: Attribute "OjbConcreteClass" was already specified for element "AccTerminal".
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.torque.engine.database.transform.XmlToData.parseFile(XmlToData.java:99) at org.apache.torque.task.TorqueDataSQLTask.initControlContext(TorqueDataSQLTask.java:150)
        at org.apache.velocity.texen.ant.TexenTask.execute(TexenTask.java:480)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37) at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:704) at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:455)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.ant.core.AntRunner.run(AntRunner.java:356)
at org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate$1.run(AntLaunchDelegate.java:215)
        at java.lang.Thread.run(Unknown Source)

Total time: 12 seconds


Bernd

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to