[jboss-cvs] JBossAS SVN: r89635 - projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/factory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 1 23:09:10 EDT 2009


Author: scott.stark at jboss.org
Date: 2009-06-01 23:09:09 -0400 (Mon, 01 Jun 2009)
New Revision: 89635

Modified:
   projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java
Log:
JBMAN-84, Set a default MO.name to the MO.componentName


Modified: projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java
===================================================================
--- projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java	2009-06-02 03:05:45 UTC (rev 89634)
+++ projects/jboss-man/trunk/managed/src/main/java/org/jboss/managed/plugins/factory/AbstractManagedObjectFactory.java	2009-06-02 03:09:09 UTC (rev 89635)
@@ -420,6 +420,14 @@
          MutableManagedObject mmo = (MutableManagedObject) result;
          ManagedObjectPopulator<Object> populator = getPopulator(moClass);
          populator.populateManagedObject(mmo, instance, metaData);
+         // Set a default MO.name to the MO.componentName
+         Boolean hasDefaultName = (Boolean) mmo.getTransientAttachment("ManagedObject.hasDefaultName");
+         Object compName = mmo.getComponentName();
+         if(hasDefaultName && compName != null)
+         {
+            String moName = compName.toString();
+            mmo.setName(moName);
+         }
       }
 
       return result;
@@ -518,6 +526,7 @@
 
       // Process the ManagementObject fields
       boolean isRuntime = managementObject.isRuntime();
+      boolean hasDefaultName = true;
       String name = classInfo.getName();
       String nameType = null;
       String attachmentName = classInfo.getName();
@@ -528,8 +537,12 @@
       if (managementObject != null)
       {
          name = managementObject.name();
+         hasDefaultName = false;
          if (name.length() == 0 || name.equals(ManagementConstants.GENERATED))
+         {
             name = classInfo.getName();
+            hasDefaultName = true;
+         }
          nameType = managementObject.type();
          if (nameType.length() == 0)
             nameType = null;
@@ -862,7 +875,7 @@
       ManagedObjectImpl result = new ManagedObjectImpl(name, properties);
       result.setAnnotations(moAnnotations);
       // Set the component name to name if this is a runtime MO with a name specified
-      if (isRuntime && name.equals(classInfo.getName()) == false)
+      if (isRuntime && hasDefaultName == false)
          result.setComponentName(name);
       if (nameType != null)
          result.setNameType(nameType);
@@ -873,6 +886,8 @@
       for (ManagedProperty property : properties)
          property.setManagedObject(result);
       result.setTransientAttachment(BeanInfo.class.getName(), beanInfo);
+      // Propagate whether the name is defaulted
+      result.setTransientAttachment("ManagedObject.hasDefaultName", hasDefaultName);
       return result;
    }
 




More information about the jboss-cvs-commits mailing list