Hibernate's XDoclet task (fresh from the CVS ;) appears to have a small buglet. If the "force" property is set to "false" then the second time that XDoclet goes to generate the mappings the following exception is thrown:

[hibernatedoclet] Running <hibernate/>
[hibernatedoclet] java.lang.StringIndexOutOfBoundsException: String index out of range: 91
[hibernatedoclet] at java.lang.String.charAt(String.java:511)
[hibernatedoclet] at xdoclet.template.TemplateEngine.extractNextAttribute(TemplateEngine.java :728)
[hibernatedoclet] at xdoclet.template.TemplateEngine.extractAttributes(TemplateEngine.java:64 1)
[hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:422)
[hibernatedoclet] at xdoclet.template.TemplateParser.generate(TemplateParser.java:114)
[hibernatedoclet] at xdoclet.template.TemplateParser.invoke(TemplateParser.java:179)
[hibernatedoclet] at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:483)
[hibernatedoclet] at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:90 4)
[hibernatedoclet] at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:871)
[hibernatedoclet] at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:425)
[hibernatedoclet] at xdoclet.template.TemplateParser.generate(TemplateParser.java:114)
[hibernatedoclet] at xdoclet.template.TemplateParser.start(TemplateParser.java:84)
[hibernatedoclet] at xdoclet.GenerationManager.isGenerationNeeded(GenerationManager.java:303)
[hibernatedoclet] at xdoclet.GenerationManager.isTemplateNewerThanFile(GenerationManager.java :228)
[hibernatedoclet] at xdoclet.GenerationManager.isGenerationNeeded(GenerationManager.java:136)
[hibernatedoclet] at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:728)
[hibernatedoclet] at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:640)
[hibernatedoclet] at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:584)
[hibernatedoclet] at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:477)
[hibernatedoclet] at xdoclet.XDocletMain.start(XDocletMain.java:46)
[hibernatedoclet] at xdoclet.DocletTask.start(DocletTask.java:397)
[hibernatedoclet] at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:68)
[hibernatedoclet] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[hibernatedoclet] at org.apache.tools.ant.Task.perform(Task.java:317)
[hibernatedoclet] at org.apache.tools.ant.Target.execute(Target.java:309)
[hibernatedoclet] at org.apache.tools.ant.Target.performTasks(Target.java:334)
[hibernatedoclet] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[hibernatedoclet] at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[hibernatedoclet] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[hibernatedoclet] at org.apache.tools.ant.Main.start(Main.java:196)
[hibernatedoclet] at org.apache.tools.ant.Main.main(Main.java:235)


The quickest and easiest way to reproduce this behaviour is to run "ant test" twice on the Tools CVS checkout after modifying the build.xml so that generating the mappings is false (xdoclet.force = "false")

If I get a few minutes to myself, I'll try and take a look, but has anyone got any ideas?

Regards,

Simon



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel



Reply via email to