Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2191310D38 for ; Mon, 14 Oct 2013 20:42:28 +0000 (UTC) Received: (qmail 12013 invoked by uid 500); 14 Oct 2013 20:42:26 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 11846 invoked by uid 500); 14 Oct 2013 20:42:25 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 11829 invoked by uid 99); 14 Oct 2013 20:42:25 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Oct 2013 20:42:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Oct 2013 20:42:23 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 8E1F523889E0; Mon, 14 Oct 2013 20:42:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1532083 - /commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Date: Mon, 14 Oct 2013 20:42:03 -0000 To: commits@commons.apache.org From: markt@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131014204203.8E1F523889E0@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: markt Date: Mon Oct 14 20:42:03 2013 New Revision: 1532083 URL: http://svn.apache.org/r1532083 Log: Fix some FindBugs warnings Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java?rev=1532083&r1=1532082&r2=1532083&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Mon Oct 14 20:42:03 2013 @@ -60,10 +60,10 @@ public class TestGenericKeyedObjectPool protected KeyedObjectPool makeEmptyPool(int mincapacity) { KeyedPooledObjectFactory factory = - new KeyedPooledObjectFactory() { + new BaseKeyedPooledObjectFactory() { ConcurrentHashMap map = new ConcurrentHashMap(); @Override - public PooledObject makeObject(Object key) { + public Object create(Object key) throws Exception { int counter = 0; AtomicInteger Counter = map.get(key); if(null != Counter) { @@ -72,16 +72,8 @@ public class TestGenericKeyedObjectPool map.put(key, new AtomicInteger(0)); counter = 0; } - return new DefaultPooledObject(String.valueOf(key) + String.valueOf(counter)); + return String.valueOf(key) + String.valueOf(counter); } - @Override - public void destroyObject(Object key, PooledObject obj) { } - @Override - public boolean validateObject(Object key, PooledObject obj) { return true; } - @Override - public void activateObject(Object key,PooledObject obj) { } - @Override - public void passivateObject(Object key, PooledObject obj) { } }; GenericKeyedObjectPool pool = @@ -110,9 +102,9 @@ public class TestGenericKeyedObjectPool private GenericKeyedObjectPool pool = null; private SimpleFactory factory = null; - private final Integer zero = new Integer(0); - private final Integer one = new Integer(1); - private final Integer two = new Integer(2); + private static final Integer KEY_ZERO = Integer.valueOf(0); + private static final Integer KEY_ONE = Integer.valueOf(1); + private static final Integer KEY_TWO = Integer.valueOf(2); @Before public void setUp() throws Exception { @@ -750,7 +742,7 @@ public class TestGenericKeyedObjectPool pool.setLifo(lifo); for (int i = 0; i < 3; i ++) { - Integer key = new Integer(i); + Integer key = Integer.valueOf(i); for (int j = 0; j < 5; j++) { pool.addObject(key); } @@ -768,41 +760,41 @@ public class TestGenericKeyedObjectPool */ pool.evict(); // Kill (0,0),(0,1) - assertEquals(3, pool.getNumIdle(zero)); - String objZeroA = pool.borrowObject(zero); + assertEquals(3, pool.getNumIdle(KEY_ZERO)); + String objZeroA = pool.borrowObject(KEY_ZERO); assertTrue(lifo ? objZeroA.equals("04") : objZeroA.equals("02")); - assertEquals(2, pool.getNumIdle(zero)); - String objZeroB = pool.borrowObject(zero); + assertEquals(2, pool.getNumIdle(KEY_ZERO)); + String objZeroB = pool.borrowObject(KEY_ZERO); assertTrue(objZeroB.equals("03")); - assertEquals(1, pool.getNumIdle(zero)); + assertEquals(1, pool.getNumIdle(KEY_ZERO)); pool.evict(); // Kill remaining 0 survivor and (1,5) - assertEquals(0, pool.getNumIdle(zero)); - assertEquals(4, pool.getNumIdle(one)); - String objOneA = pool.borrowObject(one); + assertEquals(0, pool.getNumIdle(KEY_ZERO)); + assertEquals(4, pool.getNumIdle(KEY_ONE)); + String objOneA = pool.borrowObject(KEY_ONE); assertTrue(lifo ? objOneA.equals("19") : objOneA.equals("16")); - assertEquals(3, pool.getNumIdle(one)); - String objOneB = pool.borrowObject(one); + assertEquals(3, pool.getNumIdle(KEY_ONE)); + String objOneB = pool.borrowObject(KEY_ONE); assertTrue(lifo ? objOneB.equals("18") : objOneB.equals("17")); - assertEquals(2, pool.getNumIdle(one)); + assertEquals(2, pool.getNumIdle(KEY_ONE)); pool.evict(); // Kill remaining 1 survivors - assertEquals(0, pool.getNumIdle(one)); + assertEquals(0, pool.getNumIdle(KEY_ONE)); pool.evict(); // Kill (2,10), (2,11) - assertEquals(3, pool.getNumIdle(two)); - String objTwoA = pool.borrowObject(two); + assertEquals(3, pool.getNumIdle(KEY_TWO)); + String objTwoA = pool.borrowObject(KEY_TWO); assertTrue(lifo ? objTwoA.equals("214") : objTwoA.equals("212")); - assertEquals(2, pool.getNumIdle(two)); + assertEquals(2, pool.getNumIdle(KEY_TWO)); pool.evict(); // All dead now - assertEquals(0, pool.getNumIdle(two)); + assertEquals(0, pool.getNumIdle(KEY_TWO)); pool.evict(); // Should do nothing - make sure no exception // Currently 2 zero, 2 one and 1 two active. Return them - pool.returnObject(zero, objZeroA); - pool.returnObject(zero, objZeroB); - pool.returnObject(one, objOneA); - pool.returnObject(one, objOneB); - pool.returnObject(two, objTwoA); + pool.returnObject(KEY_ZERO, objZeroA); + pool.returnObject(KEY_ZERO, objZeroB); + pool.returnObject(KEY_ONE, objOneA); + pool.returnObject(KEY_ONE, objOneB); + pool.returnObject(KEY_TWO, objTwoA); // Remove all idle objects pool.clear(); @@ -810,7 +802,7 @@ public class TestGenericKeyedObjectPool pool.setMinEvictableIdleTimeMillis(500); factory.counter = 0; // Reset counter for (int i = 0; i < 3; i ++) { - Integer key = new Integer(i); + Integer key = Integer.valueOf(i); for (int j = 0; j < 5; j++) { pool.addObject(key); } @@ -819,33 +811,33 @@ public class TestGenericKeyedObjectPool // 0's are evictable, others not pool.evict(); // Kill (0,0),(0,1) - assertEquals(3, pool.getNumIdle(zero)); + assertEquals(3, pool.getNumIdle(KEY_ZERO)); pool.evict(); // Kill (0,2),(0,3) - assertEquals(1, pool.getNumIdle(zero)); + assertEquals(1, pool.getNumIdle(KEY_ZERO)); pool.evict(); // Kill (0,4), leave (1,5) - assertEquals(0, pool.getNumIdle(zero)); - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(0, pool.getNumIdle(KEY_ZERO)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); pool.evict(); // (1,6), (1,7) - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); pool.evict(); // (1,8), (1,9) - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); pool.evict(); // (2,10), (2,11) - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); pool.evict(); // (2,12), (2,13) - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); pool.evict(); // (2,14), (1,5) - assertEquals(5, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); + assertEquals(5, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); Thread.sleep(200); // Ones now timed out pool.evict(); // kill (1,6), (1,7) - (1,5) missed - assertEquals(3, pool.getNumIdle(one)); - assertEquals(5, pool.getNumIdle(two)); - String obj = pool.borrowObject(one); + assertEquals(3, pool.getNumIdle(KEY_ONE)); + assertEquals(5, pool.getNumIdle(KEY_TWO)); + String obj = pool.borrowObject(KEY_ONE); if (lifo) { assertEquals("19", obj); } else { @@ -877,22 +869,22 @@ public class TestGenericKeyedObjectPool pool.setTestOnBorrow(false); for (int i = 0; i < 3; i ++) { factory.resetId(); - Integer key = new Integer(i); + Integer key = Integer.valueOf(i); for (int j = 0; j < 8; j++) { pool.addObject(key); } } pool.evict(); // Visit oldest 2 - 00 and 01 - VisitTracker obj = pool.borrowObject(zero); - pool.returnObject(zero, obj); - obj = pool.borrowObject(zero); - pool.returnObject(zero, obj); + VisitTracker obj = pool.borrowObject(KEY_ZERO); + pool.returnObject(KEY_ZERO, obj); + obj = pool.borrowObject(KEY_ZERO); + pool.returnObject(KEY_ZERO, obj); // borrow, return, borrow, return // FIFO will move 0 and 1 to end - 2,3,4,5,6,7,0,1 // LIFO, 7 out, then in, then out, then in - 7,6,5,4,3,2,1,0 pool.evict(); // Should visit 02 and 03 in either case for (int i = 0; i < 8; i++) { - VisitTracker tracker = pool.borrowObject(zero); + VisitTracker tracker = pool.borrowObject(KEY_ZERO); if (tracker.getId() >= 4) { assertEquals("Unexpected instance visited " + tracker.getId(), 0, tracker.getValidateCount()); @@ -909,12 +901,12 @@ public class TestGenericKeyedObjectPool pool.evict(); // 10, 11, 12 pool.evict(); // 13, 14, 15 - obj = pool.borrowObject(one); - pool.returnObject(one, obj); - obj = pool.borrowObject(one); - pool.returnObject(one, obj); - obj = pool.borrowObject(one); - pool.returnObject(one, obj); + obj = pool.borrowObject(KEY_ONE); + pool.returnObject(KEY_ONE, obj); + obj = pool.borrowObject(KEY_ONE); + pool.returnObject(KEY_ONE, obj); + obj = pool.borrowObject(KEY_ONE); + pool.returnObject(KEY_ONE, obj); // borrow, return, borrow, return // FIFO 3,4,5,^,6,7,0,1,2 // LIFO 7,6,^,5,4,3,2,1,0 @@ -932,7 +924,7 @@ public class TestGenericKeyedObjectPool // LIFO - 27, 10, 11 // FIFO - 24, 25, 26 for (int i = 0; i < 8; i++) { - VisitTracker tracker = pool.borrowObject(one); + VisitTracker tracker = pool.borrowObject(KEY_ONE); if ((lifo && tracker.getId() > 1) || (!lifo && tracker.getId() > 2)) { assertEquals("Instance " + tracker.getId() + @@ -968,15 +960,15 @@ public class TestGenericKeyedObjectPool int zeroLength = 10 + random.nextInt(20); for (int k = 0; k < zeroLength; k++) { - pool.addObject(zero); + pool.addObject(KEY_ZERO); } int oneLength = 10 + random.nextInt(20); for (int k = 0; k < oneLength; k++) { - pool.addObject(one); + pool.addObject(KEY_ONE); } int twoLength = 10 + random.nextInt(20); for (int k = 0; k < twoLength; k++) { - pool.addObject(two); + pool.addObject(KEY_TWO); } // Choose a random number of evictor runs @@ -997,7 +989,7 @@ public class TestGenericKeyedObjectPool VisitTracker tracker = null; int visitCount = 0; for (int k = 0; k < zeroLength; k++) { - tracker = pool.borrowObject(zero); + tracker = pool.borrowObject(KEY_ZERO); visitCount = tracker.getValidateCount(); if (visitCount < cycleCount || visitCount > cycleCount + 1){ fail(formatSettings("ZERO", "runs", runs, "lifo", lifo, "i", i, "j", j, @@ -1006,7 +998,7 @@ public class TestGenericKeyedObjectPool } } for (int k = 0; k < oneLength; k++) { - tracker = pool.borrowObject(one); + tracker = pool.borrowObject(KEY_ONE); visitCount = tracker.getValidateCount(); if (visitCount < cycleCount || visitCount > cycleCount + 1){ fail(formatSettings("ONE", "runs", runs, "lifo", lifo, "i", i, "j", j, @@ -1016,7 +1008,7 @@ public class TestGenericKeyedObjectPool } int visits[] = new int[twoLength]; for (int k = 0; k < twoLength; k++) { - tracker = pool.borrowObject(two); + tracker = pool.borrowObject(KEY_TWO); visitCount = tracker.getValidateCount(); visits[k] = visitCount; if (visitCount < cycleCount || visitCount > cycleCount + 1){ @@ -1460,9 +1452,9 @@ public class TestGenericKeyedObjectPool final Random random = new Random(); for (int j = 0; j < nIterations; j++) { // Get a random invalidation target - Integer targ = new Integer(random.nextInt(nObjects)); + Integer targ = Integer.valueOf(random.nextInt(nObjects)); while (targets.contains(targ)) { - targ = new Integer(random.nextInt(nObjects)); + targ = Integer.valueOf(random.nextInt(nObjects)); } targets.add(targ); // Launch nThreads threads all trying to invalidate the target @@ -1733,7 +1725,7 @@ public class TestGenericKeyedObjectPool exceptionOnPassivate = b; } - int counter = 0; + volatile int counter = 0; boolean valid; int activeCount = 0; @@ -1742,7 +1734,7 @@ public class TestGenericKeyedObjectPool boolean oddValid = true; boolean enableValidation = false; long destroyLatency = 0; - int maxTotalPerKey = Integer.MAX_VALUE; + volatile int maxTotalPerKey = Integer.MAX_VALUE; boolean exceptionOnPassivate = false; boolean exceptionOnActivate = false; boolean exceptionOnDestroy = false;