Author: markt
Date: Wed Oct 1 14:24:49 2014
New Revision: 1628712
URL: http://svn.apache.org/r1628712
Log:
boolean[] -> BitSet
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628712&r1=1628711&r2=1628712&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
Wed Oct 1 14:24:49 2014
@@ -18,6 +18,7 @@ package org.apache.tomcat.util.http;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
+import java.util.BitSet;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
@@ -45,7 +46,7 @@ public final class LegacyCookieProcessor
StringManager.getManager("org.apache.tomcat.util.http");
private static final char[] V0_SEPARATORS = {',', ';', ' ', '\t'};
- private static final boolean[] V0_SEPARATOR_FLAGS = new boolean[128];
+ private static final BitSet V0_SEPARATOR_FLAGS = new BitSet(128);
// Excludes '/' since configuration controls whether or not to treat '/' as
// a separator
@@ -55,7 +56,7 @@ public final class LegacyCookieProcessor
static {
for (char c : V0_SEPARATORS) {
- V0_SEPARATOR_FLAGS[c] = true;
+ V0_SEPARATOR_FLAGS.set(c);
}
}
@@ -73,18 +74,20 @@ public final class LegacyCookieProcessor
// when deprecated code is removed
private boolean presserveCookieHeader =
CookieSupport.PRESERVE_COOKIE_HEADER;
- private boolean[] httpSeparatorFlags = new boolean[128];
+ private BitSet httpSeparatorFlags = new BitSet(128);
public LegacyCookieProcessor() {
- // Array elements will default to false
+ // BitSet elements will default to false
for (char c : HTTP_SEPARATORS) {
- httpSeparatorFlags[c] = true;
+ httpSeparatorFlags.set(c);
}
@SuppressWarnings("deprecation") // Default to
STRICT_SERVLET_COMPLIANCE
// when deprecated code is removed
boolean b = CookieSupport.FWD_SLASH_IS_SEPARATOR;
- httpSeparatorFlags['/'] = b;
+ if (b) {
+ httpSeparatorFlags.set('/');
+ }
}
@@ -129,12 +132,16 @@ public final class LegacyCookieProcessor
public boolean getForwardSlashIsSeparator() {
- return httpSeparatorFlags['/'];
+ return httpSeparatorFlags.get('/');
}
public void setForwardSlashIsSeparator(boolean forwardSlashIsSeparator) {
- httpSeparatorFlags['/'] = forwardSlashIsSeparator;
+ if (forwardSlashIsSeparator) {
+ httpSeparatorFlags.set('/');
+ } else {
+ httpSeparatorFlags.clear('/');
+ }
}
@@ -478,7 +485,7 @@ public final class LegacyCookieProcessor
}
}
- return httpSeparatorFlags[c];
+ return httpSeparatorFlags.get(c);
}
@@ -494,7 +501,7 @@ public final class LegacyCookieProcessor
}
}
- return V0_SEPARATOR_FLAGS[c];
+ return V0_SEPARATOR_FLAGS.get(c);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]