[jboss-cvs] JBossAS SVN: r110937 - in projects/jboss-jca/trunk/rhq/src: test/java/org/jboss/jca/rhq/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 17 03:16:46 EDT 2011


Author: gaol
Date: 2011-03-17 03:16:46 -0400 (Thu, 17 Mar 2011)
New Revision: 110937

Modified:
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/RaResourceComponent.java
   projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
Log:
[JBJCA-517] updates config-property of RaResourceComponent configuration.

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/RaResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/RaResourceComponent.java	2011-03-17 07:11:26 UTC (rev 110936)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/RaResourceComponent.java	2011-03-17 07:16:46 UTC (rev 110937)
@@ -34,8 +34,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;
 
 
 /**
@@ -47,6 +49,18 @@
 {
    /** log */
    private static final Logger logger = Logger.getLogger(RaResourceComponent.class);
+   
+   /**
+    * Gets associated ResourceAdapter.
+    * 
+    * @return ResourceAdapter null if there is no ResourceAdapter in the connector.
+    */
+   private ResourceAdapter getResourceAdapter()
+   {
+      ManagementRepository mr = ManagementRepositoryManager.getManagementRepository();
+      Connector connector = ManagementRepositoryHelper.getConnectorByUniqueId(mr, getRarUniqueId());
+      return connector.getResourceAdapter();
+   }
 
    /**
     * loadResourceConfiguration
@@ -59,9 +73,7 @@
    {
 
       Configuration config = new Configuration();
-      ManagementRepository mr = ManagementRepositoryManager.getManagementRepository();
-      Connector connector = ManagementRepositoryHelper.getConnectorByUniqueId(mr, getRarUniqueId());
-      ResourceAdapter ra = connector.getResourceAdapter();
+      ResourceAdapter ra = getResourceAdapter();
       if (ra != null)
       {
          String raClsName = ra.getResourceAdapter().getClass().getName();
@@ -77,4 +89,19 @@
 
       return config;
    }
+   
+   @Override
+   public void updateResourceConfiguration(ConfigurationUpdateReport updateResourceConfiguration)
+   {
+      super.updateResourceConfiguration(updateResourceConfiguration);
+      ResourceAdapter ra = getResourceAdapter();
+      if (ra != null)
+      {
+         Configuration config = updateResourceConfiguration.getConfiguration();
+         PropertyList configPropList = config.getList("config-property");
+         List<ConfigProperty> configProps = ra.getConfigProperties();
+         updatePropertyList(ra.getResourceAdapter(), configPropList, configProps);
+      }
+      updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
+   }
 }

Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java	2011-03-17 07:11:26 UTC (rev 110936)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java	2011-03-17 07:16:46 UTC (rev 110937)
@@ -104,8 +104,40 @@
          if (res.getName().equals("XAResourceAdapter"))
          {
             assertEquals("org.jboss.jca.rhq.rar.xa.XAResourceAdapter", config.getSimpleValue("class-name", null));
+            
+            // config-properties
+            PropertyList configPropList = config.getList("config-property");
+            List<Property> configs = configPropList.getList();
+            assertEquals(3, configs.size());
+            for (Property prop : configs)
+            {
+               PropertyMap raConfigPropMap = (PropertyMap)prop;
+               String propName = raConfigPropMap.getSimpleValue("name", null);
+               String propType = raConfigPropMap.getSimpleValue("type", null);
+               String propValue = raConfigPropMap.getSimpleValue("value", null);
+               if (propName.equals("name"))
+               {
+                  assertEquals("java.lang.String", propType);
+                  assertEquals("Jeff", propValue);
+               }
+               else if (propName.equals("password"))
+               {
+                  assertEquals("java.lang.String", propType);
+                  assertEquals("Confidential", propValue);
+               }
+               else if (propName.equals("score"))
+               {
+                  assertEquals("java.lang.Integer", propType);
+                  assertEquals("100", propValue);
+               }
+               else
+               {
+                  throw new IllegalStateException("Unkown prop name: " + propName);
+               }
+            }
+            
          }
-         if (res.getName().equals("ConnectionFactory"))
+         else if (res.getName().equals("ConnectionFactory"))
          {
             assertEquals(1, res.getChildResources().size());
             
@@ -183,14 +215,45 @@
 //            XAManagedConnectionFactory xaMcf = (XAManagedConnectionFactory)mcf.getManagedConnectionFactory();
 //            assertEquals("new-rhq", xaMcf.getManagement());
          }
-         if (res.getName().equals("XAAdminObjectImpl"))
+         else if (res.getName().equals("java:/XAAdminObjectImpl"))
          {
             String aoJndiName = config.getSimpleValue("jndi-name", null);
             assertEquals("java:/XAAdminObjectImpl", aoJndiName);
             String aoCls = config.getSimpleValue("class-name", null);
             assertEquals("org.jboss.jca.rhq.rar.xa.XAAdminObjectImpl", aoCls);
             assertEquals("true", config.getSimpleValue("use-ra-association", "null"));
+            
+            // config-properties
+//            PropertyList configPropList = config.getList("config-property");
+//            List<Property> configs = configPropList.getList();
+//            assertEquals(1, configs.size());
+//            PropertyMap aoConfigPropMap = (PropertyMap)configs.get(0);
+//            assertEquals("aoConfig", aoConfigPropMap.getSimpleValue("name", null));
+//            assertEquals("java.lang.String", aoConfigPropMap.getSimpleValue("type", null));
+//            assertEquals("ao-config", aoConfigPropMap.getSimpleValue("value", null));
+            
+            // test update AdminObject config-properties
+            
+//            aoConfigPropMap.put(new PropertySimple("value", "new-ao-config"));
+//            
+//            ConfigurationUpdateReport updateConfigReport = new ConfigurationUpdateReport(config);
+//            configFacet.updateResourceConfiguration(updateConfigReport);
+//            
+//            assertEquals(ConfigurationUpdateStatus.SUCCESS, updateConfigReport.getStatus());
+//            
+//            ManagementRepository manRepo = ManagementRepositoryManager.getManagementRepository();
+//            Connector connector = ManagementRepositoryHelper.getConnectorByUniqueId(manRepo, "xa.rar");
+//            AdminObject ao = connector.getAdminObjects().get(0);
+//            XAAdminObjectImpl aoObj = (XAAdminObjectImpl)ao.getAdminObject();
+//            
+//            assertEquals("new-ao-config", aoObj.getAoConfig());
+            
+            
          }
+         else
+         {
+            throw new IllegalStateException("UnKnown resource name: " + res.getName());
+         }
       }
       
    }



More information about the jboss-cvs-commits mailing list