[jboss-cvs] JBossAS SVN: r81330 - in projects/jboss-man/branches/Branch_2_0/managed/src: main/java/org/jboss/managed/plugins and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 19 17:13:55 EST 2008


Author: scott.stark at jboss.org
Date: 2008-11-19 17:13:55 -0500 (Wed, 19 Nov 2008)
New Revision: 81330

Modified:
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/Fields.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedObject.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedOperation.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedParameter.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/MutableManagedObject.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/DefaultFieldsImpl.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedOperationImpl.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedParameterImpl.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/WritethroughManagedPropertyImpl.java
   projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java
   projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java
   projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockDOMFields.java
   projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockTest.java
Log:
JBMAN-36, JBMAN-37 Consistent MetaValue usage and Fields.VIEW_USE. svn merge -c 81298 from trunk.

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/Fields.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/Fields.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/Fields.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -26,9 +26,11 @@
 /**
  * Fields.
  * 
- * TODO the fields names should be annotation class names (where relevant) when the annotations exist
+ * TODO the fields names should be annotation class names (where relevant)
+ * when the annotations exist
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
  */
 public interface Fields extends Serializable
 {
@@ -68,6 +70,9 @@
    /** The attachment */
    String ATTACHMENT = "attachment";
 
+   /** The ViewUses */
+   String VIEW_USE = "viewUse";
+
    // TODO other standard fields here
 
    /**
@@ -76,7 +81,7 @@
     * @param name the name
     * @return the field value
     */
-   Serializable getField(String name);
+   Object getField(String name);
    
    /**
     * Set a field with the given name
@@ -84,5 +89,5 @@
     * @param name the name
     * @param value the field value
     */
-   void setField(String name, Serializable value);
+   void setField(String name, Object value);
 }


Property changes on: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/Fields.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedObject.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedObject.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedObject.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -21,7 +21,6 @@
 */
 package org.jboss.managed.api;
 
-import java.io.Serializable;
 import java.lang.annotation.Annotation;
 import java.util.Map;
 
@@ -40,12 +39,15 @@
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @author Scott.Stark at jboss.org
- * @version $Revision: 1.1 $
+ * @version $Revision$
  */
 public interface ManagedObject extends ManagedCommon
 {
    /**
-    * Get the underlying object
+    * Get the underlying object. Note that this is only useful in the server
+    * environment where the ManagedObject is associated with a deployment
+    * attachment. In a client environment (admin tool for example), this is
+    * most likely null.
     * 
     * @return the underlying object
     */
@@ -65,5 +67,9 @@
     */
    Object getComponentName();
 
+   /**
+    * Get the parent ManagedObject
+    * @return the parent if one exists, null otherwise
+    */
    public ManagedObject getParent();
 }


Property changes on: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedObject.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedOperation.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedOperation.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedOperation.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -84,5 +84,5 @@
     * @param param the varags for the operation parameters.
     * @return the MetaValue for the result.
     */
-   public Object invoke(MetaValue... param);
+   public MetaValue invoke(MetaValue... param);
 }

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedParameter.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedParameter.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedParameter.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -86,14 +86,14 @@
     * 
     * @return the value
     */
-   Object getValue();
+   MetaValue getValue();
 
    /**
     * Set the value
     * 
     * @param value the value
     */
-   void setValue(Serializable value);
+   void setValue(MetaValue value);
 
    /**
     * Get the legal values
@@ -122,6 +122,6 @@
     * @param value the value
     * @return null for a valid value, an error message otherwise
     */
-   String checkValidValue(Serializable value);
+   String checkValidValue(MetaValue value);
    
 }

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/ManagedProperty.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -133,14 +133,14 @@
     * 
     * @return the value
     */
-   Object getValue();
+   MetaValue getValue();
 
    /**
     * Set the value
     * 
     * @param value the value
     */
-   void setValue(Serializable value);
+   void setValue(MetaValue value);
 
    /**
     * Get the legal values

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/MutableManagedObject.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/MutableManagedObject.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/api/MutableManagedObject.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -57,7 +57,7 @@
     */
    public void setParent(ManagedObject parent);
    /**
-    * Set the metadata attachment.
+    * Set the metadata attachment. This is only 
     * @param attachment - the metadata attachment this ManagedObject maps to.
     */
    public void setAttachment(Object attachment);

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/DefaultFieldsImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/DefaultFieldsImpl.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/DefaultFieldsImpl.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -28,6 +28,7 @@
 import java.util.Set;
 
 import org.jboss.managed.api.Fields;
+import org.jboss.managed.api.annotation.ViewUse;
 import org.jboss.metatype.api.types.MetaType;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.SimpleValue;
@@ -36,7 +37,7 @@
  * A default implementation of the Fields interface.
  * 
  * @author Scott.Stark at jboss.org
- * @version $Revision:$
+ * @version $Revision$
  */
 public class DefaultFieldsImpl
    implements Fields
@@ -47,7 +48,7 @@
    private static final long serialVersionUID = 1;
 
    /** The fields */
-   private HashMap<String, Serializable> fields = new HashMap<String, Serializable>();
+   private HashMap<String, Object> fields = new HashMap<String, Object>();
 
    /**
     * Create a new DefaultFieldsImpl.
@@ -131,9 +132,9 @@
     * 
     * @return the value
     */
-   public Object getValue()
+   public MetaValue getValue()
    {
-      return getField(VALUE);
+      return getField(VALUE, MetaValue.class);
    }
    
    /**
@@ -141,12 +142,29 @@
     * 
     * @param value the value
     */
-   public void setValue(Serializable value)
+   public void setValue(MetaValue value)
    {
       setField(VALUE, value);
    }
 
    /**
+    * Get the view use
+    * @return the view use field
+    */
+   public ViewUse[] getViewUse()
+   {
+      return getField(VIEW_USE, ViewUse[].class);
+   }
+   /**
+    * Set the view use
+    * @param use - the view use
+    */
+   public void setViewUse(ViewUse[] use)
+   {
+      setField(VIEW_USE, use);
+   }
+
+   /**
     * Get the legal values
     * 
     * @return the values
@@ -238,7 +256,7 @@
     * 
     * @param name the field name
     */
-   public Serializable getField(String name)
+   public Object getField(String name)
    {
       return fields.get(name);
    }
@@ -249,7 +267,7 @@
     * @param name the field name
     * @param value the value
     */
-   public void setField(String name, Serializable value)
+   public void setField(String name, Object value)
    {
       fields.put(name, value);
    }
@@ -270,7 +288,7 @@
       if (expected == null)
          throw new IllegalArgumentException("Null expected type");
       
-      Serializable field = getField(fieldName);
+      Object field = getField(fieldName);
       
       if (field == null)
          return null;
@@ -291,6 +309,30 @@
    }
 
    /**
+    * Display key fields like name, metaType and value
+    */
+   @Override
+   public String toString()
+   {
+      StringBuilder sb = new StringBuilder(super.toString());
+      // 
+      sb.append('(');
+      sb.append(NAME);
+      sb.append('=');
+      sb.append(getName());
+      sb.append(',');
+      sb.append(META_TYPE);
+      sb.append('=');
+      sb.append(getMetaType());
+      sb.append(',');
+      sb.append(VALUE);
+      sb.append('=');
+      sb.append(getValue());
+      sb.append(')');
+      return sb.toString();
+   }
+
+   /**
     * Only write out the fields that should be usable by a remote client.
     * Excludes:
     * PROPERTY_INFO
@@ -302,7 +344,7 @@
    private void writeObject(java.io.ObjectOutputStream out)
       throws IOException
    {
-      for (Map.Entry<String, Serializable> entry : fields.entrySet())
+      for (Map.Entry<String, Object> entry : fields.entrySet())
       {
          if(entry.getKey().equals(PROPERTY_INFO))
             continue;
@@ -316,7 +358,7 @@
    private void readObject(java.io.ObjectInputStream in)
       throws IOException, ClassNotFoundException
    {
-      fields = new HashMap<String, Serializable>();
+      fields = new HashMap<String, Object>();
       String key;
       do
       {


Property changes on: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/DefaultFieldsImpl.java
___________________________________________________________________
Name: svn:keywords
   - Id,Revision
   + Id Revision

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedOperationImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedOperationImpl.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedOperationImpl.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -113,7 +113,7 @@
     * is unknown. A runtime aspect that understand the context of this
     * operation needs to perform the invocation.
     */
-   public Object invoke(MetaValue... param)
+   public MetaValue invoke(MetaValue... param)
    {
       return null;
    }

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedParameterImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedParameterImpl.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedParameterImpl.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -92,7 +92,7 @@
       if (expected == null)
          throw new IllegalArgumentException("Null expected type");
       
-      Serializable field = getFields().getField(fieldName);
+      Object field = getFields().getField(fieldName);
       
       if (field == null)
          return null;
@@ -172,12 +172,12 @@
       setField(Fields.META_TYPE, type);
    }
 
-   public Object getValue()
+   public MetaValue getValue()
    {
-      return getField(Fields.VALUE, Object.class);
+      return getField(Fields.VALUE, MetaValue.class);
    }
 
-   public void setValue(Serializable value)
+   public void setValue(MetaValue value)
    {
       setField(Fields.VALUE, value);
    }
@@ -228,7 +228,7 @@
       setField(Fields.MAXIMUM_VALUE, (Serializable)value);
    }
 
-   public String checkValidValue(Serializable value)
+   public String checkValidValue(MetaValue value)
    {
       // TODO check min/max/etc.
       return null;

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/ManagedPropertyImpl.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -27,6 +27,7 @@
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.lang.annotation.Annotation;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
@@ -148,7 +149,7 @@
       if (expected == null)
          throw new IllegalArgumentException("Null expected type");
       
-      Serializable field = getFields().getField(fieldName);
+      Object field = getFields().getField(fieldName);
       
       if (field == null)
          return null;
@@ -221,7 +222,7 @@
 
    /**
     * See if the property has the indicated ViewUse among its
-    * @ManagementProperty annotation uses.
+    * @ManagementProperty annotation or VIEW_USE field uses.
     * 
     * @param use - the ViewUse to check for
     * @return true if the ViewUse exists in the property uses, false otherwise
@@ -229,14 +230,12 @@
    public boolean hasViewUse(ViewUse use)
    {
       boolean hasViewUse = false;
-      Map<String, Annotation> annotations = getAnnotations();
-      if(annotations != null)
+      ViewUse[] uses = getViewUse();
+      if(uses != null)
       {
-         ManagementProperty mp = (ManagementProperty) annotations.get(ManagementProperty.class.getName());
-         if(mp != null)
+         for(ViewUse vu : uses)
          {
-            for(ViewUse vu : mp.use())
-               hasViewUse |= vu == use;
+            hasViewUse |= vu == use;
          }
       }
       return hasViewUse;
@@ -257,16 +256,55 @@
       setField(Fields.META_TYPE, type);
    }
 
-   public Object getValue()
+   public MetaValue getValue()
    {
-      return getField(Fields.VALUE, Object.class);
+      return getField(Fields.VALUE, MetaValue.class);
    }
 
-   public void setValue(Serializable value)
+   public void setValue(MetaValue value)
    {
       setField(Fields.VALUE, value);
    }
 
+   public ViewUse[] getViewUse()
+   {
+      ViewUse[] use = {};
+      ViewUse[] useField = getField(Fields.VIEW_USE, ViewUse[].class);
+      // Also look to the ManagementProperty annotation
+      Map<String, Annotation> annotations = getAnnotations();
+      if(annotations != null)
+      {
+         ManagementProperty mp = (ManagementProperty) annotations.get(ManagementProperty.class.getName());
+         if(mp != null)
+         {
+            use = mp.use();
+            if(useField != null && useField.length > 0)
+            {
+               HashSet<ViewUse> uses = new HashSet<ViewUse>();
+               for(ViewUse vu : use)
+               {
+                  uses.add(vu);
+               }
+               for(ViewUse vu : useField)
+               {
+                  uses.add(vu);
+               }
+               use = new ViewUse[uses.size()];
+               uses.toArray(use);
+            }
+         }
+      }
+      else if(useField != null)
+      {
+         use = useField;
+      }
+      return use;
+   }
+   public void setViewUse(ViewUse[] use)
+   {
+      setField(Fields.VIEW_USE, use);
+   }
+
    @SuppressWarnings("unchecked")
    public Set<MetaValue> getLegalValues()
    {

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/WritethroughManagedPropertyImpl.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/WritethroughManagedPropertyImpl.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/WritethroughManagedPropertyImpl.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -88,7 +88,7 @@
     */
    @Override
    @SuppressWarnings("unchecked")
-   public void setValue(Serializable value)
+   public void setValue(MetaValue value)
    {
       super.setValue(value);
 
@@ -98,16 +98,10 @@
          Object attachment = getManagedObject().getAttachment();
          if (attachment != null)
          {
-            MetaValue metaValue;
-            if (value instanceof MetaValue == false)
-               metaValue = getValueFactory().create(value, propertyInfo.getType());
-            else
-               metaValue = (MetaValue)value;
-
             ManagedObjectFactory mof = getObjectFactory();
             InstanceClassFactory icf = mof.getInstanceClassFactory(attachment.getClass(), null);
             BeanInfo beanInfo = propertyInfo.getBeanInfo();
-            icf.setValue(beanInfo, this, attachment, metaValue);
+            icf.setValue(beanInfo, this, attachment, value);
          }
       }
    }

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -315,11 +315,13 @@
       }
 
       ManagedObject result = createSkeletonManagedObject(moClass, metaData);
-      if (result == null )
+      if (result == null)
       {
          log.debug("Null ManagedObject created for: "+moClass);
          return null;
       }
+      log.debug("Created skeleton ManagedObject: "+result);
+
       if(result instanceof MutableManagedObject)
       {
          MutableManagedObject mmo = (MutableManagedObject) result;
@@ -436,7 +438,10 @@
          // Work around JBMDR-51 by checking type/subtype
          // if (mc.equals(AnnotationDefaults.COMP_TYPE) == false)
          if (mc.type().length() > 0 || mc.subtype().length() > 0)
+         {
+            log.debug("ManagedObject("+name+") is ManagedComponent type: "+mc);
             moAnnotations.put(ManagementComponent.class.getName(), mc);
+         }
          // ManagementObject level default factory classes
          moFieldsFactory = managementObject.fieldsFactory();
          moConstraintsFactory = managementObject.constraintsFactory();

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/factory/test/ManagementPropertyUnitTestCase.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -22,6 +22,7 @@
 package org.jboss.test.managed.factory.test;
 
 import java.lang.annotation.Annotation;
+import java.util.HashMap;
 import java.util.Map;
 
 import junit.framework.Test;
@@ -31,6 +32,9 @@
 import org.jboss.managed.api.annotation.ManagementObjectID;
 import org.jboss.managed.api.annotation.ManagementProperty;
 import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.managed.plugins.ManagedPropertyImpl;
+import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.SimpleValueSupport;
 import org.jboss.test.managed.factory.AbstractManagedObjectFactoryTest;
 import org.jboss.test.managed.factory.support.ManagementPropertyAnnotations;
 import org.jboss.test.managed.factory.support.ManagementPropertyDescription;
@@ -125,4 +129,36 @@
       ManagedProperty stat = managedObject.getProperty("stat");
       assertTrue("has ViewUse.STATISTIC", stat.hasViewUse(ViewUse.STATISTIC));
    }
-}
\ No newline at end of file
+
+   /**
+    * Test the 
+    */
+   @ManagementProperty(name="runtime-stat", use={ViewUse.STATISTIC})
+   public void testViewUseField()
+      throws Exception
+   {
+      ManagedPropertyImpl mp = new ManagedPropertyImpl("runtime");
+      mp.setMetaType(SimpleMetaType.LONG);
+      mp.setValue(SimpleValueSupport.wrap(1000));
+      mp.setViewUse(new ViewUse[]{ViewUse.RUNTIME});
+      assertTrue("has ViewUse.RUNTIME", mp.hasViewUse(ViewUse.RUNTIME));
+
+      ManagedPropertyImpl mp2 = new ManagedPropertyImpl("runtime-stat");
+      mp2.setMetaType(SimpleMetaType.LONG);
+      mp2.setValue(SimpleValueSupport.wrap(1000));
+      mp2.setViewUse(new ViewUse[]{ViewUse.RUNTIME, ViewUse.STATISTIC});
+      assertTrue("has ViewUse.RUNTIME", mp2.hasViewUse(ViewUse.RUNTIME));
+      assertTrue("has ViewUse.STATISTIC", mp2.hasViewUse(ViewUse.STATISTIC));
+
+      ManagedPropertyImpl mp3 = new ManagedPropertyImpl("runtime-stat");
+      mp3.setMetaType(SimpleMetaType.LONG);
+      mp3.setValue(SimpleValueSupport.wrap(1000));
+      mp3.setViewUse(new ViewUse[]{ViewUse.RUNTIME});
+      HashMap<String, Annotation> annotations = new HashMap<String, Annotation>();
+      ManagementProperty mpa = getClass().getMethod("testViewUseField", null).getAnnotation(ManagementProperty.class);
+      annotations.put(ManagementProperty.class.getName(), mpa);
+      mp3.setAnnotations(annotations);
+      assertTrue("has ViewUse.RUNTIME", mp3.hasViewUse(ViewUse.RUNTIME));
+      assertTrue("has ViewUse.STATISTIC", mp3.hasViewUse(ViewUse.STATISTIC));
+}
+}

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockDOMFields.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockDOMFields.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockDOMFields.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -56,7 +56,7 @@
       this.elementName = elementName;
    }
    
-   public Serializable getField(String name)
+   public Object getField(String name)
    {
       if (NAME.equals(name))
          return elementName;
@@ -74,7 +74,7 @@
       return null;
    }
 
-   public void setField(String name, Serializable value)
+   public void setField(String name, Object value)
    {
       if (VALUE.equals(name))
       {

Modified: projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockTest.java
===================================================================
--- projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockTest.java	2008-11-19 22:12:04 UTC (rev 81329)
+++ projects/jboss-man/branches/Branch_2_0/managed/src/test/java/org/jboss/test/managed/mock/MockTest.java	2008-11-19 22:13:55 UTC (rev 81330)
@@ -29,6 +29,7 @@
 import org.jboss.managed.api.Fields;
 import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.values.SimpleValueSupport;
 import org.jboss.test.managed.ManagedTest;
 
 /**
@@ -77,16 +78,16 @@
       getLog().debug(mock.prettyPrint());
       
       getLog().debug("Adding jndi-name...");
-      mo.getProperty("jndi-name").setValue("DefaultDS");
+      mo.getProperty("jndi-name").setValue(SimpleValueSupport.wrap("DefaultDS"));
       getLog().debug(mock.prettyPrint());
 
       getLog().debug("Adding user and password...");
-      mo.getProperty("user").setValue("Scott");
-      mo.getProperty("password").setValue("Tiger");
+      mo.getProperty("user").setValue(SimpleValueSupport.wrap("Scott"));
+      mo.getProperty("password").setValue(SimpleValueSupport.wrap("Tiger"));
       getLog().debug(mock.prettyPrint());
 
       getLog().debug("Changing jndi-name...");
-      mo.getProperty("jndi-name").setValue("ChangedDS");
+      mo.getProperty("jndi-name").setValue(SimpleValueSupport.wrap("ChangedDS"));
       getLog().debug(mock.prettyPrint());
 
       getLog().debug("Removing jndi-name...");
@@ -117,19 +118,22 @@
       MockDataSourceManagedObject mock = new MockDataSourceManagedObject();
       ManagedObject mo = mock;
 
-      mo.getProperty("jndi-name").setValue("DefaultDS");
-      mo.getProperty("user").setValue("Scott");
-      mo.getProperty("password").setValue("Tiger");
-      mo.getProperty("jndi-name").setValue("ChangedDS");
+      mo.getProperty("jndi-name").setValue(SimpleValueSupport.wrap("DefaultDS"));
+      mo.getProperty("user").setValue(SimpleValueSupport.wrap("Scott"));
+      mo.getProperty("password").setValue(SimpleValueSupport.wrap("Tiger"));
+      mo.getProperty("jndi-name").setValue(SimpleValueSupport.wrap("ChangedDS"));
 
       getLog().debug(mock.prettyPrint());
       
       byte[] data = super.serialize(mo);
       ManagedObject mo2 = (ManagedObject) super.deserialize(data);
       
-      assertEquals("jndiName", "ChangedDS", mo2.getProperty("jndi-name").getValue());
-      assertEquals("user", "Scott", mo2.getProperty("user").getValue());
-      assertEquals("password", "Tiger", mo2.getProperty("password").getValue());
+      assertEquals("jndiName", SimpleValueSupport.wrap("ChangedDS"),
+            mo2.getProperty("jndi-name").getValue());
+      assertEquals("user", SimpleValueSupport.wrap("Scott"),
+            mo2.getProperty("user").getValue());
+      assertEquals("password",SimpleValueSupport.wrap("Tiger"),
+            mo2.getProperty("password").getValue());
    }
    
    /**
@@ -145,12 +149,12 @@
       ManagedObject mo = mock;
 
       ManagedProperty jndiName = mo.getProperty("jndi-name");
-      jndiName.setValue("DefaultDS");
+      jndiName.setValue(SimpleValueSupport.wrap("DefaultDS"));
       ManagedProperty user = mo.getProperty("user");
-      user.setValue("Scott");
+      user.setValue(SimpleValueSupport.wrap("Scott"));
       ManagedProperty password = mo.getProperty("password");
-      password.setValue("Tiger");
-      jndiName.setValue("ChangedDS");
+      password.setValue(SimpleValueSupport.wrap("Tiger"));
+      jndiName.setValue(SimpleValueSupport.wrap("ChangedDS"));
 
       HashMap<String, ManagedProperty> props = new HashMap<String, ManagedProperty>();
       props.put(jndiName.getName(), jndiName);
@@ -160,13 +164,13 @@
       HashMap<String, ManagedProperty> props2 = serializeDeserialize(props, HashMap.class);
 
       ManagedProperty jndiName2 = props2.get("jndi-name");
-      assertEquals("jndiName", "ChangedDS", jndiName2.getValue());
+      assertEquals("jndiName", SimpleValueSupport.wrap("ChangedDS"), jndiName2.getValue());
       ManagedProperty jndiName3 = jndiName2.getManagedObject().getProperty("jndi-name");
-      assertEquals("jndiName", "ChangedDS", jndiName3.getValue());
+      assertEquals("jndiName", SimpleValueSupport.wrap("ChangedDS"), jndiName3.getValue());
       ManagedProperty user2 = props2.get("user");
-      assertEquals("user", "Scott", user2.getValue());
+      assertEquals("user", SimpleValueSupport.wrap("Scott"), user2.getValue());
       ManagedProperty password2 = props2.get("password");
-      assertEquals("password", "Tiger", password2.getValue());
+      assertEquals("password", SimpleValueSupport.wrap("Tiger"), password2.getValue());
    }
 
    /**




More information about the jboss-cvs-commits mailing list