[ 
http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1052?page=all ]

Vary Matyas updated XDT-1052:
-----------------------------

    Attachment: patch.diff

a possible fix for this issue.

> XDoclet only can generate one validator for Struts Form !!
> ----------------------------------------------------------
>
>          Key: XDT-1052
>          URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1052
>      Project: XDoclet
>         Type: Bug

>   Components: Apache Module
>     Versions: 1.2.1
>  Environment: JDK1.4.2
> WinXP
> XDoclet-1.2.1
>     Reporter: Eric Chow
>     Assignee: xdoclet-devel (Use for new issues)
>  Attachments: patch.diff
>
>
>  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 ???
> 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 message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to