[jboss-cvs] JBossAS SVN: r88545 - trunk/system/src/main/org/jboss/deployers/plugins/managed.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri May 8 13:32:44 EDT 2009


Author: bstansberry at jboss.com
Date: 2009-05-08 13:32:44 -0400 (Fri, 08 May 2009)
New Revision: 88545

Modified:
   trunk/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java
Log:
[JBAS-6880] Check ManagedProperty for attached MetaMapper

Modified: trunk/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java
===================================================================
--- trunk/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java	2009-05-08 17:25:13 UTC (rev 88544)
+++ trunk/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java	2009-05-08 17:32:44 UTC (rev 88545)
@@ -40,6 +40,8 @@
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.MetaValueFactory;
+import org.jboss.metatype.spi.values.MetaMapper;
+import org.jboss.reflect.spi.TypeInfo;
 
 /**
  * An InstanceClassFactory for BeanMetaData
@@ -235,7 +237,7 @@
                log.trace("Skipping get of non-writable property: "+propertyInfo);
             return;
          }
-         Object plainValue = metaValueFactory.unwrap(value, propertyInfo.getType());
+         Object plainValue = unwrapValue(property, propertyInfo.getType(), value);
          Object bean = locateBean(beanName);
          
          // Only update if the bean is not null
@@ -264,4 +266,15 @@
          loader = SecurityActions.getContextClassLoader();
       return loader;
    }
+
+   private Object unwrapValue(ManagedProperty property, TypeInfo typeInfo, MetaValue value)
+   {
+      // Look for a property MetaMapper
+      MetaMapper<?> metaMapper = property.getTransientAttachment(MetaMapper.class);
+      if(metaMapper != null)
+      {
+         return metaMapper.unwrapMetaValue(value);
+      }
+      return metaValueFactory.unwrap(value, typeInfo);
+   }
 }




More information about the jboss-cvs-commits mailing list