[jboss-cvs] JBossAS SVN: r88385 - branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 7 17:22:14 EDT 2009


Author: bstansberry at jboss.com
Date: 2009-05-07 17:22:14 -0400 (Thu, 07 May 2009)
New Revision: 88385

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

Modified: branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java
===================================================================
--- branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java	2009-05-07 21:21:57 UTC (rev 88384)
+++ branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/BeanMetaDataICF.java	2009-05-07 21:22:14 UTC (rev 88385)
@@ -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