Author: sebb Date: Tue Mar 28 13:58:58 2017 New Revision: 1789142 URL: http://svn.apache.org/viewvc?rev=1789142&view=rev Log: CODEC-232 URLCodec is neither immutable nor threadsafe
Modified: commons/proper/codec/trunk/src/changes/changes.xml commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/net/URLCodec.java Modified: commons/proper/codec/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/changes/changes.xml?rev=1789142&r1=1789141&r2=1789142&view=diff ============================================================================== --- commons/proper/codec/trunk/src/changes/changes.xml (original) +++ commons/proper/codec/trunk/src/changes/changes.xml Tue Mar 28 13:58:58 2017 @@ -45,6 +45,7 @@ The <action> type attribute can be add,u <release version="1.11" date="2017-MM-DD" description="Feature and fix release."> <!-- The first attribute below should be the issue id; makes it easier to navigate in the IDE outline --> + <action issue="CODEC-232" dev="sebb" type="fix">URLCodec is neither immutable nor threadsafe</action> <action issue="CODEC-231" dev="sebb" type="fix">StringUtils.equals(CharSequence cs1, CharSequence cs2) can fail with String Index OBE</action> <action issue="CODEC-230" dev="sebb" type="fix">URLCodec.WWW_FORM_URL should be private</action> <action issue="CODEC-229" dev="sebb" type="fix">StringUtils.newStringxxx(null) should return null, not NPE</action> Modified: commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/net/URLCodec.java URL: http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/net/URLCodec.java?rev=1789142&r1=1789141&r2=1789142&view=diff ============================================================================== --- commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/net/URLCodec.java (original) +++ commons/proper/codec/trunk/src/main/java/org/apache/commons/codec/net/URLCodec.java Tue Mar 28 13:58:58 2017 @@ -37,7 +37,7 @@ import org.apache.commons.codec.binary.S * {@link java.net.URLDecoder} on older Java platforms, as these classes in Java versions below * 1.4 rely on the platform's default charset encoding. * <p> - * This class is immutable and thread-safe. + * This class is thread-safe since 1.11 * * @see <a href="http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1">Chapter 17.13.4 Form content types</a> * of the <a href="http://www.w3.org/TR/html4/">HTML 4.01 Specification</a> @@ -53,7 +53,7 @@ public class URLCodec implements BinaryE * @deprecated TODO: This field will be changed to a private final Charset in 2.0. (CODEC-126) */ @Deprecated - protected String charset; + protected volatile String charset; // added volatile: see CODEC-232 /** * Release 1.5 made this field final. @@ -62,7 +62,9 @@ public class URLCodec implements BinaryE /** * BitSet of www-form-url safe characters. - * @deprecated Will be removed in 2.0 (CODEC-230) + * This is a copy of the internal BitSet which is now used for the conversion. + * Changes to this field are ignored. + * @deprecated 1.11 Will be removed in 2.0 (CODEC-230) */ @Deprecated protected static final BitSet WWW_FORM_URL;