[jboss-cvs] JBossAS SVN: r93647 - in projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype: plugins/values and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 17 10:39:08 EDT 2009


Author: emuckenhuber
Date: 2009-09-17 10:39:07 -0400 (Thu, 17 Sep 2009)
New Revision: 93647

Modified:
   projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/api/values/MapCompositeValueSupport.java
   projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/plugins/values/DefaultMetaValueFactory.java
Log:
port missing changes from 2_1 branch

Modified: projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/api/values/MapCompositeValueSupport.java
===================================================================
--- projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/api/values/MapCompositeValueSupport.java	2009-09-17 13:38:57 UTC (rev 93646)
+++ projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/api/values/MapCompositeValueSupport.java	2009-09-17 14:39:07 UTC (rev 93647)
@@ -27,12 +27,15 @@
 import java.util.List;
 import java.util.Map;
 
-import org.jboss.metatype.api.types.CompositeMetaType;
 import org.jboss.metatype.api.types.MapCompositeMetaType;
 import org.jboss.metatype.api.types.MetaType;
 
 /**
- * A CompositeValue for Map<String,MetaValue> 
+ * A {@link CompositeValue} representing a <code>Map&lt;String,MetaValue&gt;</code>, where the set of allowed keys is
+ * specified by the associated {@link MapCompositeMetaType}, and where all values must be of the same MetaType.
+ *
+ * To represent a <code>Map&lt;String,MetaValue&gt;</code> where values may have different MetaTypes, use
+ * {@link CompositeValueSupport} instead.
  * 
  * @author Scott.Stark at jboss.org
  * @version $Revision$
@@ -92,6 +95,11 @@
       map.put(key, value);
    }
 
+   public MetaValue remove(String key)
+   {
+      return map.remove(key);
+   }
+
    public MetaValue[] getAll(String[] keys)
    {
       List<MetaValue> values = new ArrayList<MetaValue>();
@@ -107,7 +115,7 @@
       return values.toArray(mvs);
    }
 
-   public CompositeMetaType getMetaType()
+   public MapCompositeMetaType getMetaType()
    {
       return mapType;
    }
@@ -116,6 +124,7 @@
    {
       return map.values();
    }
+    
    @Override
    public boolean equals(Object obj)
    {
@@ -136,14 +145,19 @@
          return false;
       return map.equals(otherMap);
    }
+
    @Override
    public int hashCode()
    {
       return map.hashCode();
    }
+
    @Override
    public String toString()
    {
-      return mapType + ":" + map;
+      StringBuilder buffer = new StringBuilder(getClass().getSimpleName()).append(":");
+      buffer.append(" mapType=[").append(mapType).append("]");
+      buffer.append(" map=[").append(map).append("]");
+      return buffer.toString();
    }
 }

Modified: projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/plugins/values/DefaultMetaValueFactory.java
===================================================================
--- projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/plugins/values/DefaultMetaValueFactory.java	2009-09-17 13:38:57 UTC (rev 93646)
+++ projects/jboss-man/trunk/metatype/src/main/java/org/jboss/metatype/plugins/values/DefaultMetaValueFactory.java	2009-09-17 14:39:07 UTC (rev 93647)
@@ -36,11 +36,12 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.Stack;
 import java.util.WeakHashMap;
+import java.util.Map.Entry;
+
 import javax.management.ObjectName;
 
 import org.jboss.beans.info.spi.BeanInfo;
@@ -90,8 +91,9 @@
 /**
  * DefaultMetaValueFactory.
  * 
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
 public class DefaultMetaValueFactory extends MetaValueFactory
@@ -549,7 +551,6 @@
    {
       return internalCreate(value, type, null);
    }
-
    @Override
    public MetaValue create(Object value, MetaType type)
    {
@@ -794,11 +795,11 @@
             MetaValue domain = compositeValue.get("domain");
             String domainUnwrap = (String) unwrap(domain, String.class);
             MetaValue keys = compositeValue.get("keyPropertyList");
-            PropertiesMetaValue keysUnwrap = null;
+            Hashtable keysUnwrap = null;
             if(keys instanceof PropertiesMetaValue)
                keysUnwrap = (PropertiesMetaValue) keys;
-
-            return PropertiesObjectNameMetaMapper.createObjectName(domainUnwrap, keysUnwrap);
+            ObjectName name = new ObjectName(domainUnwrap, keysUnwrap);
+            return name;
          }
 
          Object bean = createNewInstance(beanInfo);




More information about the jboss-cvs-commits mailing list