Paul Hammant
2013-07-28 23:58:07 UTC
commit cd27a15167a0dbd2fccf4fbdc255f9e9dfd13007
Author: Paul Hammant <paul-POq8DFUn+***@public.gmane.org>
AuthorDate: Sun, 28 Jul 2013 18:57:52 -0500
Commit: Paul Hammant <paul-POq8DFUn+***@public.gmane.org>
CommitDate: Sun, 28 Jul 2013 18:57:52 -0500
jtype upgrade
diff --git a/pico/container/src/java/com/picocontainer/JTypeHelper.java b/pico/container/src/java/com/picocontainer/JTypeHelper.java
index a86bcd4..67687de 100644
--- a/pico/container/src/java/com/picocontainer/JTypeHelper.java
+++ b/pico/container/src/java/com/picocontainer/JTypeHelper.java
@@ -1,12 +1,12 @@
package com.picocontainer;
+import com.googlecode.jtype.Generic;
+
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.lang.reflect.WildcardType;
-import com.googlecode.jtype.Generic;
-
@SuppressWarnings("rawtypes")
public class JTypeHelper {
@@ -63,7 +63,25 @@ public class JTypeHelper {
return b || from;
} else if (type instanceof Class) {
- return ((Class) type).isAssignableFrom(typeToCompare);
+ Class clazz = (Class) type;
+ if (clazz.isPrimitive()) {
+ if (clazz == int.class && typeToCompare == Integer.class) {
+ return true;
+ } else if (clazz == long.class && typeToCompare == Long.class) {
+ return true;
+ } else if (clazz == float.class && typeToCompare == Float.class) {
+ return true;
+ } else if (clazz == double.class && typeToCompare == Double.class) {
+ return true;
+ } else if (clazz == boolean.class && typeToCompare == Boolean.class) {
+ return true;
+ } else if (clazz == short.class && typeToCompare == Short.class) {
+ return true;
+ } else if (clazz == byte.class && typeToCompare == Byte.class) {
+ return true;
+ }
+ }
+ return clazz.isAssignableFrom(typeToCompare);
}
return false;
}
diff --git a/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java b/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
index 1f01a99..806394a 100644
--- a/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
+++ b/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
@@ -9,29 +9,26 @@
*****************************************************************************/
package com.picocontainer.parameters;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
-
-import org.junit.Test;
-import com.picocontainer.adapters.NullCA;
-import com.picocontainer.testmodel.DependsOnTouchable;
-import com.picocontainer.testmodel.SimpleTouchable;
-import com.picocontainer.testmodel.Touchable;
-
import com.picocontainer.ComponentAdapter;
import com.picocontainer.DefaultPicoContainer;
import com.picocontainer.MutablePicoContainer;
import com.picocontainer.NameBinding;
import com.picocontainer.Parameter;
import com.picocontainer.PicoCompositionException;
-import com.picocontainer.parameters.ComponentParameter;
-import com.picocontainer.parameters.ConstantParameter;
+import com.picocontainer.adapters.NullCA;
+import com.picocontainer.testmodel.DependsOnTouchable;
+import com.picocontainer.testmodel.SimpleTouchable;
+import com.picocontainer.testmodel.Touchable;
import com.picocontainer.visitors.VerifyingVisitor;
+import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
/**
@@ -96,8 +93,10 @@ public final class ParameterTestCase {
ComponentAdapter adapter = picoContainer.addComponent("glarch", 239).getComponentAdapter("glarch");
assertNotNull(adapter);
Parameter parameter = new ComponentParameter("glarch");
- assertNotNull(parameter.resolve(picoContainer,adapter, null, Integer.TYPE, pn, false, null).resolveInstance(ComponentAdapter.NOTHING.class));
- assertEquals(239, ((Integer)parameter.resolve(picoContainer,adapter, null, Integer.TYPE, pn, false, null).resolveInstance(ComponentAdapter.NOTHING.class)).intValue());
+ Parameter.Resolver resolve = parameter.resolve(picoContainer, adapter, null, Integer.TYPE, pn, false, null);
+ Object object = resolve.resolveInstance(ComponentAdapter.NOTHING.class);
+ assertNotNull(object);
+ assertEquals(239, ((Integer) object).intValue());
}
@Test public void testConstantParameterRespectsExpectedType() {
diff --git a/pom.xml b/pom.xml
index 7d88ff6..938e92d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
<url>http://www.picocontainer.org</url>
<properties>
<paranamer-version>2.5.5</paranamer-version>
- <jtype-version>0.1.1</jtype-version>
+ <jtype-version>0.1.3</jtype-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<organization>
Author: Paul Hammant <paul-POq8DFUn+***@public.gmane.org>
AuthorDate: Sun, 28 Jul 2013 18:57:52 -0500
Commit: Paul Hammant <paul-POq8DFUn+***@public.gmane.org>
CommitDate: Sun, 28 Jul 2013 18:57:52 -0500
jtype upgrade
diff --git a/pico/container/src/java/com/picocontainer/JTypeHelper.java b/pico/container/src/java/com/picocontainer/JTypeHelper.java
index a86bcd4..67687de 100644
--- a/pico/container/src/java/com/picocontainer/JTypeHelper.java
+++ b/pico/container/src/java/com/picocontainer/JTypeHelper.java
@@ -1,12 +1,12 @@
package com.picocontainer;
+import com.googlecode.jtype.Generic;
+
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.lang.reflect.WildcardType;
-import com.googlecode.jtype.Generic;
-
@SuppressWarnings("rawtypes")
public class JTypeHelper {
@@ -63,7 +63,25 @@ public class JTypeHelper {
return b || from;
} else if (type instanceof Class) {
- return ((Class) type).isAssignableFrom(typeToCompare);
+ Class clazz = (Class) type;
+ if (clazz.isPrimitive()) {
+ if (clazz == int.class && typeToCompare == Integer.class) {
+ return true;
+ } else if (clazz == long.class && typeToCompare == Long.class) {
+ return true;
+ } else if (clazz == float.class && typeToCompare == Float.class) {
+ return true;
+ } else if (clazz == double.class && typeToCompare == Double.class) {
+ return true;
+ } else if (clazz == boolean.class && typeToCompare == Boolean.class) {
+ return true;
+ } else if (clazz == short.class && typeToCompare == Short.class) {
+ return true;
+ } else if (clazz == byte.class && typeToCompare == Byte.class) {
+ return true;
+ }
+ }
+ return clazz.isAssignableFrom(typeToCompare);
}
return false;
}
diff --git a/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java b/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
index 1f01a99..806394a 100644
--- a/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
+++ b/pico/container/src/test/com/picocontainer/parameters/ParameterTestCase.java
@@ -9,29 +9,26 @@
*****************************************************************************/
package com.picocontainer.parameters;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import junit.framework.TestCase;
-
-import org.junit.Test;
-import com.picocontainer.adapters.NullCA;
-import com.picocontainer.testmodel.DependsOnTouchable;
-import com.picocontainer.testmodel.SimpleTouchable;
-import com.picocontainer.testmodel.Touchable;
-
import com.picocontainer.ComponentAdapter;
import com.picocontainer.DefaultPicoContainer;
import com.picocontainer.MutablePicoContainer;
import com.picocontainer.NameBinding;
import com.picocontainer.Parameter;
import com.picocontainer.PicoCompositionException;
-import com.picocontainer.parameters.ComponentParameter;
-import com.picocontainer.parameters.ConstantParameter;
+import com.picocontainer.adapters.NullCA;
+import com.picocontainer.testmodel.DependsOnTouchable;
+import com.picocontainer.testmodel.SimpleTouchable;
+import com.picocontainer.testmodel.Touchable;
import com.picocontainer.visitors.VerifyingVisitor;
+import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
/**
@@ -96,8 +93,10 @@ public final class ParameterTestCase {
ComponentAdapter adapter = picoContainer.addComponent("glarch", 239).getComponentAdapter("glarch");
assertNotNull(adapter);
Parameter parameter = new ComponentParameter("glarch");
- assertNotNull(parameter.resolve(picoContainer,adapter, null, Integer.TYPE, pn, false, null).resolveInstance(ComponentAdapter.NOTHING.class));
- assertEquals(239, ((Integer)parameter.resolve(picoContainer,adapter, null, Integer.TYPE, pn, false, null).resolveInstance(ComponentAdapter.NOTHING.class)).intValue());
+ Parameter.Resolver resolve = parameter.resolve(picoContainer, adapter, null, Integer.TYPE, pn, false, null);
+ Object object = resolve.resolveInstance(ComponentAdapter.NOTHING.class);
+ assertNotNull(object);
+ assertEquals(239, ((Integer) object).intValue());
}
@Test public void testConstantParameterRespectsExpectedType() {
diff --git a/pom.xml b/pom.xml
index 7d88ff6..938e92d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@
<url>http://www.picocontainer.org</url>
<properties>
<paranamer-version>2.5.5</paranamer-version>
- <jtype-version>0.1.1</jtype-version>
+ <jtype-version>0.1.3</jtype-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<organization>