[jboss-cvs] JBossAS SVN: r111296 - in projects/jboss-jca/trunk/rhq/src: main/java/org/jboss/jca/rhq/ds and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 4 04:23:50 EDT 2011


Author: gaol
Date: 2011-05-04 04:23:50 -0400 (Wed, 04 May 2011)
New Revision: 111296

Modified:
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java
   projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java
   projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml
   projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java
   projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java
   projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
Log:
[JBJCA-562] Adds Pool operations into plugin

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,11 +21,13 @@
  */
 package org.jboss.jca.rhq.core;
 
+
 import org.jboss.jca.core.api.connectionmanager.pool.Pool;
 import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
 
 import org.rhq.core.domain.configuration.Configuration;
 import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.pluginapi.operation.OperationResult;
 
 /**
  * PoolResourceComponent
@@ -131,4 +133,54 @@
       poolConfig.setUseFastFail(useFastFail);
    }
    
+   
+   /**
+    * Invokes Operations.
+    * @param s operation name
+    * @param configuration Configuration of the operation parameters
+    * @return OperationResult result of the Operation
+    * @throws InterruptedException when canceled.
+    * @throws Exception the exception
+    */
+   @Override
+   public OperationResult invokeOperation(String s, Configuration configuration) throws InterruptedException, Exception
+   {
+      OperationResult result = new OperationResult();
+      Pool pool = getPool();
+      if ("flush".equals(s))
+      {
+         pool.flush();
+      }
+      else if ("resetConnectionPool".equals(s))
+      {
+         pool.flush(true);
+      }
+      else if ("testConnection".equals(s))
+      {
+         boolean testConn = pool.testConnection();
+         Configuration config = result.getComplexResults();
+         config.put(new PropertySimple("result", testConn));
+      }
+      else if ("listFormattedSubPoolStatistics".equals(s))
+      {
+         result.setErrorMessage("Not Implemented yet!");
+      }
+      else if ("listStatistics".equals(s))
+      {
+         result.setErrorMessage("Not Implemented yet!");
+      }
+      else
+      {
+         throw new IllegalStateException("Wrong operation: " + s);
+      }
+      return result;
+   }
+
+   /**
+    * Gets Pool.
+    * 
+    * @return Pool
+    */
+   protected abstract Pool getPool();
+   
 }

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,6 +21,7 @@
  */
 package org.jboss.jca.rhq.ds;
 
+import org.jboss.jca.core.api.connectionmanager.pool.Pool;
 import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
 import org.jboss.jca.core.api.management.DataSource;
 import org.jboss.jca.core.api.management.ManagementRepository;
@@ -28,6 +29,8 @@
 import org.jboss.jca.rhq.core.ManagementRepositoryManager;
 import org.jboss.jca.rhq.core.PoolResourceComponent;
 
+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.PropertySimple;
@@ -41,6 +44,9 @@
 public class DsResourceComponent extends PoolResourceComponent
 {
    
+   /** log */
+   private static final Logger logger = Logger.getLogger(DsResourceComponent.class);
+   
    /**
     * getDataSource
     * 
@@ -117,5 +123,17 @@
       
       updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
    }
+  
+   /**
+    * Gets Pool.
+    * 
+    * @return Pool the pool.
+    */
+   @Override
+   protected Pool getPool()
+   {
+      DataSource ds = getDataSource();
+      return ds.getPool();
+   }
    
 }

Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,6 +21,7 @@
  */
 package org.jboss.jca.rhq.ra;
 
+import org.jboss.jca.core.api.connectionmanager.pool.Pool;
 import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
 import org.jboss.jca.core.api.management.ConnectionFactory;
 import org.jboss.jca.core.api.management.Connector;
@@ -128,4 +129,16 @@
       updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
       
    }
+
+   /**
+    * Gets Pool.
+    * 
+    * @return Pool the pool.
+    */
+   @Override
+   protected Pool getPool()
+   {
+      ConnectionFactory cf = getConnectionFactory();
+      return cf.getPool();
+   }
 }

Modified: projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml	2011-05-04 08:23:50 UTC (rev 111296)
@@ -411,6 +411,8 @@
             <service name="Connection Factory" discovery="org.jboss.jca.rhq.ra.CfResourceDiscoveryComponent"
                 class="org.jboss.jca.rhq.ra.CfResourceComponent">
             
+                &datasourceAndConnectionFactoryOperations;
+            
                 <resource-configuration>
                     <c:group name="general" displayName="General">
                         <c:simple-property name="jndi-name" displayName="JNDI Name"/>
@@ -447,8 +449,6 @@
                 <service name="Managed Connection Factory" discovery="org.jboss.jca.rhq.ra.McfResourceDiscoveryComponent"
                     class="org.jboss.jca.rhq.ra.McfResourceComponent">
                 
-                    &datasourceAndConnectionFactoryOperations;
-                
                     <resource-configuration>
                         <c:group name="general" displayName="General">
 
@@ -499,11 +499,14 @@
             </c:group>
         </plugin-configuration>
         
+        &datasourceAndConnectionFactoryOperations;
+        
         <content name="ds-file" displayName="DataSource File" category="deployable" isCreationType="true">
             <configuration>
               <c:simple-property name="override" displayName="Override?" required="false" type="boolean" defaultValue="true"/>
             </configuration>
         </content>
+        
             
             <resource-configuration>
                 <c:group name="general" displayName="General">

Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -134,7 +134,7 @@
       if (ra == null)
          throw new IllegalStateException("RA is null");
       log.finest("createManagedConnection()");
-      return null;
+      return new XAManagedConnection();
    }
 
    /**

Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java	2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -46,6 +46,8 @@
 import org.rhq.core.pc.plugin.FileSystemPluginFinder;
 import org.rhq.core.pluginapi.configuration.ConfigurationFacet;
 import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
+import org.rhq.core.pluginapi.operation.OperationFacet;
+import org.rhq.core.pluginapi.operation.OperationResult;
 
 import static org.junit.Assert.*;
 
@@ -208,6 +210,34 @@
    }
    
    /**
+    * Tests DsResourceComponent pool testConnection.
+    * 
+    * @throws Throwable the exception.
+    */
+   @Test
+   public void testDsPoolOperationTestConnection() throws Throwable
+   {
+      testPoolOperationTestConnection(rarServiceResource);
+   }
+   
+   /**
+    * Tests pool testConnection.
+    * 
+    * @param poolRes Resource 
+    * @throws Throwable the exception.
+    */
+   protected static void testPoolOperationTestConnection(Resource poolRes) throws Throwable
+   {
+      PluginContainer pc = PluginContainer.getInstance();
+      InventoryManager im = pc.getInventoryManager();
+      OperationFacet cfOpertaionFacet = (OperationFacet)im.getResourceComponent(poolRes);
+      OperationResult result = cfOpertaionFacet.invokeOperation("testConnection", null);
+      assertNotNull(result);
+      Configuration config = result.getComplexResults();
+      assertEquals("true", config.getSimpleValue("result", null));
+   }
+   
+   /**
     * test DataSource Pool.flush()
     * 
     * @throws Throwable exception

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-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java	2011-05-04 08:23:50 UTC (rev 111296)
@@ -75,6 +75,12 @@
    /** cf jndi name */
    private static final String CF_JNDI_NAME = "java:/eis/XA";
    
+   /** ao jndi name **/
+   private static final String AO_JNDI_NAME = "java:/XAAdminObjectImpl";
+   
+   /** ra jndi name **/
+   private static final String RA_JNDI_NAME = "XAResourceAdapter";
+   
    /** RAR resource */
    private static Resource rarServiceResource;
    
@@ -119,21 +125,33 @@
    }
    
    /**
-    * Tests AoResourceComponent load resource configuration.
+    * Gets sub resource of the rarServiceResource.
     * 
-    * @throws Exception exception
+    * @param resJndiName jndi name of the sub resource
+    * @return Resource the resource
     */
-   @Test
-   public void testLoadAoResourceConfiguration() throws Exception
+   private Resource getSubResource(String resJndiName)
    {
-      Resource aoResource = null;
+      Resource resource = null;
       for (Resource res : rarServiceResource.getChildResources())
       {
-         if (res.getName().equals("java:/XAAdminObjectImpl"))
+         if (res.getName().equals(resJndiName))
          {
-            aoResource = res;
+            resource = res;
          }
       }
+      return resource;
+   }
+   
+   /**
+    * Tests AoResourceComponent load resource configuration.
+    * 
+    * @throws Exception exception
+    */
+   @Test
+   public void testLoadAoResourceConfiguration() throws Exception
+   {
+      Resource aoResource = getSubResource(AO_JNDI_NAME);
       assertNotNull(aoResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();
@@ -166,14 +184,7 @@
    @Test
    public void testUpdateAoResourceComponentConfiguration() throws Exception
    {
-      Resource aoResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals("java:/XAAdminObjectImpl"))
-         {
-            aoResource = res;
-         }
-      }
+      Resource aoResource = getSubResource(AO_JNDI_NAME);
       assertNotNull(aoResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();
@@ -206,14 +217,7 @@
    @Test
    public void testCfLoadResourceConfiguration() throws Exception
    {
-      Resource cfResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals(CF_JNDI_NAME))
-         {
-            cfResource = res;
-         }
-      }
+      Resource cfResource = getSubResource(CF_JNDI_NAME);
       assertNotNull(cfResource);
       //assertEquals(1, cfResource.getChildResources().size());
       PluginContainer pc = PluginContainer.getInstance();
@@ -238,14 +242,7 @@
    @Test
    public void testMcfLoadResourceConfiguration() throws Exception
    {
-      Resource cfResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals(CF_JNDI_NAME))
-         {
-            cfResource = res;
-         }
-      }
+      Resource cfResource = getSubResource(CF_JNDI_NAME);
       assertNotNull(cfResource);
       //assertEquals(1, cfResource.getChildResources().size());
       PluginContainer pc = PluginContainer.getInstance();
@@ -278,14 +275,7 @@
    @Test
    public void testCfUpdateResourceConfinguration() throws Exception
    {
-      Resource cfResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals(CF_JNDI_NAME))
-         {
-            cfResource = res;
-         }
-      }
+      Resource cfResource = getSubResource(CF_JNDI_NAME);
       assertNotNull(cfResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();
@@ -303,6 +293,19 @@
    }
    
    /**
+    * Tests CfResourceComponent operation of testConnection
+    * 
+    * @throws Throwable the exception
+    */
+   @Test
+   public void testCfPoolOperationTestConnection() throws Throwable
+   {
+      Resource cfResource = getSubResource(CF_JNDI_NAME);
+      assertNotNull(cfResource);
+      DsTestCase.testPoolOperationTestConnection(cfResource);
+   }
+   
+   /**
     * Tests McfResourceComponent update resource configuration.
     * 
     * @throws Exception exception
@@ -310,14 +313,7 @@
    @Test
    public void testMcfUpdateResourceConfinguration() throws Exception
    {
-      Resource cfResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals(CF_JNDI_NAME))
-         {
-            cfResource = res;
-         }
-      }
+      Resource cfResource = getSubResource(CF_JNDI_NAME);
       assertNotNull(cfResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();
@@ -358,14 +354,7 @@
    @Test
    public void testRaLoadResourceCondiguration() throws Exception
    {
-      Resource raResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals("XAResourceAdapter"))
-         {
-            raResource = res;
-         }
-      }
+      Resource raResource = getSubResource(RA_JNDI_NAME);
       assertNotNull(raResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();
@@ -413,14 +402,7 @@
    @Test
    public void testRaUpdateResourceConfiguration() throws Exception
    {
-      Resource raResource = null;
-      for (Resource res : rarServiceResource.getChildResources())
-      {
-         if (res.getName().equals("XAResourceAdapter"))
-         {
-            raResource = res;
-         }
-      }
+      Resource raResource = getSubResource(RA_JNDI_NAME);
       assertNotNull(raResource);
       PluginContainer pc = PluginContainer.getInstance();
       InventoryManager im = pc.getInventoryManager();



More information about the jboss-cvs-commits mailing list