[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