Turbine 2.3.3 RC1 Tag

git-svn-id: https://svn.apache.org/repos/asf/turbine/core/tags/TURBINE_2_3_3_RC1@669807 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/README.txt b/README.txt
index 656864c..de4c426 100644
--- a/README.txt
+++ b/README.txt
@@ -1,17 +1,20 @@
 --------------------------------------------------------------------------
-Copyright 2001-2004 The Apache Software Foundation
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
 
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
 
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
 --------------------------------------------------------------------------
 
 --------------------------------------------------------------------------
@@ -24,71 +27,20 @@
 
 Turbine requires Apache Maven (http://maven.apache.org/) as build
 tool. Please download and install maven from its download page at
-http://maven.apache.org/start/download.html
-
-As of September 2005, the official released maven version is
-1.0.2. This is the version recommended to build Turbine. The current
-Maven 1.1-beta2 version does build the jar, but not the site
-(see http://jira.codehaus.org/browse/MAVEN-1690).
+http://maven.apache.org/maven-1.x/start/download.html
 
 As of Turbine 2.3, you must also have the Torque plugin for Maven
 installed to build Turbine. Install it using the following
 plugin:download instruction:
 
-maven -DartifactId=maven-torque-plugin -DgroupId=torque -Dversion=3.1.1 plugin:download
+maven -DartifactId=maven-torque-plugin -DgroupId=torque -Dversion=3.3 plugin:download
 
 The turbine jar is built by running the "maven jar:jar" command in the
 root directory of the Turbine source distribution.
 
-
-Using JDK 1.4 or newer
-----------------------
-
-The following jars cannot be downloaded from the central maven
-repository at www.ibiblio.org/maven/ due to license restrictions:
-
-- activation 1.0.2 from http://java.sun.com/products/javabeans/glasgow/jaf.html
-- javamail 1.3.3 from http://java.sun.com/products/javamail/
-
-Please download these jars and install them into your local repository at
-
-MAVEN_REPO_LOCAL/javax.activation/jars/activation-1.0.2.jar
-MAVEN_REPO_LOCAL/javax.mail/jars/mail-1.3.3.jar
-
-
-Using JDK 1.3
--------------
-
-In addition to the jars mentioned above, you must also modify the
-project.xml file shipped with Turbine which is in the root directory
-of the source distribution. Open this file in an editor and search for
-the "uncomment these dependencies if you are using a 1.3 JDK" line. In
-between the two comment blocks, there are a number of dependencies
-commented out which are required for JDK 1.3. Remove the two lines
-that read "REMOVE THIS LINE".
-
-You will also need two additional jars that cannot be downloaded from
-the central maven repository at www.ibiblio.org/maven/ due to license
-restrictions:
-
-- jdbc 2.0 from http://java.sun.com/products/jdbc/
-- jndi 1.2.1 from http://java.sun.com/products/jndi/
-
-Please download these jars and install them into your local repository at
-
-MAVEN_REPO_LOCAL/javax.sql/jars/jdbc-stdext-2.0.jar
-MAVEN_REPO_LOCAL/javax.naming/jars/jndi-1.2.1.jar
-
-
-Using a J2EE distribution
--------------------------
-
-All jars mentioned above are part of J2EE distributions. Turbine
-should build without any missing dependencies in a J2EE
-environment. However, you might have to copy the mail.jar,
-activation.jar, jndi.jar and jdbc.jar to the appropriate locations in
-your local maven repository as described above.
-
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+IMPORTANT NOTICE FOR USERS OF JDK 1.3. IT IS NO LONGER SUPPORTED
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 Further documentation
 =====================
@@ -98,4 +50,3 @@
 most current documentation for this source tree by executing "maven
 site" in the root directory of the source distribution after building
 the jar.
-
diff --git a/maven.xml b/maven.xml
index c3bc8d2..552a2ec 100644
--- a/maven.xml
+++ b/maven.xml
@@ -197,13 +197,14 @@
         <include name="test/*"/>
         <include name="checkstyle-license.txt"/>
         <include name="turbine-checkstyle.xml"/>
+        <include name="test/turbine-resources/**/*"/>
       </fileset>
     </copy>
 
     <copy todir="${maven.dist.src.assembly.dir}/xdocs">
       <fileset dir="xdocs"/>
     </copy>
-    
+
     <copy todir="${maven.dist.src.assembly.dir}">
       <fileset dir="${basedir}">
         <include name="pom.xml"/>
diff --git a/pom.xml b/pom.xml
index 20caf92..aa4b871 100644
--- a/pom.xml
+++ b/pom.xml
@@ -665,7 +665,7 @@
     <dependency>

       <groupId>commons-lang</groupId>

       <artifactId>commons-lang</artifactId>

-      <version>2.3</version>

+      <version>2.4</version>

       <type>jar</type>

       <scope>compile</scope>

     </dependency>

@@ -802,13 +802,13 @@
       <type>jar</type>

       <scope>compile</scope>

     </dependency>

-    <dependency>
-      <groupId>org.apache.torque</groupId>
-      <artifactId>village</artifactId>
-      <version>3.3</version>
-      <type>jar</type>
-      <scope>compile</scope>
-    </dependency>
+    <dependency>

+      <groupId>org.apache.torque</groupId>

+      <artifactId>village</artifactId>

+      <version>3.3</version>

+      <type>jar</type>

+      <scope>compile</scope>

+    </dependency>

     <dependency>

       <groupId>xmlrpc</groupId>

       <artifactId>xmlrpc</artifactId>

diff --git a/project.xml b/project.xml
index c7a4587..dc6b0b2 100644
--- a/project.xml
+++ b/project.xml
@@ -43,7 +43,7 @@
     well. In other words, we strive to make portions of Turbine easily
     available for use in other applications.
   </description>
-  <url>http://turbine.apache.org/turbine/development/turbine-2.3/</url>
+  <url>http://turbine.apache.org/turbine/turbine-2.3.3-rc1/index.html</url>
   <issueTrackingUrl>http://issues.apache.org/jira/browse/TRB</issueTrackingUrl>
   <siteAddress>people.apache.org</siteAddress>
   <siteDirectory>/www/turbine.apache.org/turbine/development/turbine-2.3/</siteDirectory>
@@ -104,6 +104,7 @@
     <version>
       <name>2.3.3-RC1</name>
       <tag>TURBINE_2_3_3_RC1</tag>
+      <id>2.3.3-RC1</id>
     </version>
   </versions>
 
@@ -511,7 +512,7 @@
     <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
-      <version>2.3</version>
+      <version>2.4</version>
       <url>http://commons.apache.org/lang/</url>
       <type>jar</type>
       <properties>
diff --git a/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java b/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
index 8704584..7055c21 100644
--- a/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
+++ b/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
@@ -237,10 +237,10 @@
      * @param surl A String.
      * @param name A String.
      * @return A String with the cid of the embedded file.
-     * @exception VelocityEmailException
+     * @exception EmailException
      * @see HtmlEmail#embed(URL surl, String name) embed.
      */
-    public String embed(String surl, String name) throws VelocityEmailException
+    public String embed(String surl, String name) throws EmailException
     {
         String cid = "";
         try
diff --git a/src/test/org/apache/turbine/services/pull/tools/UIToolTest.java b/src/test/org/apache/turbine/services/pull/tools/UIToolTest.java
index 5a197da..43f15c8 100644
--- a/src/test/org/apache/turbine/services/pull/tools/UIToolTest.java
+++ b/src/test/org/apache/turbine/services/pull/tools/UIToolTest.java
@@ -22,6 +22,7 @@
 import junit.framework.Test;

 import junit.framework.TestSuite;

 

+import org.apache.commons.lang.ArrayUtils;

 import org.apache.turbine.services.pull.PullService;

 import org.apache.turbine.services.pull.TurbinePull;

 import org.apache.turbine.test.BaseTurbineTest;

@@ -109,13 +110,12 @@
         UITool ui = getTool();

 

         String[] skinNames = ui.getSkinNames();

-        // two real skins + ".svn"

-        assertEquals(3, skinNames.length);

+        // Remove the ".svn" dir that may be present.

+        skinNames = (String[]) ArrayUtils.removeElement(skinNames, ".svn");

+        assertEquals(2, skinNames.length);

 

-        // Not completely sure this will always be in the same order.

-        assertEquals(".svn", skinNames[0]); // Not actually a skin

-        assertEquals("myotherskin", skinNames[1]);

-        assertEquals("myskin", skinNames[2]);

+        assertTrue(ArrayUtils.contains(skinNames, "myotherskin"));

+        assertTrue(ArrayUtils.contains(skinNames, "myskin"));

     }

 

     public void testSkinValues()

diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index dd753f8..b2e7b8e 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -27,10 +27,30 @@
 </properties>
 
 <body>
-  <release version="2.3.3-b1" date="2008-04-10">
+  <release version="2.3.3-RC1" date="2008-06-12">
     <action type="update" dev="hoffmann">
       Preparing for the Release of Turbine 2.3.3
     </action>
+    <action type="update" dev="seade">
+      VelocityHtmlEmail now throws EmailException rather than
+      VelocityEmailException.  This has been done for compatibility with
+      commons-email-1.1, even though commons-email-1.0 is being used for now.
+    </action>
+    <action type="update" dev="seade">
+      Update jar dependencies:<br/>
+      <ul>
+        <li>javax.activation to 1.1.1</li>
+        <li>javax.mail to 1.4.1</li>
+        <li>commons-configuration to 1.5</li>
+        <li>commons-fileupload to 1.2.1</li>
+        <li>commons-io to 1.4</li>
+        <li>commons-logging to 1.1.1</li>
+        <li>commons-lang to 2.4</li>
+        <li>commons-pool to 1.4</li>
+        <li>log4j to 1.2.15</li>
+        <li>servletapi to 2.4</li>
+      </ul>
+    </action>
     <action type="update" dev="tv">
       Further simplify the value assignment in Intake fields.
     </action>
@@ -44,14 +64,14 @@
       field types.
     </action>
     <action type="update" dev="tv">
-      Important change: The BaseValueParser now consistently returns null for 
+      Important change: The BaseValueParser now consistently returns null for
       all get-methods that return an Object, if the parameter name does not exist.
-      This changes the behaviour of getBigDecimal which used to return 0 in this 
+      This changes the behaviour of getBigDecimal which used to return 0 in this
       case.
     </action>
     <action type="update" dev="tv">
-      Initialize the locale of RunData, the ParameterParser and the CookieParser 
-      from the HttpServletRequest. Make RunData.setLocale propagate the locale 
+      Initialize the locale of RunData, the ParameterParser and the CookieParser
+      from the HttpServletRequest. Make RunData.setLocale propagate the locale
       setting to the parsers.
     </action>
     <action type="update" dev="tv">
@@ -60,7 +80,7 @@
     </action>
     <action type="add" dev="tv">
       Made ValueParser and BaseValueParser locale-aware. Note that the default
-      locale used is always the default value of the JVM which is different from 
+      locale used is always the default value of the JVM which is different from
       the previous behaviour where the locale used was sometimes Locale.US (for
       float, double and BigDecimal) and sometimes the JVM-default (for dates).
     </action>
@@ -151,7 +171,7 @@
     <action type="remove" dev="tv">
       Remove long deprecated classes.
       <ul>
-      	<li>org.apache.turbine.util.SequencedHashtable</li>
+        <li>org.apache.turbine.util.SequencedHashtable</li>
         <li>org.apache.turbine.util.StringStackBuffer</li>
         <li>org.apache.turbine.util.FileUtils</li>
         <li>org.apache.turbine.util.BufferCache</li>
@@ -164,8 +184,8 @@
         <li>org.apache.java.lang.*</li>
         <li>org.apache.java.security.*</li>
         <li>org.apache.turbine.util.db.*</li>
-   	    <li>org.apache.turbine.services.resources.TurbineResources</li>
-	    <li>org.apache.turbine.services.db.*</li>
+         <li>org.apache.turbine.services.resources.TurbineResources</li>
+      <li>org.apache.turbine.services.db.*</li>
       </ul>
     </action>
     <action type="add" dev="tv">
@@ -440,13 +460,13 @@
     <action type="update">
        Upgraded to commons-pool-1.1
     </action>
-  	 <action type="update">
-   	   HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore
-   	   setting expiry dates failed.
-  	 </action>
-  	 <action type="update">
-  	   TTWS60: HtmlPageAttributes setBackground sets the incorrect key name.
-  	 </action>
+     <action type="update">
+        HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore
+        setting expiry dates failed.
+     </action>
+     <action type="update">
+       TTWS60: HtmlPageAttributes setBackground sets the incorrect key name.
+     </action>
   </release>
 
 <release version="Turbine 2.3">
@@ -461,14 +481,14 @@
       use at least Maven 1.0b9, you will have to install it manually
       before you can recompile the source code.
     </action>
-    	<action type="update">
+      <action type="update">
       The IntakeService has been refactored, introducing two Abstract classes; the
       DefaultValidator and the NumberValidator. They both contain rules which are
       applicable to all Validator's and NumbeValidator's respectively. Unnecessary use
       was being made of (Old) NumberValidator which used BigDecimals, cleaned this up
       implementing concrete classes for all Number Types. Simplified definition of
       (number &amp; required) rules in Intake.xml.
-  	</action>
+    </action>
     <action type="update">
       The LoginUser action no longer checks to see if the user object is already
       in the session and returns if it is found.  The user will always be there
@@ -533,30 +553,30 @@
       commons-fileupload component.
     </action>
       <action type="update">
-	 Added ability to specify either the class TurbineResources.properties file
-	 or a new TurbineConfiguration.xml file.  TurbineConfiguration.xml allows
-	 Turbine to pull it's configuration values from multiple locations.  Please
-	 read the howto for more information.
+   Added ability to specify either the class TurbineResources.properties file
+   or a new TurbineConfiguration.xml file.  TurbineConfiguration.xml allows
+   Turbine to pull it's configuration values from multiple locations.  Please
+   read the howto for more information.
     </action>
     <action type="update">
-	 Added a Howto describing using Hibernate with Turbine.  The actual code is
-	 currently not part of the Turbine distribution due to licensing issues, but is very
-	 easy to implement due to Turbine support of Avalon Components.
+   Added a Howto describing using Hibernate with Turbine.  The actual code is
+   currently not part of the Turbine distribution due to licensing issues, but is very
+   easy to implement due to Turbine support of Avalon Components.
     </action>
     <action type="update">
-	 Changed TurbineUser so that when either permanent or temporary values are
-	 stored, if the required hashtable was missing, then it was created.  This
-	 happened in conjunction with the PassiveUserManager.  Additionally, the
-	 setTempStorage(Hashtable newTempStorage) did not actually assign the new
-	 Hashtable.  Cleaned up some of the code so the parallel permanent and temp
-	 data storage methods followed the same patterns.  Created a cactus testcase
-	 to test TurbineUser.
+   Changed TurbineUser so that when either permanent or temporary values are
+   stored, if the required hashtable was missing, then it was created.  This
+   happened in conjunction with the PassiveUserManager.  Additionally, the
+   setTempStorage(Hashtable newTempStorage) did not actually assign the new
+   Hashtable.  Cleaned up some of the code so the parallel permanent and temp
+   data storage methods followed the same patterns.  Created a cactus testcase
+   to test TurbineUser.
     </action>
     <action type="update">
-	 Changed scheduler so that if it is NOT enabled, then it doesn't attempt
-	 to connect to the database and retrieve jobs.  This prevents a spurious
-	 no data source error from showing up in the turbine logs on startup.  Added
-	 a cactus test to test the fix.
+   Changed scheduler so that if it is NOT enabled, then it doesn't attempt
+   to connect to the database and retrieve jobs.  This prevents a spurious
+   no data source error from showing up in the turbine logs on startup.  Added
+   a cactus test to test the fix.
     </action>
     <action type="update">
       A new pull tool is available in the session scope called $sessionData.
@@ -641,9 +661,9 @@
            Configuration values can now be stored in XML, .properties, as well as JNDI Tree.
          </action>
          <action type="update">
-		   Configuration values can be overridden.  If you specify JNDI and the .xml, if a value
-		   is found in JNDI, then it is used.  Useful for overriding environment specific values
-		   like mail servers or whether Velocity templates are reloadable.
+       Configuration values can be overridden.  If you specify JNDI and the .xml, if a value
+       is found in JNDI, then it is used.  Useful for overriding environment specific values
+       like mail servers or whether Velocity templates are reloadable.
          </action>
            </action>
     <action type="update">