You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by si...@apache.org on 2002/09/03 13:14:27 UTC

cvs commit: jakarta-velocity-tools/struts/examples/struts/examples/struts_app1 edit-address.txt edit-address.vm show-address.jsp show-address.txt show-address.vm show-addressjsp.txt

sidler      2002/09/03 04:14:27

  Modified:    struts/examples/struts/WEB-INF/classes
                        ApplicationResources.properties
                        ApplicationResources_de.properties
               struts/examples/struts/WEB-INF/src/examples/app1
                        AddressAction.java AddressBean.java
                        AddressForm.java
               struts/examples/struts/examples/struts_app1 edit-address.txt
                        edit-address.vm show-address.jsp show-address.txt
                        show-address.vm show-addressjsp.txt
  Log:
  Expanded Velocity/Struts example application "Address Editor" by an
  example that shows how to deals with indexed form properties (i.e.
  multiple form parameters that are submitted with the same name).
  
  Revision  Changes    Path
  1.4       +8 -0      jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources.properties
  
  Index: ApplicationResources.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ApplicationResources.properties	12 Mar 2002 11:36:47 -0000	1.3
  +++ ApplicationResources.properties	3 Sep 2002 11:14:27 -0000	1.4
  @@ -11,6 +11,14 @@
   country=Country
   edit=Edit Address
   version=Version
  +languages=Languages
  +chinese=Chinese
  +english=English
  +french=French
  +german=German
  +russian=Russian
  +spanish=Spanish
  +multiple=(multiple can be selected)
   save=Save
   cancel=cancel
   
  
  
  
  1.3       +8 -0      jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources_de.properties
  
  Index: ApplicationResources_de.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/classes/ApplicationResources_de.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ApplicationResources_de.properties	9 Jan 2002 11:25:42 -0000	1.2
  +++ ApplicationResources_de.properties	3 Sep 2002 11:14:27 -0000	1.3
  @@ -11,5 +11,13 @@
   country=Land
   edit=Adresse mutieren
   version=Version
  +languages=Sprachen
  +chinese=Chinesisch
  +english=Englisch
  +french=Französisch
  +german=Deutsch
  +russian=Russisch
  +spanish=Spanisch
  +multiple=(mehrere wählbar)
   save=Speichern
   cancel=Abbrechen
  
  
  
  1.3       +4 -6      jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressAction.java
  
  Index: AddressAction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressAction.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AddressAction.java	9 Jan 2002 11:25:43 -0000	1.2
  +++ AddressAction.java	3 Sep 2002 11:14:27 -0000	1.3
  @@ -47,9 +47,6 @@
   public class AddressAction extends Action 
   {
   
  -
  -
  -
       // --------------------------------------------------------- Public Methods
   
       /**
  @@ -108,6 +105,7 @@
                   bean.setZip( ((AddressForm)form).getZip() );
                   bean.setCity( ((AddressForm)form).getCity() );
                   bean.setCountry( ((AddressForm)form).getCountry() );
  +                bean.setLanguages( ((AddressForm)form).getLanguages() );
   
                   // forward to list
                   return (mapping.findForward("showAddress"));
  @@ -115,8 +113,8 @@
               }
               else
               {
  -                String language = ((AddressForm)form).getLanguage();
  -                if (language.equals("Deutsch"))
  +                String locale = ((AddressForm)form).getLocale();
  +                if (locale.equals("Deutsch"))
                       session.setAttribute(Action.LOCALE_KEY, new Locale("de", ""));
                   else
                       session.setAttribute(Action.LOCALE_KEY, new Locale("en", ""));
  
  
  
  1.3       +27 -1     jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressBean.java
  
  Index: AddressBean.java
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AddressBean.java	9 Jan 2002 11:25:43 -0000	1.2
  +++ AddressBean.java	3 Sep 2002 11:14:27 -0000	1.3
  @@ -14,6 +14,8 @@
   import org.apache.struts.action.ActionForm;
   import org.apache.struts.action.ActionMapping;
   
  +import java.util.Properties;
  +
   
   /**
    * <p>A simple bean that represent an address record.</p>
  @@ -39,6 +41,8 @@
       
       private String country;
       
  +    private String[] languages;
  +    
   
       // ---- Accessor Methods --------------------------------------------
       
  @@ -114,6 +118,28 @@
               
       }
   
  +    public String[] getLanguages()
  +    {
  +        return languages;
  +    }
  +    
  +    public void setLanguages(String[] languages)
  +    {
  +        this.languages = languages;   
  +    }
  +
  +    // Convenience method to simplify repopulation of select lists
  +    public Properties getLanguagesAsMap()
  +    {
  +        Properties p = new Properties();
  +        if (languages != null)
  +        {
  +            for (int i = 0; i < languages.length; i++)
  +                p.setProperty((String)languages[i], "SELECTED");
  +        }            
  +        return p;
  +    } 
  +       
   }
   
   
  
  
  
  1.3       +29 -16    jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressForm.java
  
  Index: AddressForm.java
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/WEB-INF/src/examples/app1/AddressForm.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AddressForm.java	9 Jan 2002 11:25:43 -0000	1.2
  +++ AddressForm.java	3 Sep 2002 11:14:27 -0000	1.3
  @@ -14,6 +14,8 @@
   import org.apache.struts.action.ActionForm;
   import org.apache.struts.action.ActionMapping;
   
  +import java.util.ArrayList;
  +
   
   /**
    * <p>A simple form that allows a user to enter and modify an address.</p>
  @@ -29,8 +31,6 @@
    
       private String action = "";
       
  -    private String language = "";
  -
       private String firstname = "";
       
       private String lastname = "";
  @@ -43,6 +43,10 @@
       
       private String country = "";
       
  +    private String locale = "";
  +    
  +    private String[] languages;
  +    
   
       // ---- Accessor Methods --------------------------------------------
       
  @@ -56,18 +60,6 @@
           action = s;
       }
               
  -
  -    public String getLanguage()
  -    {
  -        return language;
  -    }
  -    
  -    public void setLanguage(String s)
  -    {
  -        language = s;
  -    }
  -
  -
       public String getFirstname()
       {
           return firstname;
  @@ -128,6 +120,27 @@
           country = s;
       }
   
  +    public String getLocale()
  +    {
  +        return locale;
  +    }
  +    
  +    public void setLocale(String s)
  +    {
  +        locale = s;
  +    }
  +
  +    public String[] getLanguages()
  +    {
  +        return languages;
  +    }
  +    
  +    public void setLanguages(String[] s)
  +    {
  +        languages = s;
  +    }
  +    
  +
       /**
        * Reset all properties to their default values.
        *
  @@ -138,7 +151,7 @@
       {
   
           action = "";
  -        language = "";
  +        locale = "";
           firstname = "";
           lastname = "";
           street = "";
  
  
  
  1.4       +17 -2     jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.txt
  
  Index: edit-address.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.txt,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- edit-address.txt	12 Mar 2002 11:36:48 -0000	1.3
  +++ edit-address.txt	3 Sep 2002 11:14:27 -0000	1.4
  @@ -7,7 +7,7 @@
       <body>    
           <p><b>$msg.get("edit") (Velocity $msg.get("version"))</b></p>
           
  -        <form name="address" method="POST" action="address2.do">
  +        <form name="address" method="GET" action="address2.do">
           <input type="hidden" name="action" value="list">
           
           <table width="300" border="1" cellspacing="" cellpadding="5">
  @@ -35,9 +35,24 @@
           		<td>$msg.get("country")</td>
           		<td><input type="text" name="country" value="$!address.country"></td>
           	</tr>
  +        	<tr> 
  +        		<td>$msg.get("languages")</td>
  +        		<td>
  +        		    #set ($map = $address.languagesAsMap)
  +        		    <select name="languages" MULTIPLE size="5">
  +        		        <option value="chinese" $map.getProperty("chinese", "")>$msg.get("chinese")</option>
  +        		        <option value="english" $map.getProperty("english", "")>$msg.get("english")</option>
  +        		        <option value="french" $map.getProperty("french", "")>$msg.get("french")</option>
  +        		        <option value="german" $map.getProperty("german", "")>$msg.get("german")</option>
  +        		        <option value="russian" $map.getProperty("russian", "")>$msg.get("russian")</option>
  +        		        <option value="spanish" $map.getProperty("spanish", "")>$msg.get("spanish")</option>
  +        		    </select>
  +        		    <br>$msg.get("multiple")
  +        		</td>
  +        	</tr>
           </table>
           <br>
  -        
  +
           <input type="submit" name="Submit" value="  $msg.get("save")  " onclick="address.action.value='save'; document.address.submit(); return false;">
           <input type="submit" name="Submit2" value="$msg.get("cancel")"  onclick="address.action.value='list'; document.address.submit(); return false;">
           </form>
  
  
  
  1.4       +17 -2     jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.vm
  
  Index: edit-address.vm
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/edit-address.vm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- edit-address.vm	12 Mar 2002 11:36:48 -0000	1.3
  +++ edit-address.vm	3 Sep 2002 11:14:27 -0000	1.4
  @@ -7,7 +7,7 @@
       <body>    
           <p><b>$msg.get("edit") (Velocity $msg.get("version"))</b></p>
           
  -        <form name="address" method="POST" action="address2.do">
  +        <form name="address" method="GET" action="address2.do">
           <input type="hidden" name="action" value="list">
           
           <table width="300" border="1" cellspacing="" cellpadding="5">
  @@ -35,9 +35,24 @@
           		<td>$msg.get("country")</td>
           		<td><input type="text" name="country" value="$!address.country"></td>
           	</tr>
  +        	<tr> 
  +        		<td>$msg.get("languages")</td>
  +        		<td>
  +        		    #set ($map = $address.languagesAsMap)
  +        		    <select name="languages" MULTIPLE size="5">
  +        		        <option value="chinese" $map.getProperty("chinese", "")>$msg.get("chinese")</option>
  +        		        <option value="english" $map.getProperty("english", "")>$msg.get("english")</option>
  +        		        <option value="french" $map.getProperty("french", "")>$msg.get("french")</option>
  +        		        <option value="german" $map.getProperty("german", "")>$msg.get("german")</option>
  +        		        <option value="russian" $map.getProperty("russian", "")>$msg.get("russian")</option>
  +        		        <option value="spanish" $map.getProperty("spanish", "")>$msg.get("spanish")</option>
  +        		    </select>
  +        		    <br>$msg.get("multiple")
  +        		</td>
  +        	</tr>
           </table>
           <br>
  -        
  +
           <input type="submit" name="Submit" value="  $msg.get("save")  " onclick="address.action.value='save'; document.address.submit(); return false;">
           <input type="submit" name="Submit2" value="$msg.get("cancel")"  onclick="address.action.value='list'; document.address.submit(); return false;">
           </form>
  
  
  
  1.3       +1 -1      jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.jsp
  
  Index: show-address.jsp
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.jsp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- show-address.jsp	9 Jan 2002 11:12:40 -0000	1.2
  +++ show-address.jsp	3 Sep 2002 11:14:27 -0000	1.3
  @@ -16,7 +16,7 @@
           
           <form name="form1" action="address1.do">
           <p><bean:message key="language"/>
  -        <select name="language" size="1" onchange="form1.submit(); return false;">
  +        <select name="locale" size="1" onchange="form1.submit(); return false;">
               <option value="" SELECTED></option>
               <option value="English">English</option>             
               <option value="Deutsch">Deutsch</option>
  
  
  
  1.4       +62 -53    jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.txt
  
  Index: show-address.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.txt,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- show-address.txt	12 Mar 2002 11:36:48 -0000	1.3
  +++ show-address.txt	3 Sep 2002 11:14:27 -0000	1.4
  @@ -1,57 +1,66 @@
   <html>
  -    <head>
  -	    <title>$msg.get("title")</title>
  -    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">    
  -    </head>
  +	<head>
  +		<title>$msg.get("title")</title>
  +		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">	
  +	</head>
   
  -    <body>
  -        <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
  -        
  -        <p>$msg.get("intro")</p>
  -        
  -        <form name="form1" action="address2.do">
  -        <p>$msg.get("language")
  -        <select name="language" size="1" onchange="form1.submit(); return false;">
  -            <option value="" SELECTED></option>
  -            <option value="English">English</option>             
  -            <option value="Deutsch">Deutsch</option>
  -        </select>
  -        </p></form>
  -        	
  -        <p>$msg.get("header")</p>
  -        <table width="300" border="1" cellspacing="" cellpadding="5">
  -        	<tr> 
  -        		<td>$msg.get("firstname")</td>
  -        		<td>&nbsp; $!address.firstname </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("lastname")</td>
  -        		<td>&nbsp; $!address.lastname </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("street")</td>
  -        		<td>&nbsp; $!address.street </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("zip")</td>
  -        		<td>&nbsp; $!address.zip </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("city")</td>
  -        		<td>&nbsp; $!address.city </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("country")</td>
  -        		<td>&nbsp; $!address.country </td>
  -        	</tr>
  -        </table>
  -        
  -        <br>
  -        <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
  -        <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
  +	<body>
  +		<p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
  +		
  +		<p>$msg.get("intro")</p>
  +		
  +		<form name="form1" method="GET" action="address2.do">
  +		<p>$msg.get("language")
  +		<select name="locale" size="1" onchange="form1.submit(); return false;">
  +			<option value="" SELECTED></option>
  +			<option value="English">English</option>			 
  +			<option value="Deutsch">Deutsch</option>
  +		</select>
  +		</p></form>
  +			
  +		<p>$msg.get("header")</p>
  +		<table width="300" border="1" cellspacing="" cellpadding="5">
  +			<tr> 
  +				<td>$msg.get("firstname")</td>
  +				<td>&nbsp; $!address.firstname </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("lastname")</td>
  +				<td>&nbsp; $!address.lastname </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("street")</td>
  +				<td>&nbsp; $!address.street </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("zip")</td>
  +				<td>&nbsp; $!address.zip </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("city")</td>
  +				<td>&nbsp; $!address.city </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("country")</td>
  +				<td>&nbsp; $!address.country </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("languages")</td>
  +				<td>
  +					#foreach ($language in $!address.languages)
  +						&nbsp; $msg.get($language)<br>
  +					#end
  +					&nbsp;
  +				</td>
  +			</tr>
  +		</table>
  +		
  +		<br>
  +		<a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
  +		<a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
   
  -        <br><br>
  -        <a href="examples/struts_app1/show-address.txt">Template</a>
  -        
  -    </body>
  +		<br><br>
  +		<a href="examples/struts_app1/show-address.txt">Template</a>
  +		
  +	</body>
   </html>
  
  
  
  1.4       +62 -53    jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.vm
  
  Index: show-address.vm
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-address.vm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- show-address.vm	12 Mar 2002 11:36:48 -0000	1.3
  +++ show-address.vm	3 Sep 2002 11:14:27 -0000	1.4
  @@ -1,57 +1,66 @@
   <html>
  -    <head>
  -	    <title>$msg.get("title")</title>
  -    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">    
  -    </head>
  +	<head>
  +		<title>$msg.get("title")</title>
  +		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">	
  +	</head>
   
  -    <body>
  -        <p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
  -        
  -        <p>$msg.get("intro")</p>
  -        
  -        <form name="form1" action="address2.do">
  -        <p>$msg.get("language")
  -        <select name="language" size="1" onchange="form1.submit(); return false;">
  -            <option value="" SELECTED></option>
  -            <option value="English">English</option>             
  -            <option value="Deutsch">Deutsch</option>
  -        </select>
  -        </p></form>
  -        	
  -        <p>$msg.get("header")</p>
  -        <table width="300" border="1" cellspacing="" cellpadding="5">
  -        	<tr> 
  -        		<td>$msg.get("firstname")</td>
  -        		<td>&nbsp; $!address.firstname </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("lastname")</td>
  -        		<td>&nbsp; $!address.lastname </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("street")</td>
  -        		<td>&nbsp; $!address.street </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("zip")</td>
  -        		<td>&nbsp; $!address.zip </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("city")</td>
  -        		<td>&nbsp; $!address.city </td>
  -        	</tr>
  -        	<tr> 
  -        		<td>$msg.get("country")</td>
  -        		<td>&nbsp; $!address.country </td>
  -        	</tr>
  -        </table>
  -        
  -        <br>
  -        <a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
  -        <a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
  +	<body>
  +		<p><b>$msg.get("title") (Velocity $msg.get("version"))</b></p>
  +		
  +		<p>$msg.get("intro")</p>
  +		
  +		<form name="form1" method="GET" action="address2.do">
  +		<p>$msg.get("language")
  +		<select name="locale" size="1" onchange="form1.submit(); return false;">
  +			<option value="" SELECTED></option>
  +			<option value="English">English</option>			 
  +			<option value="Deutsch">Deutsch</option>
  +		</select>
  +		</p></form>
  +			
  +		<p>$msg.get("header")</p>
  +		<table width="300" border="1" cellspacing="" cellpadding="5">
  +			<tr> 
  +				<td>$msg.get("firstname")</td>
  +				<td>&nbsp; $!address.firstname </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("lastname")</td>
  +				<td>&nbsp; $!address.lastname </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("street")</td>
  +				<td>&nbsp; $!address.street </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("zip")</td>
  +				<td>&nbsp; $!address.zip </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("city")</td>
  +				<td>&nbsp; $!address.city </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("country")</td>
  +				<td>&nbsp; $!address.country </td>
  +			</tr>
  +			<tr> 
  +				<td>$msg.get("languages")</td>
  +				<td>
  +					#foreach ($language in $!address.languages)
  +						&nbsp; $msg.get($language)<br>
  +					#end
  +					&nbsp;
  +				</td>
  +			</tr>
  +		</table>
  +		
  +		<br>
  +		<a href="address1.do?action=edit">$msg.get("edit")</a> (JSP)<br><br>
  +		<a href="address2.do?action=edit">$msg.get("edit")</a> (Velocity)
   
  -        <br><br>
  -        <a href="examples/struts_app1/show-address.txt">Template</a>
  -        
  -    </body>
  +		<br><br>
  +		<a href="examples/struts_app1/show-address.txt">Template</a>
  +		
  +	</body>
   </html>
  
  
  
  1.3       +1 -1      jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-addressjsp.txt
  
  Index: show-addressjsp.txt
  ===================================================================
  RCS file: /home/cvs/jakarta-velocity-tools/struts/examples/struts/examples/struts_app1/show-addressjsp.txt,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- show-addressjsp.txt	9 Jan 2002 11:12:40 -0000	1.2
  +++ show-addressjsp.txt	3 Sep 2002 11:14:27 -0000	1.3
  @@ -16,7 +16,7 @@
           
           <form name="form1" action="address1.do">
           <p><bean:message key="language"/>
  -        <select name="language" size="1" onchange="form1.submit(); return false;">
  +        <select name="locale" size="1" onchange="form1.submit(); return false;">
               <option value="" SELECTED></option>
               <option value="English">English</option>             
               <option value="Deutsch">Deutsch</option>
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>