[jboss-cvs] JBossAS SVN: r69727 - trunk/profileservice/src/main/org/jboss/profileservice/management/templates.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 8 04:19:03 EST 2008


Author: scott.stark at jboss.org
Date: 2008-02-08 04:19:03 -0500 (Fri, 08 Feb 2008)
New Revision: 69727

Modified:
   trunk/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplateInfo.java
Log:
JBAS-4396, annotate the id properties with ManagementObjectID

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplateInfo.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplateInfo.java	2008-02-08 09:18:40 UTC (rev 69726)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplateInfo.java	2008-02-08 09:19:03 UTC (rev 69727)
@@ -21,8 +21,16 @@
   */
 package org.jboss.profileservice.management.templates;
 
+import java.lang.annotation.Annotation;
+import java.lang.reflect.UndeclaredThrowableException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.jboss.profileservice.management.plugins.BasicDeploymentTemplateInfo;
+import org.jboss.annotation.factory.AnnotationProxy;
 import org.jboss.managed.api.Fields;
+import org.jboss.managed.api.annotation.ManagementObjectID;
 import org.jboss.managed.plugins.ManagedObjectImpl;
 import org.jboss.managed.plugins.DefaultFieldsImpl;
 import org.jboss.managed.plugins.ManagedPropertyImpl;
@@ -59,22 +67,24 @@
       else
          throw new IllegalStateException("Unexpected destination type: " + destinationType);
 
-      addManagedProperty("Name", "The destination name", true, SimpleMetaType.STRING, mo);
-      addManagedProperty("JNDIName", "The destination's JNDI name", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("Name", "The destination name", true, true, SimpleMetaType.STRING, mo);
+      addManagedProperty("JNDIName", "The destination's JNDI name", false, false, SimpleMetaType.STRING, mo);
    }
 
    private void addManagedProperty(String fieldName,
                                    String fieldDescr,
                                    boolean mandatory,
+                                   boolean isID,
                                    MetaType metaType,
                                    ManagedObjectImpl mo)
    {
-      addManagedProperty(fieldName, fieldDescr, mandatory, metaType, null, mo);
+      addManagedProperty(fieldName, fieldDescr, mandatory, isID, metaType, null, mo);
    }
 
    private void addManagedProperty(String fieldName,
                                    String fieldDescr,
                                    boolean mandatory,
+                                   boolean isID,
                                    MetaType metaType,
                                    java.io.Serializable value,
                                    ManagedObjectImpl mo)
@@ -85,6 +95,22 @@
       fields.setMandatory(mandatory);
       fields.setMetaType(metaType);
       ManagedPropertyImpl mp = new ManagedPropertyImpl(mo, fields);
+      if(isID)
+      {
+         Map<String, Annotation> annotations = new HashMap<String, Annotation>();
+         Map<String, Object> idFields = Collections.emptyMap();
+         try
+         {
+            ManagementObjectID id = (ManagementObjectID) AnnotationProxy.createProxy(idFields, ManagementObjectID.class);
+            annotations.put(ManagementObjectID.class.getName(), id);
+            mp.setAnnotations(annotations);
+         }
+         catch(Exception e)
+         {
+            throw new UndeclaredThrowableException(e);
+         }
+      }
+
       super.addProperty(mp);
       if(value != null)
          mp.setValue(value);




More information about the jboss-cvs-commits mailing list