Creating lang-3.3-RC1 tag

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/tags/LANG_3_3_RC1@1572883 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/default.properties b/default.properties
index 3d1f6b4..df2f51c 100644
--- a/default.properties
+++ b/default.properties
@@ -42,7 +42,7 @@
 component.title = Core Language Utilities
 
 # The current version number of this component
-component.version = 3.3-SNAPSHOT
+component.version = 3.3
 
 # The name that is used to create the jar file
 final.name = ${component.name}-${component.version}
diff --git a/pom.xml b/pom.xml
index 5e17f1f..27e279a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -616,8 +616,6 @@
         <version>2.4</version>
         <configuration>
           <minSeverity>info</minSeverity>
-          <!-- Compare 3.2.1 against 3.1, since point releases never introduce API changes -->
-          <comparisonVersion>3.1</comparisonVersion>
         </configuration>
       </plugin>
       <plugin>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d7b6197..e7ad9b1 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -21,7 +21,7 @@
   </properties>
   <body>
 
-  <release version="3.3" date="2014-02-26" description="Bugfix and Feature release">
+  <release version="3.3" date="2014-03-03" description="Bug fixes and and new features including: DifferenceBuilder, ClassPathUtils, RandomUtils and Jaro-Winkler String distance metric">
     <action issue="LANG-621" type="fix" dev="kinow" due-to="Philip Hodges, Thomas Neidhart">ReflectionToStringBuilder.toString does not debug 3rd party object fields within 3rd party object</action>
     <action issue="LANG-955" type="add" dev="britter" due-to="Adam Hooper">Add methods for removing all invalid characters according to XML 1.0 and XML 1.1 in an input string to StringEscapeUtils</action>
     <action issue="LANG-977" type="fix" dev="britter" due-to="Chris Karcher">NumericEntityEscaper incorrectly encodes supplementary characters</action>
diff --git a/src/main/java/org/apache/commons/lang3/SerializationUtils.java b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
index a0a3d7e..5937eac 100644
--- a/src/main/java/org/apache/commons/lang3/SerializationUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SerializationUtils.java
@@ -114,7 +114,9 @@
     /**
      * Performs a serialization roundtrip. Serializes and deserializes the given object, great for testing objects that
      * implement {@link Serializable}.
-     * 
+     *
+     * @param <T>
+     *           the type of the object involved
      * @param msg
      *            the object to roundtrip
      * @return the serialized and deseralized object
diff --git a/src/main/java/org/apache/commons/lang3/StringUtils.java b/src/main/java/org/apache/commons/lang3/StringUtils.java
index bf276f2..e325675 100644
--- a/src/main/java/org/apache/commons/lang3/StringUtils.java
+++ b/src/main/java/org/apache/commons/lang3/StringUtils.java
@@ -7051,11 +7051,15 @@
 
         // If one or both of the sets of common characters is empty, then
         // there is no similarity between the two strings.
-        if (m1.length() == 0 || m2.length() == 0) return 0.0;
+        if (m1.length() == 0 || m2.length() == 0) {
+            return 0.0;
+        }
 
         // If the set of common characters is not the same size, then
         // there is no similarity between the two strings, either.
-        if (m1.length() != m2.length()) return 0.0;
+        if (m1.length() != m2.length()) {
+            return 0.0;
+        }
 
         // Calculate the number of transposition between the two sets
         // of common characters.
diff --git a/src/main/java/org/apache/commons/lang3/builder/RecursiveToStringStyle.java b/src/main/java/org/apache/commons/lang3/builder/RecursiveToStringStyle.java
index f36b4bf..58b6a66 100644
--- a/src/main/java/org/apache/commons/lang3/builder/RecursiveToStringStyle.java
+++ b/src/main/java/org/apache/commons/lang3/builder/RecursiveToStringStyle.java
@@ -1,3 +1,19 @@
+/*
+ * 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
+ *
+ *      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.
+ */
 package org.apache.commons.lang3.builder;
 
 import java.util.Collection;
diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java b/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java
index 59504ff..8efa341 100644
--- a/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java
+++ b/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java
@@ -366,7 +366,7 @@
      * @throws NullPointerException if pattern, timeZone, or locale is null.
      */
     protected FastDateFormat(final String pattern, final TimeZone timeZone, final Locale locale) {
-    	this(pattern, timeZone, locale, null);
+        this(pattern, timeZone, locale, null);
     }
 
     // Constructor
diff --git a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
index e46dda7..79fb7c6 100644
--- a/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
+++ b/src/main/java/org/apache/commons/lang3/time/FastDateParser.java
@@ -89,9 +89,23 @@
      *  pattern
      * @param timeZone non-null time zone to use
      * @param locale non-null locale
-     * @param centuryStart The start of the century for 2 digit year parsing
      */
-    protected FastDateParser(final String pattern, final TimeZone timeZone, final Locale locale, Date centuryStart) {
+    protected FastDateParser(final String pattern, final TimeZone timeZone, final Locale locale) {
+        this(pattern, timeZone, locale, null);
+    }
+
+    /**
+     * <p>Constructs a new FastDateParser.</p>
+     *
+     * @param pattern non-null {@link java.text.SimpleDateFormat} compatible
+     *  pattern
+     * @param timeZone non-null time zone to use
+     * @param locale non-null locale
+     * @param centuryStart The start of the century for 2 digit year parsing
+     *
+     * @since 3.3
+     */
+    protected FastDateParser(final String pattern, final TimeZone timeZone, final Locale locale, final Date centuryStart) {
         this.pattern = pattern;
         this.timeZone = timeZone;
         this.locale = locale;
@@ -99,16 +113,16 @@
         final Calendar definingCalendar = Calendar.getInstance(timeZone, locale);
         int centuryStartYear;
         if(centuryStart!=null) {
-        	definingCalendar.setTime(centuryStart);
-        	centuryStartYear= definingCalendar.get(Calendar.YEAR);
+            definingCalendar.setTime(centuryStart);
+            centuryStartYear= definingCalendar.get(Calendar.YEAR);
         }
         else if(locale.equals(JAPANESE_IMPERIAL)) {
-        	centuryStartYear= 0;
+            centuryStartYear= 0;
         }
         else {
-        	// from 80 years ago to 20 years from now
-        	definingCalendar.setTime(new Date());
-        	centuryStartYear= definingCalendar.get(Calendar.YEAR)-80;
+            // from 80 years ago to 20 years from now
+            definingCalendar.setTime(new Date());
+            centuryStartYear= definingCalendar.get(Calendar.YEAR)-80;
         }
         century= centuryStartYear / 100 * 100;
         startYear= centuryStartYear - century;
@@ -116,9 +130,11 @@
         init(definingCalendar);
     }
 
-	/**
+    /**
      * Initialize derived fields from defining fields.
      * This is called from constructor and from readObject (de-serialization)
+     *
+     * @param definingCalendar the {@link java.util.Calendar} instance used to initialize this FastDateParser
      */
     private void init(Calendar definingCalendar) {
 
@@ -373,8 +389,8 @@
      * @return A value between centuryStart(inclusive) to centuryStart+100(exclusive)
      */
     private int adjustYear(final int twoDigitYear) {
-		int trial= century + twoDigitYear;
-    	return twoDigitYear>=startYear ?trial :trial+100;
+        int trial= century + twoDigitYear;
+        return twoDigitYear>=startYear ?trial :trial+100;
     }
 
     /**
diff --git a/src/release-tools/build.xml b/src/release-tools/build.xml
index 9025bc4..c45541c 100644
--- a/src/release-tools/build.xml
+++ b/src/release-tools/build.xml
@@ -22,7 +22,7 @@
    Build file for creating release candidates and releasing lang.
    $Id$
 -->
-<project name="release-lang" basedir="../../" xmlns:if="ant:if">
+<project name="release-lang" basedir="../../">
 
     <target name="-init">
         <property file="src/release-tools/build.properties" />
@@ -71,7 +71,7 @@
 
         <mvn goal="deploy">
             <arg value="-Prelease" />
-            <arg value="-Ptest-deploy" if:true="${test.run}"/>
+            <arg value="-Ptest-deploy" />
             <arg value="-Duser.name=${apache.id}" />
             <arg value="-Dgpg.passphrase=${gpg.pass}" />
         </mvn>
@@ -128,25 +128,8 @@
                  passphrase="${ssh.pass}"/>
     </target>
 
-    <target name="nexus-upload-test-run"
-            description="Creates all artifacts and deploys them to the target dir">
-        <antcall target="-build-maven-artifacts">
-            <param name="test.run" value="true"/>
-        </antcall>
-    </target>
-
-    <target name="nexus-upload"
-            description="Creates all artifacts and uploads them to Nexus">
-        <antcall target="-build-maven-artifacts">
-            <param name="test.run" value="false"/>
-        </antcall>
-    </target>
-
-    <target name="nexus-bundle"
+    <target name="nexus-bundle" depends="-build-maven-artifacts"
             description="Creates an upload bundle suitable for Nexus Snapshot Upload">
-        <antcall target="-build-maven-artifacts">
-            <param name="test.run" value="true"/>
-        </antcall>
         <jar destfile="target/upload-bundle.jar">
             <fileset dir="${repo.path}">
                 <include name="*.jar"/>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index ab1c5a9..a31e7c8 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -50,7 +50,7 @@
 The JavaDoc API documents are available online:
 </p>
 <ul>
-<li>The <a href="javadocs/api-3.2.1/index.html">current stable release 3.2.1</a> [Java 6.0+]</li>
+<li>The <a href="javadocs/api-3.3/index.html">current stable release 3.3</a> [Java 6.0+]</li>
 <li>The <a href="javadocs/api-2.6/index.html">legacy release 2.6</a> [Java 1.2+]</li>
 <li>Older releases - see the <a href="release-history.html">Release History</a> page</li>
 </ul>
@@ -64,23 +64,20 @@
 </section>
 <!-- ================================================== -->
 <section name="Release Information">
-<p>The latest stable release of Lang is 3.2.1. You may: </p>
+<p>The latest stable release of Lang is 3.3. You may: </p>
 <ul>
-<li>Download <a href="http://commons.apache.org/lang/download_lang.cgi">3.2.1</a></li>
-<li>Read the <a href="release-notes/RELEASE-NOTES-3.2.1.txt">3.2.1 release notes</a></li>
+<li>Download <a href="http://commons.apache.org/lang/download_lang.cgi">3.3</a></li>
+<li>Read the <a href="release-notes/RELEASE-NOTES-3.3.txt">3.3 release notes</a></li>
 <li>Examine the <a href="article3_0.html">2.x to 3.0 upgrade notes</a></li>
 <li>Compare major versions via the <a href="lang2-lang3-clirr-report.html">Lang2 to Lang3 Clirr report</a></li>
 </ul>
 
-<p>The <a href="clirr-report.html">Clirr report</a> for release 3.2.1 shows three errors in <code>org.apache.commons.lang3.time.FastDateFormat</code>. These were introduced in release 3.2 and are assumed not to affect client code. For more information please see the
-<a href="release-notes/RELEASE-NOTES-3.2.1.txt">release notes</a>.</p>
-
 <p>
 Alternatively you can pull it from the central Maven repositories:
 <pre>
   &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
   &lt;artifactId&gt;commons-lang3&lt;/artifactId&gt;
-  &lt;version&gt;3.2.1&lt;/version&gt;
+  &lt;version&gt;3.3&lt;/version&gt;
 </pre>
 </p>
 
diff --git a/src/site/xdoc/release-history.xml b/src/site/xdoc/release-history.xml
index a85d290..9c65199 100644
--- a/src/site/xdoc/release-history.xml
+++ b/src/site/xdoc/release-history.xml
@@ -28,6 +28,7 @@
 
 <table>
 <tr><th>Version</th><th>Release date</th><th>Javadoc</th><th>Release notes</th></tr>
+<tr><td>3.3</td><td>03/Mar/14</td><td><a href="javadocs/api-3.3/">api-3.3</a></td><td><a href="release-notes/RELEASE-NOTES-3.3.txt">release notes for 3.3</a></td></tr>
 <tr><td>3.2.1</td><td>05/Jan/14</td><td><a href="javadocs/api-3.2.1/">api-3.2.1</a></td><td><a href="release-notes/RELEASE-NOTES-3.2.1.txt">release notes for 3.2.1</a></td></tr>
 <tr><td>3.2</td><td>01/Jan/14</td><td><a href="javadocs/api-3.2/">api-3.2</a></td><td><a href="release-notes/RELEASE-NOTES-3.2.txt">release notes for 3.2</a></td></tr>
 <tr><td>3.1</td><td>14/Nov/11</td><td><a href="javadocs/api-3.1/">api-3.1</a></td><td><a href="release-notes/RELEASE-NOTES-3.1.txt">release notes for 3.1</a></td></tr>