From: Richard M. (qwest) <rn...@qw...> - 2005-05-30 22:11:35
|
OK, I loosened up my search criteria and found that this is already a reported bug: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1349 However the fix is applied to version 1.3 which is not yet stable, at least for my purposes (from my quick experience documented below). The good news is that the fix only involved commenting out 3 lines in hibernate-properties.XDt (see the problem report above for details). All is well, isn't open source a great thing :) - Richard -----Original Message----- From: xdo...@li... [mailto:xdo...@li...] On Behalf Of Richard Mixon (qwest) Sent: Monday, May 30, 2005 8:09 AM To: xdo...@li... Subject: RE: [Xdoclet-user] Xdoclet 1.2.3 error - Attribute "unique" was already specified for element "many-to-one". I also tried the xdoclet build from the latest CVS (the jars that get built are labelled "1.3-SNAPSHOT"). I cannot tell if this fixes the problem as I get a different set of errors (listed below). Thanks again for any ideas/help - Richard *-*-*-* XDOCLET "1.3-SNAPSHOT" ERRORS BEGIN: *-*-*-* C:\EclipseProjects\workspace\starsModel>ant clean test-persistence runAntWithClasspath: "c:\jdk1.5.0_01\bin\java.exe" -Xmx256m -classpath "c:\apache-ant-1.6.2\lib\ant-launcher.jar" "-Dant .home=c:\apache-ant-1.6.2" org.apache.tools.ant.launch.Launcher -lib "C:\Program Files\Java\j2re1.4.1_02\lib\ext\QTJava .zip" clean test-persistence Buildfile: build.xml clean: [echo] Cleaning build and distribution directories [delete] Deleting directory C:\EclipseProjects\workspace\starsModel\build [delete] Deleting directory C:\EclipseProjects\workspace\starsModel\dist [delete] Deleting: C:\EclipseProjects\workspace\starsModel\database.properties init: prepare: [echo] Preparing target directory 'C:\EclipseProjects\workspace\starsModel/build/starsModel' [mkdir] Created dir: C:\EclipseProjects\workspace\starsModel\dist\webapps copy-resources: [copy] Copying 2 files to C:\EclipseProjects\workspace\starsModel\build\persistence\classes [echo] generating database.properties from build.properties [propertyfile] Creating new property file: C:\EclipseProjects\workspace\starsModel\database.properties [copy] Copying 1 file to C:\EclipseProjects\workspace\starsModel\build\persistence\classes [copy] Copying 2 files to C:\EclipseProjects\workspace\starsModel\build\dao\classes [echo] generating database.properties from build.properties [propertyfile] Updating property file: C:\EclipseProjects\workspace\starsModel\database.properties [copy] Copying 1 file to C:\EclipseProjects\workspace\starsModel\build\dao\classes [copy] Copying 11 files to C:\EclipseProjects\workspace\starsModel\build\web\classes [native2ascii] Converting 1 file from C:\EclipseProjects\workspace\starsModel\web\WEB-INF\classes to C:\EclipseProjects\ workspace\starsModel\build\web\classes [echo] generating database.properties from build.properties [propertyfile] Updating property file: C:\EclipseProjects\workspace\starsModel\database.properties [copy] Copying 1 file to C:\EclipseProjects\workspace\starsModel\build\web\classes hibernatedoclet: [hibernatedoclet] (XDocletMain.start 48 ) Running <hibernate/> [hibernatedoclet] Generating mapping file for com.ltoj.persistence.base.PoResult. [hibernatedoclet] com.ltoj.persistence.base.PoResult [hibernatedoclet] (TemplateEngine.getTagHandlerFor 207 ) Could not find tag handler for prefix: 'XDtCollection' [hibernatedoclet] (TemplateEngine.invokeMethod 525 ) Error occured at/around line 20, offending template tag: XD tCollection:create [hibernatedoclet] xdoclet.template.TemplateException: Could not find tag handler for prefix: 'XDtCollection' [hibernatedoclet] at xdoclet.template.TemplateEngine.getTagHandlerFor(TemplateEngine.java:208 ) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:522) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java: 620) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:475) [hibernatedoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:348) [hibernatedoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:415) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:573) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:802) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:690) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:607) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:227) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java :136) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:49) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] (XDocletMain.start 60 ) Running XDoclet failed. [hibernatedoclet] (XDocletMain.start 61 ) <<Running XDoclet failed.>> [hibernatedoclet] xdoclet.template.TemplateException: Could not find tag handler for prefix: 'XDtCollection' [hibernatedoclet] at xdoclet.template.TemplateEngine.getTagHandlerFor(TemplateEngine.java:208 ) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:522) [hibernatedoclet] at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java: 620) [hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:475) [hibernatedoclet] at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:348) [hibernatedoclet] at xdoclet.template.TemplateEngine.start(TemplateEngine.java:415) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:573) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:802) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:690) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:607) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:227) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java :136) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:49) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] C:\EclipseProjects\workspace\starsModel\build.xml:119: XDoclet failed. [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:471) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] Caused by: xdoclet.XDocletException: Running XDoclet failed. [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:811) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:690) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:607) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:227) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java :136) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:49) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] ... 11 more [hibernatedoclet] --- Nested Exception --- [hibernatedoclet] xdoclet.XDocletException: Running XDoclet failed. [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:811) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:690) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:607) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:227) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java :136) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:49) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) BUILD FAILED C:\EclipseProjects\workspace\starsModel\build.xml:119: Unexpected error Total time: 4 seconds C:\EclipseProjects\workspace\starsModel> *-*-*-* XDOCLET "1.3-SNAPSHOT" ERRORS END: *-*-*-* -----Original Message----- From: xdo...@li... [mailto:xdo...@li...] On Behalf Of Richard Mixon (qwest) Sent: Friday, May 27, 2005 5:31 PM To: xdo...@li... Subject: [Xdoclet-user] Xdoclet 1.2.3 error - Attribute "unique" was already specified for element "many-to-one". (Sorry if this shows up twice. I though I was already subscribed to the list - but it got kicked back. So I subscribed and am resending this post ) I'm just moved from xdoclet 1.2.2 to 1.2.3 and am not getting an error generating my hibernate hbm.xml files. Below is the markup in my classes followed by the the exception and stack trace from my ant build. Note that the many-to-one tag that is generated for my "status" property ends up with two instances of the attribute/keyword 'unique="false"'. Is this a bug or do I just need to change my configuration somehow? Thank you - Richard BEGIN CLASSES WITH MARKUP: ... /** * @hibernate.class table="PoResult" proxy="com.ltoj.persistence.base.PoResult" */ public class PoResult extends PoBaseObjectWithId { ... } /** * No hibernate class/subclass declaration should be here */ public abstract class PoBaseObjectWithId extends LoggableObject implements Serializable, PoAuditable { private Long id; private int version; private String discriminator; private PoStatus status; ... /** * @hibernate.id type="long" generator-class="native" unsaved-value="null" * @hibernate.column name="id" unique-key="id" */ public Long getId() { return id; } ... /** * @hibernate.many-to-one not-null="false" unique="false" outer-join="false" */ public PoStatus getStatus() { return status; } ... } END - CLASSES WITH MARKUP BEGIN - GENERATED HBM.XML FILE <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> <hibernate-mapping> <class name="com.ltoj.persistence.base.PoResult" table="PoResult" proxy="com.ltoj.persistence.base.PoResult" > <id name="id" type="long" unsaved-value="null" > <column name="id" unique-key="id" /> <generator class="native"> <!-- To add non XDoclet generator parameters, create a file named hibernate-generator-params-PoResult.xml containing the additional parameters and place it in your merge dir. --> </generator> </id> <SNIP> <many-to-one name="status" class="com.ltoj.persistence.base.PoStatus" cascade="none" outer-join="false" update="true" insert="true" <!-- --> unique="false" column="status" not-null="false" <!-- --> unique="false" <NOTE>THIS IS LINE 108 IN THE COMPLETE GENERATED HBM.XML FILE</NOTE> /> </class> </hibernate-mapping> <NOTE END - GENERATED HBM.XML FILE BEGIN - EXCEPTION AND STACK TRACE: hibernatedoclet: [hibernatedoclet] (XDocletMain.start 47 ) Running <hibernate/> [hibernatedoclet] Generating mapping file for com.ltoj.persistence.base.PoResult. [hibernatedoclet] com.ltoj.persistence.base.PoResult [hibernatedoclet] (XDocletMain.start 53 ) Running XDoclet failed. [hibernatedoclet] (XDocletMain.start 54 ) <<Generated file [file:C:/EclipseProjects/workspace/starsModel/build/persistence/src-gen/ com/ltoj/persistence/base/PoResult.hbm.xml:line 108] Message=[Attribute "unique" was already specified for element "many-to-one".] is not valid according to its DTD or XML Schema. This might be due to some missing tags in your source.>> [hibernatedoclet] org.xml.sax.SAXParseException: Attribute "unique" was alreadyspecified for element "many-to-one". [hibernatedoclet] at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unkno wn Source) [hibernatedoclet] at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) [hibernatedoclet] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) [hibernatedoclet] at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) [hibernatedoclet] at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) [hibernatedoclet] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanAttribute(Unkn own Source) [hibernatedoclet] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(U nknownSource) [hibernatedoclet] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis patcher.dispatch(Unknown Source) [hibernatedoclet] at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno wn Source) [hibernatedoclet] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) [hibernatedoclet] at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) [hibernatedoclet] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) [hibernatedoclet] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) [hibernatedoclet] at xdoclet.util.XmlValidator.doValidate(XmlValidator.java:271) [hibernatedoclet] at xdoclet.util.XmlValidator.validate(XmlValidator.java:221) [hibernatedoclet] at xdoclet.XmlSubTask.engineFinished(XmlSubTask.java:281) [hibernatedoclet] at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:564) [hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:779) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:679) [hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:596) [hibernatedoclet] at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:227) [hibernatedoclet] at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java :136) [hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:48) [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:468) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) [hibernatedoclet] C:\EclipseProjects\workspace\starsModel\build.xml:109: XDoclet failed. [hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:471) [hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:105) [hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:364) [hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:341) [hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:369) [hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1214) [hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1062) [hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:673) [hibernatedoclet] at org.apache.tools.ant.Main.startAnt(Main.java:188) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196) [hibernatedoclet] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55) ... END - EXCEPTION AND STACK TRACE: ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ xdoclet-user mailing list xdo...@li... https://lists.sourceforge.net/lists/listinfo/xdoclet-user ------------------------------------------------------- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 _______________________________________________ xdoclet-user mailing list xdo...@li... https://lists.sourceforge.net/lists/listinfo/xdoclet-user |