You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2014/08/27 09:44:55 UTC

svn commit: r1620787 - in /httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie: BestMatchSpecFactory.java BrowserCompatSpecFactory.java NetscapeDraftSpecFactory.java RFC2109SpecFactory.java RFC2965SpecFactory.java

Author: olegk
Date: Wed Aug 27 07:44:54 2014
New Revision: 1620787

URL: http://svn.apache.org/r1620787
Log:
Cookie spec provides to re-use the same thread-safe CookieSpec instance by default

Modified:
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BestMatchSpecFactory.java
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BrowserCompatSpecFactory.java
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.java
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2109SpecFactory.java
    httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2965SpecFactory.java

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BestMatchSpecFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BestMatchSpecFactory.java?rev=1620787&r1=1620786&r2=1620787&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BestMatchSpecFactory.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BestMatchSpecFactory.java Wed Aug 27 07:44:54 2014
@@ -38,8 +38,9 @@ import org.apache.http.params.HttpParams
 import org.apache.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that creates and initializes
- * {@link BestMatchSpec} instances.
+ * {@link org.apache.http.cookie.CookieSpecProvider} implementation that provides an instance of
+ * {@link org.apache.http.impl.cookie.BestMatchSpec}. The instance returned by this factory can
+ * be shared by multiple threads.
  *
  * @since 4.0
  */
@@ -47,13 +48,11 @@ import org.apache.http.protocol.HttpCont
 @SuppressWarnings("deprecation")
 public class BestMatchSpecFactory implements CookieSpecFactory, CookieSpecProvider {
 
-    private final String[] datepatterns;
-    private final boolean oneHeader;
+    private final CookieSpec cookieSpec;
 
     public BestMatchSpecFactory(final String[] datepatterns, final boolean oneHeader) {
         super();
-        this.datepatterns = datepatterns;
-        this.oneHeader = oneHeader;
+        this.cookieSpec = new BestMatchSpec(datepatterns, oneHeader);;
     }
 
     public BestMatchSpecFactory() {
@@ -82,7 +81,7 @@ public class BestMatchSpecFactory implem
 
     @Override
     public CookieSpec create(final HttpContext context) {
-        return new BestMatchSpec(this.datepatterns, this.oneHeader);
+        return this.cookieSpec;
     }
 
 }

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BrowserCompatSpecFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BrowserCompatSpecFactory.java?rev=1620787&r1=1620786&r2=1620787&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BrowserCompatSpecFactory.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/BrowserCompatSpecFactory.java Wed Aug 27 07:44:54 2014
@@ -38,8 +38,9 @@ import org.apache.http.params.HttpParams
 import org.apache.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that creates and initializes
- * {@link BrowserCompatSpec} instances.
+ * {@link org.apache.http.cookie.CookieSpecProvider} implementation that provides an instance of
+ * {@link org.apache.http.impl.cookie.BrowserCompatSpec}. The instance returned by this factory
+ * can be shared by multiple threads.
  *
  * @since 4.0
  */
@@ -52,13 +53,13 @@ public class BrowserCompatSpecFactory im
         SECURITYLEVEL_IE_MEDIUM
     }
 
-    private final String[] datepatterns;
     private final SecurityLevel securityLevel;
+    private final CookieSpec cookieSpec;
 
     public BrowserCompatSpecFactory(final String[] datepatterns, final SecurityLevel securityLevel) {
         super();
-        this.datepatterns = datepatterns;
         this.securityLevel = securityLevel;
+        this.cookieSpec = new BrowserCompatSpec(datepatterns, securityLevel);
     }
 
     public BrowserCompatSpecFactory(final String[] datepatterns) {
@@ -88,7 +89,7 @@ public class BrowserCompatSpecFactory im
 
     @Override
     public CookieSpec create(final HttpContext context) {
-        return new BrowserCompatSpec(this.datepatterns);
+        return this.cookieSpec;
     }
 
 }

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.java?rev=1620787&r1=1620786&r2=1620787&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/NetscapeDraftSpecFactory.java Wed Aug 27 07:44:54 2014
@@ -38,8 +38,9 @@ import org.apache.http.params.HttpParams
 import org.apache.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that creates and initializes
- * {@link NetscapeDraftSpec} instances.
+ * {@link org.apache.http.cookie.CookieSpecProvider} implementation that provides an instance of
+ * {@link org.apache.http.impl.cookie.NetscapeDraftSpec}. The instance returned by this factory
+ * can be shared by multiple threads.
  *
  * @since 4.0
  */
@@ -47,11 +48,11 @@ import org.apache.http.protocol.HttpCont
 @SuppressWarnings("deprecation")
 public class NetscapeDraftSpecFactory implements CookieSpecFactory, CookieSpecProvider {
 
-    private final String[] datepatterns;
+    private final CookieSpec cookieSpec;
 
     public NetscapeDraftSpecFactory(final String[] datepatterns) {
         super();
-        this.datepatterns = datepatterns;
+        this.cookieSpec = new NetscapeDraftSpec(datepatterns);
     }
 
     public NetscapeDraftSpecFactory() {
@@ -77,11 +78,7 @@ public class NetscapeDraftSpecFactory im
 
     @Override
     public CookieSpec create(final HttpContext context) {
-
-
-
-
-        return new NetscapeDraftSpec(this.datepatterns);
+        return this.cookieSpec;
     }
 
 }

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2109SpecFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2109SpecFactory.java?rev=1620787&r1=1620786&r2=1620787&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2109SpecFactory.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2109SpecFactory.java Wed Aug 27 07:44:54 2014
@@ -38,8 +38,9 @@ import org.apache.http.params.HttpParams
 import org.apache.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that creates and initializes
- * {@link RFC2109Spec} instances.
+ * {@link org.apache.http.cookie.CookieSpecProvider} implementation that provides an instance of
+ * {@link org.apache.http.impl.cookie.RFC2109Spec}. The instance returned by this factory
+ * can be shared by multiple threads.
  *
  * @since 4.0
  */
@@ -47,13 +48,11 @@ import org.apache.http.protocol.HttpCont
 @SuppressWarnings("deprecation")
 public class RFC2109SpecFactory implements CookieSpecFactory, CookieSpecProvider {
 
-    private final String[] datepatterns;
-    private final boolean oneHeader;
+    private final CookieSpec cookieSpec;
 
     public RFC2109SpecFactory(final String[] datepatterns, final boolean oneHeader) {
         super();
-        this.datepatterns = datepatterns;
-        this.oneHeader = oneHeader;
+        this.cookieSpec = new RFC2109Spec(datepatterns, oneHeader);
     }
 
     public RFC2109SpecFactory() {
@@ -82,7 +81,7 @@ public class RFC2109SpecFactory implemen
 
     @Override
     public CookieSpec create(final HttpContext context) {
-        return new RFC2109Spec(this.datepatterns, this.oneHeader);
+        return this.cookieSpec;
     }
 
 }

Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2965SpecFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2965SpecFactory.java?rev=1620787&r1=1620786&r2=1620787&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2965SpecFactory.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/cookie/RFC2965SpecFactory.java Wed Aug 27 07:44:54 2014
@@ -38,8 +38,9 @@ import org.apache.http.params.HttpParams
 import org.apache.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that creates and initializes
- * {@link RFC2965Spec} instances.
+ * {@link org.apache.http.cookie.CookieSpecProvider} implementation that provides an instance of
+ * {@link org.apache.http.impl.cookie.RFC2965Spec}. The instance returned by this factory can
+ * be shared by multiple threads.
  *
  * @since 4.0
  */
@@ -47,13 +48,11 @@ import org.apache.http.protocol.HttpCont
 @SuppressWarnings("deprecation")
 public class RFC2965SpecFactory implements CookieSpecFactory, CookieSpecProvider {
 
-    private final String[] datepatterns;
-    private final boolean oneHeader;
+    private final CookieSpec cookieSpec;
 
     public RFC2965SpecFactory(final String[] datepatterns, final boolean oneHeader) {
         super();
-        this.datepatterns = datepatterns;
-        this.oneHeader = oneHeader;
+        this.cookieSpec = new RFC2965Spec(datepatterns, oneHeader);
     }
 
     public RFC2965SpecFactory() {
@@ -82,7 +81,7 @@ public class RFC2965SpecFactory implemen
 
     @Override
     public CookieSpec create(final HttpContext context) {
-        return new RFC2965Spec(this.datepatterns, this.oneHeader);
+        return this.cookieSpec;
     }
 
 }