(no commit message)
[utils] / system / general / src / main / java / org / wamblee / system / core / DefaultRequiredInterface.java
index 01575db2c0dbc4e78b9bc53ac989b9cd22f0e2a6..2983ca6f4796007a95241e4b6a807c0dc94eb8c5 100644 (file)
@@ -17,6 +17,9 @@ package org.wamblee.system.core;
 
 import java.util.Arrays;
 
+import org.hibernate.annotations.common.reflection.ReflectionUtil;
+import org.wamblee.reflection.ReflectionUtils;
+
 public class DefaultRequiredInterface implements RequiredInterface {
 
        private String _name;
@@ -74,6 +77,8 @@ public class DefaultRequiredInterface implements RequiredInterface {
        private boolean serviceProvided(Class aRequired, Class[] aProvided) { 
                for (Class provided: aProvided) {
                        try {
+                               provided = ReflectionUtils.wrapIfNeeded(provided);
+                               aRequired = ReflectionUtils.wrapIfNeeded(aRequired);
                                provided.asSubclass(aRequired);
                                return true; 
                        } catch (ClassCastException e) {