On Tue, 2004-08-31 at 02:40, Eric Chow wrote:
> I use xdoclet to generate struts' validation.xml.
> 
> But it only generate the validator for one Form if I specify more than
> one Form name in a bean.
> 
> It seems that the first Form will be included the validator, and the
> remaing Forms will not include any validation rules !!
> 
> Therefore, it just generate the validation rules for LogonForm !!!
> 
> Is it a bug or something I missed ???

Sounds like a bug to me.  Please open an issue in JIRA.
http://opensource.atlassian.com/projects/xdoclet/


Andrew.


> 
> 
> The following is my User.java and the generated validation.xml.
> 
> 
> package com.echows.ejcourse.portal.model;
> 
> import java.util.ArrayList;
> import java.util.Collection;
> import java.util.HashSet;
> 
> 
> /**
>  *
>  * @struts.form
>  *    name="LogonForm"
>  *    extends="org.apache.struts.validator.ValidatorForm"
>  *
>  * @struts.form
>  *    name="NewUserForm"
>  *    extends="org.apache.struts.validator.ValidatorForm"
>  *
>  *
>  * @jdo.persistence-capable
>  *    identity-type="application"
>  *    objectid-class="com.echows.ejcourse.portal.pk.UserPK"
>  *
>  * @jdo.class-vendor-extension
>  *    vendor-name="${jdo.vendor}"
>  *    key="table-name"
>  *    value="User"
>  *
>  *
>  *
>  *
>  */
> public class User extends AbstractBean {
>    
>    /**
>     * @jdo.field
>     *    persistence-modifier="persistent"
>     *    collection-type="collection"
>     *    element-type="Role"
>     *
>     * @jdo.field-vendor-extension
>     *    vendor-name="${jdo.vendor}"
>     *    key="clear-on-delete"
>     *    value="true"
>     *
>     * @jdo.collection-vendor-extension
>     *    vendor-name="${jdo.vendor}"
>     *    key="clear-on-delete"
>     *    value="true"
>     *
>     * @jdo.collection-vendor-extension 
>     *    vendor-name="${jdo.vendor}"
>     *    key="table-name"
>     *    value="users_roles"
>     *
>     *
>     * @jdo.collection-vendor-extension 
>     *    vendor-name="${jdo.vendor}"
>     *    key="owner-column-name"
>     *    value="username"
>     *
>     *
>     * @jdo.collection-vendor-extension 
>     *    vendor-name="${jdo.vendor}"
>     *    key="element-column-name"
>     *    value="rolename"
>     *
>     */
>    private Collection roles = new ArrayList();
>    
>    
>    /**
>     * @jdo.field
>     *    persistence-modifier="persistent"
>     *
>     * @jdo.field-vendor-extension
>     *    vendor-name="${jdo.vendor}"
>     *    key="column-name"
>     *    value="USERINFO_ID"
>     *
>     */
>    private UserInfo userInfo;
> 
>    /**
>     * @jdo.field
>     *    persistence-modifier="persistent"
>     *    null-value="exception"
>     *
>     * @jdo.field-vendor-extension
>     *    vendor-name="${jdo.vendor}"
>     *    key="length"
>     *    value="max 30"
>     *
>     */
>    private String passwords;
> 
>    /**
>     * @jdo.field
>     *    persistence-modifier="persistent"
>     *    null-value="exception"
>     *    primary-key="true"
>     *
>     * @jdo.field-vendor-extension
>     *    vendor-name="${jdo.vendor}"
>     *    key="length"
>     *    value="max 20"
>     *
>     */
>    private String username;
> 
>    /**
>     * @jdo.field
>     *    persistence-modifier="persistent"
>     *    null-value="exception"
>     *
>     *
>     */
>    private boolean status = false;
>    
>    
>    
>    // for NewUserForm
>    /**
>     * @jdo.field
>     *    persistence-modifier="none"    
>     *
>     *
>     */
>    private String roleName;
>    /**
>     * @jdo.field
>     *    persistence-modifier="none"    
>     *
>     *
>     */
>    private String action;
> 
> 
>    /**
>     * Constructor.
>     */
>    public User() {
>       ;
>    }
> 
>    /**
>     * Set UserInfo.
>     *
>     * @param   information.
>     */
>    public void setUserInfo(UserInfo userInfo) {
>       this.userInfo = userInfo;
>    }
>    
> 
>    /**
>     * Get UserInfo.
>     *
>     * @return   information.
>     */
>    public UserInfo getUserInfo() {
>       return userInfo;
>    }   
> 
> 
>    /**
>     * Set password.
>     *
>     * @param   password.
>     *
>     *
>     * @struts.form-field
>     *    name="LogonForm"
>     *
>     * @struts.form-field
>     *    name="NewUserForm"
>     *
>     * @struts.validator
>     *    type="required"
>     *    msgkey="errors.required"
>     *    arg0resource="msg.password"
>     */
>    public void setPasswords(String passwords) {
>       this.passwords = passwords;
>    }
> 
> 
>    /**
>     * Get password.
>     *
>     * @return   password.
>     */
>    public String getPasswords() {
>       return passwords;
>    }
> 
> 
> 
>    /**
>     * Set status.
>     *
>     * @param   status.
>     *
>     *
>     * @struts.form-field
>     *    name="NewUserForm"
>     */
>    public void setStatus(boolean status) {
>       this.status = status;
>    }
> 
>    /**
>     * Get status.
>     *
>     * @return   status.
>     */
>    public boolean getStatus() {
>       return status;
>    }
> 
>    /**
>     * Set username.
>     *
>     * @param   username.
>     *
>     *
>     * @struts.form-field
>     *    name="LogonForm"
>     *
>     * @struts.form-field
>     *    name="NewUserForm"
>     *
>     *
>     * @struts.validator
>     *    type="required"
>     *    msgkey="errors.required"
>     *    arg0resource="msg.username"    
>     */
>    public void setUsername(String username) {
>       this.username = username;
>    }
> 
>    /**
>     * Get username.
>     *
>     * @return   username.    
>     */
>    public String getUsername() {
>       return username;
>    }
>    
> 
>    
>    /**
>     * Set role collections.
>     *
>     * @param   roles - a collection of Role.
>     */
>    public void setRoles(Collection roles) {
>       this.roles = roles;
>    }
> 
>    /**
>     * Get role collections.
>     *
>     * @return  a collection of Role.
>     */
>    public Collection getRoles() {
>       return roles;
>    }
>    
>    /**
>     * Add a Role to the role set.
>     *
>     * @param   role.
>     */    
>    public void addRole(Role role) {
>       roles.add(role);
>    }
>    
>    
>    
>    
>    // NewUserForm
>    /**
>     * @struts.form-field
>     *    name="NewUserForm"
>     *  
>     *
>     */
>     /*
>     * @struts.validator
>     *    type="required"
>     *    msgkey="errors.required"
>     *    arg0resource="msg.roleName"    
>     */
>    public void setRoleName(String roleName) {
>       this.roleName = roleName;
>    }
>    
>    public String getRoleName() {
>       return roleName;
>    }   
>    
>    
>    /**
>     * @struts.form-field
>     *    name="NewUserForm"
>     *  
>     *
>     */
>     /*
>     * @struts.validator
>     *    type="required"
>     *    msgkey="errors.required"
>     *    arg0resource="msg.action"    
>     */
>    public void setAction(String action) {
>       this.action = action;
>    }
>    
>    public String getAction() {
>       return action;
>    }   
> }
> 
> 
> 
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD
> Commons Validator Rules Configuration 1.0//EN"
> "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd";>
> 
> <form-validation>
>   <!--
>     Define global validation config in validation-global.xml
>   -->
>   <formset>
>       <form name="UserInfoForm">
>               <field property="firstName"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.firstName"/>
>               </field>
>               <field property="lastName"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.lastName"/>
>               </field>
>               <field property="sex"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.sex"/>
>               </field>
>               <field property="idCardNo"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.idCardNo"/>
>               </field>
>               <field property="address1"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.address1"/>
>               </field>
>               <field property="country"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.country"/>
>               </field>
>               <field property="action"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="UserInfoForm.action"/>
>                   <arg0
>                       name="required"
>                     key="msg.action"
>                   />
>               </field>
>       </form>
>       <form name="LogonForm">
>               <field property="passwords"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="LogonForm.passwords"/>
>                   <arg0
>                       name="required"
>                     key="msg.password"
>                   />
>               </field>
>               <field property="username"
>                      depends="required">
>                   <msg
>                     name="required"
>                     key="errors.required"/>
> 
>                   <arg0 key="LogonForm.username"/>
>                   <arg0
>                       name="required"
>                     key="msg.username"
>                   />
>               </field>
>       </form>
>   </formset>
> </form-validation>



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to