[jboss-cvs] JBossAS SVN: r61526 - trunk/connector/src/main/org/jboss/resource/deployers/builder.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 21 04:36:39 EDT 2007


Author: weston.price at jboss.com
Date: 2007-03-21 04:36:39 -0400 (Wed, 21 Mar 2007)
New Revision: 61526

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/builder/AbstractBuilder.java
   trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionFactoryBindingBuilder.java
   trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionManagerBuilder.java
   trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionFactoryBuilder.java
   trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java
   trunk/connector/src/main/org/jboss/resource/deployers/builder/MetaDataTypeMappingBuilder.java
Log:
[JBAS-1425] Builder work.

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/AbstractBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/AbstractBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/AbstractBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -40,7 +40,7 @@
  */
 public abstract class AbstractBuilder
 {   
-   
+   //TODO make this simple string in anticipation of move to MC
    public abstract ObjectName buildObjectName(ManagedConnectionFactoryDeploymentMetaData md);
    public abstract String getCode(ManagedConnectionFactoryDeploymentMetaData md);
    
@@ -97,6 +97,7 @@
       att.setName(name);
       att.setValue(dep);
       return att;
+   
    }
    
    

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionFactoryBindingBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionFactoryBindingBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionFactoryBindingBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -29,6 +29,7 @@
 import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.resource.metadata.mcf.DataSourceDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
+import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryTransactionSupportMetaData;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
 import org.jboss.system.metadata.ServiceTextValueMetaData;
 
@@ -58,7 +59,14 @@
       attribute.setName("UseJavaContext");
       attribute.setValue(new ServiceTextValueMetaData(String.valueOf(md.isUseJavaContext())));
       attributes.add(attribute);
-                                    
+      
+      if(!md.isUseJavaContext())
+      {
+         attribute = buildDependencyAttribute("JMXInvokerName", md.getJmxInvokerName());
+         attributes.add(attribute);
+      }
+      
+      attribute = buildDependencyAttribute("ConnectionManager", buildCMName(md));
       return attributes;
    }
 
@@ -84,15 +92,47 @@
    public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
    {
       
-      if(md instanceof DataSourceDeploymentMetaData)
+      return (md instanceof DataSourceDeploymentMetaData) ? DATASOURCE : CONNECTION_FACTORY;
+            
+   }
+
+   private String buildCMName(ManagedConnectionFactoryDeploymentMetaData md)
+   {
+      //THIS IS A HACK!
+      String cmType = "jboss.jca:service=";
+      String jndiName = md.getJndiName();
+      
+      if(md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.NONE))
       {
-         return DATASOURCE;
+         cmType += "NoTxCM,name=" + jndiName;         
       
       }
-      else
+      else if(md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.LOCAL))
       {
-         return CONNECTION_FACTORY;         
+         if(md instanceof DataSourceDeploymentMetaData)
+         {
+            cmType += "LocalTxCM,name=" + jndiName;               
+         }
+         else
+         {
+            cmType += "TxCM,name=" + jndiName;               
+            
+         }
+
+      }else
+      {
+         if(md instanceof DataSourceDeploymentMetaData)
+         {
+            cmType += "XATxCM,name=" + jndiName;               
+            
+         }
+         else
+         {
+            cmType += "TxCM,name=" + jndiName;               
+            
+         }
       }
       
+      return cmType;
    }
 }

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionManagerBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionManagerBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/ConnectionManagerBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -26,9 +26,11 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.resource.connectionmanager.NoTxConnectionManager;
 import org.jboss.resource.connectionmanager.TxConnectionManager;
 import org.jboss.resource.metadata.mcf.DataSourceDeploymentMetaData;
+import org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryTransactionSupportMetaData;
 import org.jboss.resource.metadata.repository.JCAMetaDataRepository;
@@ -46,44 +48,54 @@
  */
 public class ConnectionManagerBuilder extends AbstractBuilder
 {
-   private JCAMetaDataRepository repository;
+   private static final String CCM_JMX = "jboss.jca:service=CachedConnectionManager";
+   private static final String JAAS_JMX = "jboss.security:service=JaasSecurityManager";
+   private static final String TM_JMX = "jboss:service=TransactionManager";
    
    @Override
    public List<ServiceAttributeMetaData> buildAttributes(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      // TODO Auto-generated method stub
-      return null;
+      List<ServiceAttributeMetaData> attributes = new ArrayList<ServiceAttributeMetaData>();
+      ServiceAttributeMetaData attribute = null;
+      
+      attribute = buildSimpleAttribute("JndiName", md.getJndiName());
+      attributes.add(attribute);
+      
+      attribute = buildDependencyAttribute("CachedConnectionManager", CCM_JMX);      
+      attributes.add(attribute);
+      
+      attribute = buildDependencyAttribute("JaasSecurityManagerService", JAAS_JMX);
+      attributes.add(attribute);
+      
+      if(!md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.NONE))
+      {
+         attribute = buildDependencyAttribute("TransactionManagerService", TM_JMX);
+         attributes.add(attribute);
+         
+         attribute = buildSimpleAttribute("LocalTransactions", String.valueOf(md.isLocalTransactions()));
+         attributes.add(attribute);
+         
+         attribute = buildSimpleAttribute("TrackConnectionByTx", String.valueOf(md.isTrackConnectionByTransaction()));
+         attributes.add(attribute);
+      }
+            
+      return attributes;
    }
    
    @Override
    public ObjectName buildObjectName(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return null;
-   }
-   
-   @Override
-   public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
-   {
-      // TODO Auto-generated method stub
-      return null;
-   }
-   
-   public ServiceMetaData buildManagedConnectionFactoryDeployment(ManagedConnectionFactoryDeploymentMetaData deployment, List<ServiceMetaData> deployments) throws Exception
-   {
-      ServiceMetaData cmMetaData = new ServiceMetaData();
-      String jndiName = deployment.getJndiName();
-      
       String cmType = "jboss.jca:service=";
+      String jndiName = md.getJndiName();
       
-      if(deployment.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.NONE))
+      if(md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.NONE))
       {
-         cmType += "NoTxCM,name=" + deployment.getJndiName();
-         cmMetaData.setCode(NoTxConnectionManager.class.getName());         
+         cmType += "NoTxCM,name=" + jndiName;         
       
-      }else if(deployment.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.LOCAL))
+      }
+      else if(md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.LOCAL))
       {
-         
-         if(deployment instanceof DataSourceDeploymentMetaData)
+         if(md instanceof DataSourceDeploymentMetaData)
          {
             cmType += "LocalTxCM,name=" + jndiName;               
          }
@@ -93,11 +105,9 @@
             
          }
 
-         cmMetaData.setCode(TxConnectionManager.class.getName());
-
       }else
       {
-         if(deployment instanceof DataSourceDeploymentMetaData)
+         if(md instanceof DataSourceDeploymentMetaData)
          {
             cmType += "XATxCM,name=" + jndiName;               
             
@@ -107,37 +117,28 @@
             cmType += "TxCM,name=" + jndiName;               
             
          }
-         cmMetaData.setCode(TxConnectionManager.class.getName());
-
       }
       
-      ObjectName cmName = new ObjectName(cmType);
-      cmMetaData.setObjectName(cmName);
-      List<ServiceAttributeMetaData> cmAttributes = new ArrayList<ServiceAttributeMetaData>();
-      ServiceAttributeMetaData cmAttribute = null;
-      ServiceConstructorMetaData constructor = new ServiceConstructorMetaData();
-      constructor.setParameters(new Object[]{});
-      constructor.setParams(new String[]{});
-      cmMetaData.setConstructor(constructor);
+      return ObjectNameFactory.create(cmType);
+   }
+   
+   @Override
+   public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
+   {
       
-      cmAttribute = buildSimpleAttribute("JndiName", jndiName);
-      cmAttributes.add(cmAttribute);
+      String code = null;
       
-      cmAttribute = buildDependencyAttribute("CachedConnectionManager", "jboss.jca:service=CachedConnectionManager");
+      if(md.getTransactionSupportMetaData().equals(ManagedConnectionFactoryTransactionSupportMetaData.NONE))
+      {
+         code = NoTxConnectionManager.class.getName();         
+      }
+      else
+      {
+        code = TxConnectionManager.class.getName();        
+      }
       
-      cmAttributes.add(cmAttribute);
-            
-      return cmMetaData;
+      return code;
    }
-
-   public boolean hasDependency()
-   {
-      return true;
-   }
-      
-   public void setMetaDataRepository(JCAMetaDataRepository repository)
-   {
-      this.repository = repository;
-   }   
-
+  
+   
 }

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionFactoryBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionFactoryBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionFactoryBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -43,8 +43,9 @@
 public class ManagedConnectionFactoryBuilder extends AbstractBuilder
 {
    private JCAMetaDataRepository repository;
-   private static final String MCF = "";
-   private static final String MCF_JMX = "";
+   private static final String MCF = "org.jboss.resource.connectionmanager.ManagedConnectionFactoryDeployment";
+   private static final String RAR_JMX = "jboss.jca:service=RARDeployment,name='";
+   private static final String MCF_JMX = "jboss.jca:service=ManagedConnectionFactory,name=";
    
    public void setMetaDataRepository(JCAMetaDataRepository repository)
    {
@@ -54,21 +55,14 @@
    @Override
    public ObjectName buildObjectName(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return ObjectNameFactory.create("" + md.getJndiName());      
+      return ObjectNameFactory.create(MCF_JMX + md.getJndiName());      
    }
    
    @Override
    public List<ServiceAttributeMetaData> buildAttributes(ManagedConnectionFactoryDeploymentMetaData deployment)
    {
       List<ServiceAttributeMetaData> attributes = new ArrayList<ServiceAttributeMetaData>();
-      ServiceAttributeMetaData attribute = null;
-      ServiceDependencyValueMetaData dep = new ServiceDependencyValueMetaData();
-      dep.setDependency("jboss.jca:service=RARDeployment,name='" + deployment.getRarName() + "'");
-
-      attribute = new ServiceAttributeMetaData();
-      attribute.setName("OldRarDeployment");
-      attribute.setValue(dep);
-      attribute.setTrim(false);
+      ServiceAttributeMetaData attribute = buildDependencyAttribute("OldRarDeployment", RAR_JMX + deployment.getRarName() + "'");      
       attributes.add(attribute);      
       return attributes;
    }
@@ -87,7 +81,7 @@
    @Override
    public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return null;
+      return MCF;
    }
  
 }

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/ManagedConnectionPoolBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -43,6 +43,7 @@
  */
 public class ManagedConnectionPoolBuilder extends AbstractBuilder 
 {
+   private static final String POOL = "org.jboss.resource.connectionmanager.JBossManagedConnectionPool";   
    private static final Map<SecurityDeploymentType, String> securityTypeMap = new HashMap<SecurityDeploymentType, String>();
    
    static
@@ -62,8 +63,7 @@
    @Override
    public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      // TODO Auto-generated method stub
-      return null;
+      return POOL;
    }
    
    @Override
@@ -71,20 +71,14 @@
    {
       List<ServiceAttributeMetaData> poolAttributes = new ArrayList<ServiceAttributeMetaData>();
       ServiceAttributeMetaData poolAttribute = null;
-            
-      poolAttribute = new ServiceAttributeMetaData();
-      poolAttribute.setName("PoolJndiName");
-      poolAttribute.setValue(new ServiceTextValueMetaData(md.getJndiName()));      
+
+      poolAttribute = buildSimpleAttribute("PoolJndiName", md.getJndiName());
       poolAttributes.add(poolAttribute);
       
-      poolAttribute = new ServiceAttributeMetaData();
-      poolAttribute.setName("MinSize");
-      poolAttribute.setValue(new ServiceTextValueMetaData(String.valueOf(md.getMinSize())));      
+      poolAttribute = buildSimpleAttribute("MinSize", String.valueOf(md.getMinSize()));      
       poolAttributes.add(poolAttribute);
       
-      poolAttribute = new ServiceAttributeMetaData();
-      poolAttribute.setName("MaxSize");
-      poolAttribute.setValue(new ServiceTextValueMetaData(String.valueOf(md.getMaxSize())));      
+      poolAttribute = buildSimpleAttribute("MaxSize", String.valueOf(md.getMaxSize()));
       poolAttributes.add(poolAttribute);
       
       poolAttribute = new ServiceAttributeMetaData();

Modified: trunk/connector/src/main/org/jboss/resource/deployers/builder/MetaDataTypeMappingBuilder.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/builder/MetaDataTypeMappingBuilder.java	2007-03-21 08:36:12 UTC (rev 61525)
+++ trunk/connector/src/main/org/jboss/resource/deployers/builder/MetaDataTypeMappingBuilder.java	2007-03-21 08:36:39 UTC (rev 61526)
@@ -21,12 +21,15 @@
 */
 package org.jboss.resource.deployers.builder;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.management.ObjectName;
 
+import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
+import org.jboss.system.metadata.ServiceMetaData;
 
 /**
  * A MetaDataTypeMappingBuilder.
@@ -36,23 +39,49 @@
  */
 public class MetaDataTypeMappingBuilder extends AbstractBuilder
 {
+   private static final String BINDING_JMX = "jboss.jdbc:service=metadata,datasource=";
+   private static final String BINDING = "org.jboss.ejb.plugins.cmp.jdbc.metadata.DataSourceMetaData";
 
    @Override
    public List<ServiceAttributeMetaData> buildAttributes(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return null;
+   
+      List<ServiceAttributeMetaData> attributes = new ArrayList<ServiceAttributeMetaData>();
+      ServiceAttributeMetaData attribute = null;
+      
+      attribute = buildDependencyAttribute("MetadataLibrary", "jboss.jdbc:service=metadata");
+      attributes.add(attribute);
+      
+      attribute = buildSimpleAttribute("TypeMapping", md.getTypeMapping());
+      attributes.add(attribute);
+            
+      return attributes;
    }
-
+   
    @Override
+   public ServiceMetaData build(ManagedConnectionFactoryDeploymentMetaData mcfmd)
+   {
+      ServiceMetaData md = null;
+      
+      if(mcfmd.getTypeMapping() != null)
+      {
+         md = super.build(mcfmd);
+         
+      }
+      return md;
+      
+   }
+   
+   @Override
    public ObjectName buildObjectName(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return null;
+      return ObjectNameFactory.create(BINDING_JMX + md.getJndiName());   
    }
 
    @Override
    public String getCode(ManagedConnectionFactoryDeploymentMetaData md)
    {
-      return null;
+      return BINDING;
    }
 
 }




More information about the jboss-cvs-commits mailing list