diff --git a/src/main/java/com/alibaba/druid/pool/PoolableWrapper.java b/src/main/java/com/alibaba/druid/pool/PoolableWrapper.java index a506430827..cd73078fd3 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableWrapper.java +++ b/src/main/java/com/alibaba/druid/pool/PoolableWrapper.java @@ -23,10 +23,10 @@ import java.sql.Wrapper; */ public class PoolableWrapper implements Wrapper { - private final Wrapper wraaper; + private final Wrapper wrapper; public PoolableWrapper(Wrapper wraaper){ - this.wraaper = wraaper; + this.wrapper = wraaper; } @Override @@ -39,11 +39,7 @@ public class PoolableWrapper implements Wrapper { return true; } - if (iface.isInstance(wraaper)) { - return true; - } - - return wraaper.isWrapperFor(iface); + return wrapper.isWrapperFor(iface); } @SuppressWarnings("unchecked") @@ -57,11 +53,7 @@ public class PoolableWrapper implements Wrapper { return (T) this; } - if (iface.isInstance(wraaper)) { - return (T) wraaper; - } - - return wraaper.unwrap(iface); + return wrapper.unwrap(iface); } } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableWrapperTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableWrapperTest.java new file mode 100644 index 0000000000..dc24e92db4 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableWrapperTest.java @@ -0,0 +1,18 @@ +package com.alibaba.druid.bvt.pool.basic; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.mock.MockConnection; +import com.alibaba.druid.pool.PoolableWrapper; + + +public class PoolableWrapperTest extends TestCase { + public void test_isWrapper() throws Exception { + PoolableWrapper wrapper = new PoolableWrapper(new MockConnection()); + + Assert.assertEquals(false, wrapper.isWrapperFor(null)); + Assert.assertEquals(true, wrapper.isWrapperFor(PoolableWrapper.class)); + Assert.assertEquals(true, wrapper.isWrapperFor(MockConnection.class)); + } +}