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 2017/04/14 11:14:28 UTC

svn commit: r1791355 - in /httpcomponents/httpcore/trunk/httpcore5/src: main/java/org/apache/hc/core5/pool/ main/java/org/apache/hc/core5/util/ test/java/org/apache/hc/core5/pool/

Author: olegk
Date: Fri Apr 14 11:14:28 2017
New Revision: 1791355

URL: http://svn.apache.org/viewvc?rev=1791355&view=rev
Log:
Added convenience validation methods to TimeValue

Modified:
    httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/LeaseRequest.java
    httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java
    httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java
    httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/pool/TestStrictConnPool.java

Modified: httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/LeaseRequest.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/LeaseRequest.java?rev=1791355&r1=1791354&r2=1791355&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/LeaseRequest.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/LeaseRequest.java Fri Apr 14 11:14:28 2017
@@ -46,8 +46,8 @@ class LeaseRequest<T, C extends Graceful
     private volatile Exception ex;
 
     static long calculateDeadline(final long currentTimeMillis, final TimeValue timeValue) {
-        final long time = timeValue.getDuration() > 0 ? currentTimeMillis + timeValue.toMillis() : Long.MAX_VALUE;
-        if (time < 0 && timeValue.getDuration() > 0) {
+        final long time = TimeValue.isPositive(timeValue) ? currentTimeMillis + timeValue.toMillis() : Long.MAX_VALUE;
+        if (time < 0 && TimeValue.isPositive(timeValue)) {
             return Long.MAX_VALUE;
         } else {
             return time;

Modified: httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java?rev=1791355&r1=1791354&r2=1791355&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/pool/StrictConnPool.java Fri Apr 14 11:14:28 2017
@@ -570,8 +570,7 @@ public class StrictConnPool<T, C extends
 
     @Override
     public void closeIdle(final TimeValue idleTime) {
-        Args.notNull(idleTime, "Idle time");
-        final long deadline = System.currentTimeMillis() - (idleTime.getDuration() > 0 ? idleTime.toMillis() : 0);
+        final long deadline = System.currentTimeMillis() - (TimeValue.isPositive(idleTime) ? idleTime.toMillis() : 0);
         enumAvailable(new Callback<PoolEntry<T, C>>() {
 
             @Override

Modified: httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java?rev=1791355&r1=1791354&r2=1791355&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/main/java/org/apache/hc/core5/util/TimeValue.java Fri Apr 14 11:14:28 2017
@@ -90,6 +90,14 @@ public class TimeValue {
         return new TimeValue(seconds, TimeUnit.SECONDS);
     }
 
+    public static boolean isPositive(final TimeValue timeValue) {
+        return timeValue != null && timeValue.getDuration() > 0;
+    }
+
+    public static boolean isNonNegative(final TimeValue timeValue) {
+        return timeValue != null && timeValue.getDuration() >= 0;
+    }
+
     private final long duration;
 
     private final TimeUnit timeUnit;

Modified: httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/pool/TestStrictConnPool.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/pool/TestStrictConnPool.java?rev=1791355&r1=1791354&r2=1791355&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/pool/TestStrictConnPool.java (original)
+++ httpcomponents/httpcore/trunk/httpcore5/src/test/java/org/apache/hc/core5/pool/TestStrictConnPool.java Fri Apr 14 11:14:28 2017
@@ -532,12 +532,6 @@ public class TestStrictConnPool {
     }
 
     @Test(expected=IllegalArgumentException.class)
-    public void testCloseIdleInvalid() throws Exception {
-        final StrictConnPool<String, HttpConnection> pool = new StrictConnPool<>(2, 2);
-        pool.closeIdle(null);
-    }
-
-    @Test(expected=IllegalArgumentException.class)
     public void testGetStatsInvalid() throws Exception {
         final StrictConnPool<String, HttpConnection> pool = new StrictConnPool<>(2, 2);
         pool.getStats(null);