[jboss-cvs] JBossAS SVN: r110936 - projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 17 03:11:26 EDT 2011


Author: gaol
Date: 2011-03-17 03:11:26 -0400 (Thu, 17 Mar 2011)
New Revision: 110936

Modified:
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/AoResourceComponent.java
Log:
[JBJCA-521] updates config-properties of AoResourceComponent configuration

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/AoResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/AoResourceComponent.java	2011-03-17 07:04:32 UTC (rev 110935)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/AoResourceComponent.java	2011-03-17 07:11:26 UTC (rev 110936)
@@ -36,8 +36,10 @@
 import org.jboss.logging.Logger;
 
 import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.ConfigurationUpdateStatus;
 import org.rhq.core.domain.configuration.PropertyList;
 import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
 
 /**
  * Represent Admin Object in JCA container.
@@ -49,19 +51,14 @@
 {
    /** log */
    private static final Logger logger = Logger.getLogger(AoResourceComponent.class);
-
+   
    /**
-    * loadResourceConfiguration
+    * Gets associated AdminObject.
     * 
-    * @return Configuration configuration
-    * @throws Exception exception
+    * @return AdminObject
     */
-   @Override
-   public Configuration loadResourceConfiguration() throws Exception
+   private AdminObject getAdminObject()
    {
-
-      Configuration config = new Configuration();
-
       ManagementRepository mr = ManagementRepositoryManager.getManagementRepository();
       Connector connector = ManagementRepositoryHelper.getConnectorByUniqueId(mr, getRarUniqueId());
       String jcaClsName = getJCAClassName();
@@ -73,29 +70,63 @@
          if (aoCls.getName().equals(jcaClsName))
          {
             logger.debug("Class Name is: " + jcaClsName);
-            // jndi name
-            PropertySimple jndiNameProp = new PropertySimple("jndi-name", ao.getJndiName());
-            config.put(jndiNameProp);
-            
-            // class-name
-            PropertySimple intfClsNameProp = new PropertySimple("class-name", jcaClsName);
-            config.put(intfClsNameProp);
-            
-            // interface-class-name
-            
-            // use-ra-association
-            boolean useRaAsso = ResourceAdapterAssociation.class.isAssignableFrom(aoCls);
-            PropertySimple useRaAssoProp = new PropertySimple("use-ra-association", Boolean.valueOf(useRaAsso));
-            config.put(useRaAssoProp);
-            
-            // config properties
-            List<ConfigProperty> aoConfigProps = ao.getConfigProperties();
-            PropertyList configList = getConfigPropertiesList(obj, aoConfigProps);
-            config.put(configList);
-            break;
+            return ao;
          }
       }
+      throw new IllegalStateException("Can not find associated AdminObject.");
+   }
+
+   /**
+    * loadResourceConfiguration
+    * 
+    * @return Configuration configuration
+    * @throws Exception exception
+    */
+   @Override
+   public Configuration loadResourceConfiguration() throws Exception
+   {
+
+      Configuration config = new Configuration();
+      String jcaClsName = getJCAClassName();
+
+      AdminObject ao = getAdminObject();
+      Object obj = ao.getAdminObject();
+      
+      // jndi name
+      PropertySimple jndiNameProp = new PropertySimple("jndi-name", ao.getJndiName());
+      config.put(jndiNameProp);
+      
+      // class-name
+      PropertySimple intfClsNameProp = new PropertySimple("class-name", jcaClsName);
+      config.put(intfClsNameProp);
+      
+      // interface-class-name
+      
+      // use-ra-association
+      boolean useRaAsso = ResourceAdapterAssociation.class.isAssignableFrom(obj.getClass());
+      PropertySimple useRaAssoProp = new PropertySimple("use-ra-association", Boolean.valueOf(useRaAsso));
+      config.put(useRaAssoProp);
+      
+      // config properties
+      List<ConfigProperty> aoConfigProps = ao.getConfigProperties();
+      PropertyList configList = getConfigPropertiesList(obj, aoConfigProps);
+      config.put(configList);
+      
       return config;
    }
    
+   @Override
+   public void updateResourceConfiguration(ConfigurationUpdateReport updateResourceConfiguration)
+   {
+      super.updateResourceConfiguration(updateResourceConfiguration);
+      Configuration config = updateResourceConfiguration.getConfiguration();
+      AdminObject ao = getAdminObject();
+      List<ConfigProperty> configProperties = ao.getConfigProperties();
+      PropertyList configPropertiesList = config.getList("config-property");
+      updatePropertyList(ao.getAdminObject(), configPropertiesList, configProperties);
+      
+      updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
+      
+   }
+   
 }



More information about the jboss-cvs-commits mailing list