On Jan 14, 2004 2:01 PM Erik Hatcher wrote:
> You should be able to do this incrementally, by taking an existing
> struts-config.xml and slicing it up into merge points. As for
> validation.xml - I don't recall if there is a merge point in there or
> not, but it is simple to customize the template and add one (pull the
> .xdt file out of the JAR, add a merge point, point to it with
> templateFile="...").
>
> What is not working with doing things incrementally?
In this particular case, merging isn't the problem with doing things
incrementally. It's the fact that <strutsvalidationxml> throws an
XDocletException whenever the following conditions are met:
1) You are using a base form bean class (that extends
ValidatorActionForm).
2) The aforementioned base form bean class has @struts.validator tags on
at least one of its fields.
3) At least one of the subclasses that inherits from the aforementioned
base form bean class does not have a @struts.form tag with a 'path'
parameter.
I've pasted in the stack trace below, if you're interested (I have rev
1.8 of StrutsValidatorTagsHandler). Further, generation of my
validation.xml stops when this exception is thrown, meaning that it only
contains <form> elements for those forms that were already processed
before the exception was thrown and it is not well-formed or valid (no
closing </formset> or </form-validation> tags).
Perhaps there is some way to specify that <strutsvalidationxml> should
not cause the build to fail, in which case I could later merge in the
validation meta-data for those subclasses of my base form bean class
that have not yet been converted to use XDoclet?
-Kelly
___________________________
BUILD FAILED
file:build.xml:146: Unexpected error
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:123)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
Caused by: file:build.xml:146: XDoclet failed.
at xdoclet.DocletTask.start(DocletTask.java:467)
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
... 9 more
Caused by: xdoclet.XDocletException: Mandatory parameter 'path' missing
for struts.form tag in [class name] class.
at
xdoclet.XDocletTagSupport.mandatoryParamNotFound(XDocletTagSupport.java:
572)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:467)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:388)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.formName(Struts
ValidatorTagsHandler.java:96)
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:
614)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.ifFormHasFields
(StrutsValidatorTagsHandler.java:226)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.forAllForms(Str
utsValidatorTagsHandler.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
at
xdoclet.TemplateSubTask.startProcessForAll(TemplateSubTask.java:616)
at
xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:597)
at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198)
at
xdoclet.modules.apache.struts.StrutsValidationXmlSubTask.execute(StrutsV
alidationXmlSubTask.java:50)
at xdoclet.XDocletMain.start(XDocletMain.java:48)
at xdoclet.DocletTask.start(DocletTask.java:464)
... 10 more
--- Nested Exception ---
file:build.xml:146: XDoclet failed.
at xdoclet.DocletTask.start(DocletTask.java:467)
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
Caused by: xdoclet.XDocletException: Mandatory parameter 'path' missing
for struts.form tag in [class name] class.
at
xdoclet.XDocletTagSupport.mandatoryParamNotFound(XDocletTagSupport.java:
572)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:467)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:388)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.formName(Struts
ValidatorTagsHandler.java:96)
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:
614)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.ifFormHasFields
(StrutsValidatorTagsHandler.java:226)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.forAllForms(Str
utsValidatorTagsHandler.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
at
xdoclet.TemplateSubTask.startProcessForAll(TemplateSubTask.java:616)
at
xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:597)
at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198)
at
xdoclet.modules.apache.struts.StrutsValidationXmlSubTask.execute(StrutsV
alidationXmlSubTask.java:50)
at xdoclet.XDocletMain.start(XDocletMain.java:48)
at xdoclet.DocletTask.start(DocletTask.java:464)
... 10 more
--- Nested Exception ---
xdoclet.XDocletException: Mandatory parameter 'path' missing for
struts.form tag in [class name] class.
at
xdoclet.XDocletTagSupport.mandatoryParamNotFound(XDocletTagSupport.java:
572)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:467)
at
xdoclet.XDocletTagSupport.getTagValue(XDocletTagSupport.java:388)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.formName(Struts
ValidatorTagsHandler.java:96)
at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:
614)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:469)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.ifFormHasFields
(StrutsValidatorTagsHandler.java:226)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:738)
at
xdoclet.modules.apache.struts.StrutsValidatorTagsHandler.forAllForms(Str
utsValidatorTagsHandler.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:95
9)
at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at
xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
at
xdoclet.TemplateSubTask.startProcessForAll(TemplateSubTask.java:616)
at
xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:597)
at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198)
at
xdoclet.modules.apache.struts.StrutsValidationXmlSubTask.execute(StrutsV
alidationXmlSubTask.java:50)
at xdoclet.XDocletMain.start(XDocletMain.java:48)
at xdoclet.DocletTask.start(DocletTask.java:464)
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
at org.apache.tools.ant.Task.perform(Task.java:341)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
at
org.apache.tools.ant.Project.executeTargets(Project.java:1255)
at org.apache.tools.ant.Main.runBuild(Main.java:609)
at org.apache.tools.ant.Main.start(Main.java:196)
at org.apache.tools.ant.Main.main(Main.java:235)
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user