djencks     2004/02/08 12:21:57

  Modified:    
modules/connector/src/java/org/apache/geronimo/connector/deployment
                        Connector_1_0Module.java Connector_1_5Module.java
               modules/connector/src/schema geronimo-connector_1_5.xsd
                        xmlconfig.xml
               
modules/connector/src/test/org/apache/geronimo/connector/deployment
                        Connector_1_0Test.java Connector_1_5Test.java
               modules/connector/src/test-data/connector_1_0
                        geronimo-ra.xml
               modules/connector/src/test-data/connector_1_5
                        geronimo-ra.xml
  Added:       
modules/connector/src/java/org/apache/geronimo/connector/deployment
                        RARConfigurationFactory.java
  Removed:     
modules/connector/src/java/org/apache/geronimo/connector/deployment
                        RAR_1_0ConfigurationFactory.java
                        RAR_1_5ConfigurationFactory.java
  Log:
  incremental approach towards usable dconfigbeans
  
  Revision  Changes    Path
  1.4       +69 -63    
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_0Module.java
  
  Index: Connector_1_0Module.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_0Module.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Connector_1_0Module.java  6 Feb 2004 08:56:42 -0000       1.3
  +++ Connector_1_0Module.java  8 Feb 2004 20:21:57 -0000       1.4
  @@ -88,6 +88,7 @@
   import org.apache.geronimo.xbeans.geronimo.GerConnectionmanagerType;
   import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
   import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
  +import org.apache.geronimo.xbeans.geronimo.GerConnectionfactoryInstanceType;
   import org.apache.geronimo.xbeans.j2ee.connector_1_0.ConfigPropertyType;
   import org.apache.geronimo.xbeans.j2ee.connector_1_0.ConnectorDocument;
   import org.apache.geronimo.xbeans.j2ee.connector_1_0.ResourceadapterType;
  @@ -119,71 +120,76 @@
               GerConnectionDefinitionType geronimoConnectionDefinition = 
geronimoResourceAdapter.getOutboundResourceadapter().getConnectionDefinitionArray(i);
               assert geronimoConnectionDefinition != null: "Null 
GeronimoConnectionDefinition";
               //ConnectionManagerFactory
  -            GerConnectionmanagerType connectionManagerFactory = 
geronimoConnectionDefinition.getConnectionmanager();
  -            GBeanInfo connectionManagerFactoryGBeanInfo;
  -            try {
  -                connectionManagerFactoryGBeanInfo = 
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
  -            } catch (InvalidConfigurationException e) {
  -                throw new DeploymentException("Unable to get GBeanInfo from 
ConnectionManagerDeployment", e);
  -            }
  +            for (int j = 0; j < 
geronimoConnectionDefinition.getConnectionfactoryInstanceArray().length; j++) {
  +                GerConnectionfactoryInstanceType 
gerConnectionfactoryInstance = 
geronimoConnectionDefinition.getConnectionfactoryInstanceArray()[j];
   
  -            GBeanMBean connectionManagerFactoryGBean;
  -            try {
  -                connectionManagerFactoryGBean = new 
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
  -            } catch (InvalidConfigurationException e) {
  -                throw new DeploymentException("Unable to create GMBean", e);
  -            }
  -            try {
  -                connectionManagerFactoryGBean.setAttribute("Name", 
connectionManagerFactory.getName());
  -                
connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new 
Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
  -                connectionManagerFactoryGBean.setAttribute("MaxSize", new 
Integer(connectionManagerFactory.getMaxSize().intValue()));
  -                
connectionManagerFactoryGBean.setAttribute("UseTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
  -                
connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
  -                
connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", 
Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
  -                
connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", 
Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
  -                connectionManagerFactoryGBean.setAttribute("UseSubject", 
Boolean.valueOf(connectionManagerFactory.getUseSubject()));
  -                connectionManagerFactoryGBean.setReferencePatterns("Kernel", 
Collections.singleton(Kernel.KERNEL));
  -                
connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", 
Collections.singleton(connectionTrackerNamePattern));
  -                if (connectionManagerFactory.getRealmBridge() != null) {
  -                    
connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", 
Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + 
connectionManagerFactory.getRealmBridge())));
  +                GerConnectionmanagerType connectionManagerFactory = 
gerConnectionfactoryInstance.getConnectionmanager();
  +                GBeanInfo connectionManagerFactoryGBeanInfo;
  +                try {
  +                    connectionManagerFactoryGBeanInfo = 
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
  +                } catch (InvalidConfigurationException e) {
  +                    throw new DeploymentException("Unable to get GBeanInfo 
from ConnectionManagerDeployment", e);
                   }
  -            } catch (Exception e) {
  -                throw new DeploymentException("Problem setting up 
ConnectionManagerFactory", e);
  -            }
  -            ObjectName connectionManagerFactoryObjectName = null;
  -            try {
  -                connectionManagerFactoryObjectName = 
ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + 
geronimoConnectionDefinition.getName());
  -            } catch (MalformedObjectNameException e) {
  -                throw new DeploymentException("Could not name 
ConnectionManagerFactory", e);
  -            }
  -            callback.addGBean(connectionManagerFactoryObjectName, 
connectionManagerFactoryGBean);
  -            //ManagedConnectionFactory
  -            GBeanInfoFactory managedConnectionFactoryInfoFactory = new 
GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), 
ManagedConnectionFactoryWrapper.getGBeanInfo());
  -            GBeanMBean managedConnectionFactoryGBean = 
setUpDynamicGBean(managedConnectionFactoryInfoFactory, 
resourceAdapter.getConfigPropertyArray(), 
geronimoConnectionDefinition.getConfigPropertySettingArray());
  -            try {
  -                
managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", 
cl.loadClass(resourceAdapter.getManagedconnectionfactoryClass().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", 
cl.loadClass(resourceAdapter.getConnectionfactoryInterface().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", 
cl.loadClass(resourceAdapter.getConnectionfactoryImplClass().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionInterface", 
cl.loadClass(resourceAdapter.getConnectionInterface().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", 
cl.loadClass(resourceAdapter.getConnectionImplClass().getStringValue()));
  -                managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", 
geronimoConnectionDefinition.getGlobalJndiName());
  -                
managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", 
Collections.singleton(connectionManagerFactoryObjectName));
  -                //TODO also set up the login module
  -                /*
  -                if 
(geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
  -                    
managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener",
 
Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME
 + geronimoConnectionDefinition.getName())));
  -                }
  -                */
  -            } catch (Exception e) {
  -                throw new DeploymentException(e);
  -            }
  -            ObjectName managedConnectionFactoryObjectName = null;
  -            try {
  -                managedConnectionFactoryObjectName = 
ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + 
geronimoConnectionDefinition.getName());
  -            } catch (MalformedObjectNameException e) {
  -                throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +
  +                GBeanMBean connectionManagerFactoryGBean;
  +                try {
  +                    connectionManagerFactoryGBean = new 
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
  +                } catch (InvalidConfigurationException e) {
  +                    throw new DeploymentException("Unable to create GMBean", 
e);
  +                }
  +                try {
  +                    connectionManagerFactoryGBean.setAttribute("Name", 
connectionManagerFactory.getName());
  +                    
connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new 
Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
  +                    connectionManagerFactoryGBean.setAttribute("MaxSize", 
new Integer(connectionManagerFactory.getMaxSize().intValue()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", 
Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", 
Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
  +                    connectionManagerFactoryGBean.setAttribute("UseSubject", 
Boolean.valueOf(connectionManagerFactory.getUseSubject()));
  +                    
connectionManagerFactoryGBean.setReferencePatterns("Kernel", 
Collections.singleton(Kernel.KERNEL));
  +                    
connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", 
Collections.singleton(connectionTrackerNamePattern));
  +                    if (connectionManagerFactory.getRealmBridge() != null) {
  +                        
connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", 
Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + 
connectionManagerFactory.getRealmBridge())));
  +                    }
  +                } catch (Exception e) {
  +                    throw new DeploymentException("Problem setting up 
ConnectionManagerFactory", e);
  +                }
  +                ObjectName connectionManagerFactoryObjectName = null;
  +                try {
  +                    connectionManagerFactoryObjectName = 
ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + 
gerConnectionfactoryInstance.getName());
  +                } catch (MalformedObjectNameException e) {
  +                    throw new DeploymentException("Could not name 
ConnectionManagerFactory", e);
  +                }
  +                callback.addGBean(connectionManagerFactoryObjectName, 
connectionManagerFactoryGBean);
  +                //ManagedConnectionFactory
  +                GBeanInfoFactory managedConnectionFactoryInfoFactory = new 
GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), 
ManagedConnectionFactoryWrapper.getGBeanInfo());
  +                GBeanMBean managedConnectionFactoryGBean = 
setUpDynamicGBean(managedConnectionFactoryInfoFactory, 
resourceAdapter.getConfigPropertyArray(), 
gerConnectionfactoryInstance.getConfigPropertySettingArray());
  +                try {
  +                    
managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", 
cl.loadClass(resourceAdapter.getManagedconnectionfactoryClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", 
cl.loadClass(resourceAdapter.getConnectionfactoryInterface().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", 
cl.loadClass(resourceAdapter.getConnectionfactoryImplClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionInterface", 
cl.loadClass(resourceAdapter.getConnectionInterface().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", 
cl.loadClass(resourceAdapter.getConnectionImplClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", 
gerConnectionfactoryInstance.getGlobalJndiName());
  +                    
managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", 
Collections.singleton(connectionManagerFactoryObjectName));
  +                    //TODO also set up the login module
  +                    /*
  +                    if 
(geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
  +                        
managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener",
 
Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME
 + geronimoConnectionDefinition.getName())));
  +                    }
  +                    */
  +                } catch (Exception e) {
  +                    throw new DeploymentException(e);
  +                }
  +                ObjectName managedConnectionFactoryObjectName = null;
  +                try {
  +                    managedConnectionFactoryObjectName = 
ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + 
gerConnectionfactoryInstance.getName());
  +                } catch (MalformedObjectNameException e) {
  +                    throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +                }
  +                callback.addGBean(managedConnectionFactoryObjectName, 
managedConnectionFactoryGBean);
  +
               }
  -            callback.addGBean(managedConnectionFactoryObjectName, 
managedConnectionFactoryGBean);
           }
   
       }
  
  
  
  1.4       +85 -75    
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java
  
  Index: Connector_1_5Module.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/Connector_1_5Module.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Connector_1_5Module.java  6 Feb 2004 08:56:42 -0000       1.3
  +++ Connector_1_5Module.java  8 Feb 2004 20:21:57 -0000       1.4
  @@ -92,6 +92,8 @@
   import org.apache.geronimo.xbeans.geronimo.GerConnectionmanagerType;
   import org.apache.geronimo.xbeans.geronimo.GerConnectorDocument;
   import org.apache.geronimo.xbeans.geronimo.GerResourceadapterType;
  +import org.apache.geronimo.xbeans.geronimo.GerConnectionfactoryInstanceType;
  +import org.apache.geronimo.xbeans.geronimo.GerAdminobjectInstanceType;
   import org.apache.geronimo.xbeans.j2ee.AdminobjectType;
   import org.apache.geronimo.xbeans.j2ee.ConfigPropertyType;
   import org.apache.geronimo.xbeans.j2ee.ConnectionDefinitionType;
  @@ -153,76 +155,80 @@
               String connectionFactoryInterfaceName = 
geronimoConnectionDefinition.getConnectionfactoryInterface().getStringValue();
               ConnectionDefinitionType connectionDefinition = 
(ConnectionDefinitionType) 
connectionDefinitions.get(connectionFactoryInterfaceName);
               assert connectionDefinition != null: "No connection definition 
for ConnectionFactory class: " + connectionFactoryInterfaceName;
  -            //ConnectionManagerFactory
  -            GerConnectionmanagerType connectionManagerFactory = 
geronimoConnectionDefinition.getConnectionmanager();
  -            GBeanInfo connectionManagerFactoryGBeanInfo;
  -            try {
  -                connectionManagerFactoryGBeanInfo = 
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
  -            } catch (InvalidConfigurationException e) {
  -                throw new DeploymentException("Unable to get GBeanInfo from 
ConnectionManagerDeployment", e);
  -            }
  +            for (int j = 0; j < 
geronimoConnectionDefinition.getConnectionfactoryInstanceArray().length; j++) {
  +                GerConnectionfactoryInstanceType connectionfactoryInstance = 
geronimoConnectionDefinition.getConnectionfactoryInstanceArray()[j];
   
  -            GBeanMBean connectionManagerFactoryGBean;
  -            try {
  -                connectionManagerFactoryGBean = new 
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
  -            } catch (InvalidConfigurationException e) {
  -                throw new DeploymentException("Unable to create GMBean", e);
  -            }
  -            try {
  -                connectionManagerFactoryGBean.setAttribute("Name", 
connectionManagerFactory.getName());
  -                
connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new 
Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
  -                connectionManagerFactoryGBean.setAttribute("MaxSize", new 
Integer(connectionManagerFactory.getMaxSize().intValue()));
  -                
connectionManagerFactoryGBean.setAttribute("UseTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
  -                
connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
  -                
connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", 
Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
  -                
connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", 
Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
  -                connectionManagerFactoryGBean.setAttribute("UseSubject", 
Boolean.valueOf(connectionManagerFactory.getUseSubject()));
  -                connectionManagerFactoryGBean.setReferencePatterns("Kernel", 
Collections.singleton(Kernel.KERNEL));
  -                
connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", 
Collections.singleton(connectionTrackerNamePattern));
  -                if (connectionManagerFactory.getRealmBridge() != null) {
  -                    
connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", 
Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + 
connectionManagerFactory.getRealmBridge())));
  +                //ConnectionManagerFactory
  +                GerConnectionmanagerType connectionManagerFactory = 
connectionfactoryInstance.getConnectionmanager();
  +                GBeanInfo connectionManagerFactoryGBeanInfo;
  +                try {
  +                    connectionManagerFactoryGBeanInfo = 
GBeanInfo.getGBeanInfo(ConnectionManagerDeployment.class.getName(), cl);
  +                } catch (InvalidConfigurationException e) {
  +                    throw new DeploymentException("Unable to get GBeanInfo 
from ConnectionManagerDeployment", e);
                   }
  -            } catch (Exception e) {
  -                throw new DeploymentException("Problem setting up 
ConnectionManagerFactory", e);
  -            }
  -            ObjectName connectionManagerFactoryObjectName = null;
  -            try {
  -                connectionManagerFactoryObjectName = 
ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + 
geronimoConnectionDefinition.getName());
  -            } catch (MalformedObjectNameException e) {
  -                throw new DeploymentException("Could not name 
ConnectionManagerFactory", e);
  -            }
  -            callback.addGBean(connectionManagerFactoryObjectName, 
connectionManagerFactoryGBean);
  -            //ManagedConnectionFactory
   
  -            GBeanInfoFactory managedConnectionFactoryInfoFactory = new 
GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), 
ManagedConnectionFactoryWrapper.getGBeanInfo());
  -            GBeanMBean managedConnectionFactoryGBean = 
setUpDynamicGBean(managedConnectionFactoryInfoFactory, 
connectionDefinition.getConfigPropertyArray(), 
geronimoConnectionDefinition.getConfigPropertySettingArray());
  -            try {
  -                
managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", 
cl.loadClass(connectionDefinition.getManagedconnectionfactoryClass().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", 
cl.loadClass(connectionDefinition.getConnectionfactoryInterface().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", 
cl.loadClass(connectionDefinition.getConnectionfactoryImplClass().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionInterface", 
cl.loadClass(connectionDefinition.getConnectionInterface().getStringValue()));
  -                
managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", 
cl.loadClass(connectionDefinition.getConnectionImplClass().getStringValue()));
  -                managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", 
geronimoConnectionDefinition.getGlobalJndiName());
  -                if (resourceAdapterClassName != null) {
  -                    
managedConnectionFactoryGBean.setReferencePatterns("ResourceAdapterWrapper", 
Collections.singleton(resourceAdapterObjectName));
  -                }
  -                
managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", 
Collections.singleton(connectionManagerFactoryObjectName));
  -                /*
  -                //TODO also set up the login module
  -                if 
(geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
  -                    
managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener",
 
Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME
 + geronimoConnectionDefinition.getName())));
  -                }
  -                */
  -            } catch (Exception e) {
  -                throw new DeploymentException(e);
  -            }
  -            ObjectName managedConnectionFactoryObjectName = null;
  -            try {
  -                managedConnectionFactoryObjectName = 
ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + 
geronimoConnectionDefinition.getName());
  -            } catch (MalformedObjectNameException e) {
  -                throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +                GBeanMBean connectionManagerFactoryGBean;
  +                try {
  +                    connectionManagerFactoryGBean = new 
GBeanMBean(connectionManagerFactoryGBeanInfo, cl);
  +                } catch (InvalidConfigurationException e) {
  +                    throw new DeploymentException("Unable to create GMBean", 
e);
  +                }
  +                try {
  +                    connectionManagerFactoryGBean.setAttribute("Name", 
connectionManagerFactory.getName());
  +                    
connectionManagerFactoryGBean.setAttribute("BlockingTimeout", new 
Integer(connectionManagerFactory.getBlockingTimeout().intValue()));
  +                    connectionManagerFactoryGBean.setAttribute("MaxSize", 
new Integer(connectionManagerFactory.getMaxSize().intValue()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseTransactions()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseLocalTransactions", 
Boolean.valueOf(connectionManagerFactory.getUseLocalTransactions()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseTransactionCaching", 
Boolean.valueOf(connectionManagerFactory.getUseTransactionCaching()));
  +                    
connectionManagerFactoryGBean.setAttribute("UseConnectionRequestInfo", 
Boolean.valueOf(connectionManagerFactory.getUseConnectionRequestInfo()));
  +                    connectionManagerFactoryGBean.setAttribute("UseSubject", 
Boolean.valueOf(connectionManagerFactory.getUseSubject()));
  +                    
connectionManagerFactoryGBean.setReferencePatterns("Kernel", 
Collections.singleton(Kernel.KERNEL));
  +                    
connectionManagerFactoryGBean.setReferencePatterns("ConnectionTracker", 
Collections.singleton(connectionTrackerNamePattern));
  +                    if (connectionManagerFactory.getRealmBridge() != null) {
  +                        
connectionManagerFactoryGBean.setReferencePatterns("RealmBridge", 
Collections.singleton(ObjectName.getInstance(BASE_REALM_BRIDGE_NAME + 
connectionManagerFactory.getRealmBridge())));
  +                    }
  +                } catch (Exception e) {
  +                    throw new DeploymentException("Problem setting up 
ConnectionManagerFactory", e);
  +                }
  +                ObjectName connectionManagerFactoryObjectName = null;
  +                try {
  +                    connectionManagerFactoryObjectName = 
ObjectName.getInstance(BASE_CONNECTION_MANAGER_FACTORY_NAME + 
connectionfactoryInstance.getName());
  +                } catch (MalformedObjectNameException e) {
  +                    throw new DeploymentException("Could not name 
ConnectionManagerFactory", e);
  +                }
  +                callback.addGBean(connectionManagerFactoryObjectName, 
connectionManagerFactoryGBean);
  +                //ManagedConnectionFactory
  +
  +                GBeanInfoFactory managedConnectionFactoryInfoFactory = new 
GBeanInfoFactory(ManagedConnectionFactoryWrapper.class.getName(), 
ManagedConnectionFactoryWrapper.getGBeanInfo());
  +                GBeanMBean managedConnectionFactoryGBean = 
setUpDynamicGBean(managedConnectionFactoryInfoFactory, 
connectionDefinition.getConfigPropertyArray(), 
connectionfactoryInstance.getConfigPropertySettingArray());
  +                try {
  +                    
managedConnectionFactoryGBean.setAttribute("ManagedConnectionFactoryClass", 
cl.loadClass(connectionDefinition.getManagedconnectionfactoryClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryInterface", 
cl.loadClass(connectionDefinition.getConnectionfactoryInterface().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionFactoryImplClass", 
cl.loadClass(connectionDefinition.getConnectionfactoryImplClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionInterface", 
cl.loadClass(connectionDefinition.getConnectionInterface().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("ConnectionImplClass", 
cl.loadClass(connectionDefinition.getConnectionImplClass().getStringValue()));
  +                    
managedConnectionFactoryGBean.setAttribute("GlobalJNDIName", 
connectionfactoryInstance.getGlobalJndiName());
  +                    if (resourceAdapterClassName != null) {
  +                        
managedConnectionFactoryGBean.setReferencePatterns("ResourceAdapterWrapper", 
Collections.singleton(resourceAdapterObjectName));
  +                    }
  +                    
managedConnectionFactoryGBean.setReferencePatterns("ConnectionManagerFactory", 
Collections.singleton(connectionManagerFactoryObjectName));
  +                    /*
  +                    //TODO also set up the login module
  +                    if 
(geronimoConnectionDefinition.getAuthentication().equals("BasicUserPassword")) {
  +                        
managedConnectionFactoryGBean.setReferencePatterns("ManagedConnectionFactoryListener",
 
Collections.singleton(ObjectName.getInstance(BASE_PASSWORD_CREDENTIAL_LOGIN_MODULE_NAME
 + geronimoConnectionDefinition.getName())));
  +                    }
  +                    */
  +                } catch (Exception e) {
  +                    throw new DeploymentException(e);
  +                }
  +                ObjectName managedConnectionFactoryObjectName = null;
  +                try {
  +                    managedConnectionFactoryObjectName = 
ObjectName.getInstance(BASE_MANAGED_CONNECTION_FACTORY_NAME + 
connectionfactoryInstance.getName());
  +                } catch (MalformedObjectNameException e) {
  +                    throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +                }
  +                callback.addGBean(managedConnectionFactoryObjectName, 
managedConnectionFactoryGBean);
               }
  -            callback.addGBean(managedConnectionFactoryObjectName, 
managedConnectionFactoryGBean);
   
           }
           //admin objects
  @@ -235,15 +241,19 @@
               GerAdminobjectType gerAdminObject = 
geronimoResourceAdapter.getAdminobjectArray()[i];
               AdminobjectType adminobject = (AdminobjectType) 
adminObjectInterfaceMap.get(gerAdminObject.getAdminobjectInterface().getStringValue());
               assert adminobject != null;
  -            GBeanInfoFactory adminObjectInfoFactory = new 
GBeanInfoFactory(AdminObjectWrapper.class.getName(), 
AdminObjectWrapper.getGBeanInfo());
  -            GBeanMBean adminObjectGBean = 
setUpDynamicGBean(adminObjectInfoFactory, adminobject.getConfigPropertyArray(), 
gerAdminObject.getConfigPropertySettingArray());
  -            ObjectName adminObjectObjectName = null;
  -            try {
  -                adminObjectObjectName = 
ObjectName.getInstance(BASE_ADMIN_OBJECT_NAME + 
gerAdminObject.getAdminObjectName());
  -            } catch (MalformedObjectNameException e) {
  -                throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +            for (int j = 0; j < 
gerAdminObject.getAdminobjectInstanceArray().length; j++) {
  +                GerAdminobjectInstanceType gerAdminobjectInstance = 
gerAdminObject.getAdminobjectInstanceArray()[j];
  +                GBeanInfoFactory adminObjectInfoFactory = new 
GBeanInfoFactory(AdminObjectWrapper.class.getName(), 
AdminObjectWrapper.getGBeanInfo());
  +                GBeanMBean adminObjectGBean = 
setUpDynamicGBean(adminObjectInfoFactory, adminobject.getConfigPropertyArray(), 
gerAdminobjectInstance.getConfigPropertySettingArray());
  +                ObjectName adminObjectObjectName = null;
  +                try {
  +                    adminObjectObjectName = 
ObjectName.getInstance(BASE_ADMIN_OBJECT_NAME + 
gerAdminobjectInstance.getAdminobjectName());
  +                } catch (MalformedObjectNameException e) {
  +                    throw new DeploymentException("Could not construct 
ManagedConnectionFactory object name", e);
  +                }
  +                callback.addGBean(adminObjectObjectName, adminObjectGBean);
  +
               }
  -            callback.addGBean(adminObjectObjectName, adminObjectGBean);
           }
   
       }
  
  
  
  1.3       +25 -45    
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/RARConfigurationFactory.java
  
  
  
  
  1.2       +33 -40    
incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd
  
  Index: geronimo-connector_1_5.xsd
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/schema/geronimo-connector_1_5.xsd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- geronimo-connector_1_5.xsd        2 Feb 2004 22:10:35 -0000       1.1
  +++ geronimo-connector_1_5.xsd        8 Feb 2004 20:21:57 -0000       1.2
  @@ -43,14 +43,7 @@
       <xsd:complexType name="adminobjectType">
           <xsd:annotation>
               <xsd:documentation>
  -
  -                The adminobjectType specifies information about an
  -                administered object.  Administered objects are specific to a
  -                messaging style or message provider.  This contains
  -                information on the Java type of the interface implemented by
  -                an administered object, its Java class name and its
  -                configuration properties.
  -
  +                reference back into standard dd
               </xsd:documentation>
           </xsd:annotation>
   
  @@ -59,17 +52,7 @@
                   type="j2ee:fully-qualified-classType">
                   <xsd:annotation>
                       <xsd:documentation>
  -                        <![CDATA[
  -
  -                        The element adminobject-interface specifies the
  -                        fully qualified name of the Java type of the
  -                        interface implemented by an administered object.
  -
  -                        Example:
  -                          <adminobject-interface>javax.jms.Destination
  -                          </adminobject-interface>
  -
  -                        ]]>
  +                        believe it or not, there are no uniqueness 
constraints on admin object intf or class
                       </xsd:documentation>
                   </xsd:annotation>
   
  @@ -77,30 +60,24 @@
               <xsd:element name="adminobject-class"
                   type="j2ee:fully-qualified-classType">
                   <xsd:annotation>
  -                    <xsd:documentation>
  -                        <![CDATA[
  -
  -                        The element adminobject-class specifies the fully
  -                        qualified Java class name of an administered object.
  -
  -                        Example:
  -                            <adminobject-class>com.wombat.DestinationImpl
  -                            </adminobject-class>
  -
  -                        ]]>
  -                    </xsd:documentation>
  +                    <xsd:documentation>reference back into the standard 
dd</xsd:documentation>
                   </xsd:annotation>
               </xsd:element>
  +            <xsd:element name="adminobject-instance"
  +                type="ger:adminobject-instanceType"
  +                minOccurs="0"
  +                maxOccurs="unbounded"/>
  +        </xsd:sequence>
  +    </xsd:complexType>
   
  -            <xsd:element name="admin-object-name"
  -                         type="xsd:string">
  -              <xsd:annotation>
  -                <xsd:documentation>
  -                  <![CDATA[
  -      unique name for admin object instance.  Used in object name of mbean 
for it.
  -                    ]]>
  -                </xsd:documentation>
  -              </xsd:annotation>
  +    <xsd:complexType name="adminobject-instanceType">
  +        <xsd:sequence>
  +            <xsd:element name="adminobject-name"
  +                type="xsd:string">
  +                <xsd:annotation>
  +                    <xsd:documentation>unique name for admin object 
instance.  Used in object name of mbean for it.
  +                    </xsd:documentation>
  +                </xsd:annotation>
               </xsd:element>
               <xsd:element name="config-property-setting"
                   type="ger:config-property-settingType"
  @@ -213,6 +190,14 @@
                       </xsd:documentation>
                   </xsd:annotation>
               </xsd:element>
  +            <xsd:element name="connectionfactory-instance"
  +                type="ger:connectionfactory-instanceType"
  +                minOccurs="0"
  +                maxOccurs="unbounded"/>
  +        </xsd:sequence>
  +    </xsd:complexType>
  +    <xsd:complexType name="connectionfactory-instanceType">
  +        <xsd:sequence>
               <xsd:element name="name"
                   type="xsd:string"/>
               <xsd:element name="config-property-setting"
  @@ -280,8 +265,16 @@
                   type="ger:resourceadapterType"/>
   
           </xsd:sequence>
  +        <xsd:attribute name="version" type="ger:versionType" use="required"/>
       </xsd:complexType>
   
  +    <xsd:simpleType name="versionType">
  +      <xsd:restriction base="xsd:string">
  +        <xsd:whiteSpace value="collapse"/>
  +          <xsd:enumeration value="1.0"/>
  +          <xsd:enumeration value="1.5"/>
  +      </xsd:restriction>
  +    </xsd:simpleType>
       <!-- **************************************************** -->
   
       <xsd:complexType name="credential-interfaceType">
  
  
  
  1.2       +2 -2      
incubator-geronimo/modules/connector/src/schema/xmlconfig.xml
  
  Index: xmlconfig.xml
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/schema/xmlconfig.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xmlconfig.xml     2 Feb 2004 22:10:35 -0000       1.1
  +++ xmlconfig.xml     8 Feb 2004 20:21:57 -0000       1.2
  @@ -1,9 +1,9 @@
   <xb:config xmlns:xb="http://www.bea.com/2002/09/xbean/config";
       >
   
  -    <xb:namespace uri="http://java.sun.com/xml/ns/j2ee";>
  +    <!--xb:namespace uri="http://java.sun.com/xml/ns/j2ee";>
           <xb:package>org.apache.geronimo.xbeans.j2ee</xb:package>
  -    </xb:namespace>
  +    </xb:namespace-->
   
       <xb:namespace uri="##local">
           
<xb:package>org.apache.geronimo.xbeans.j2ee.connector_1_0</xb:package>
  
  
  
  1.3       +18 -2     
incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_0Test.java
  
  Index: Connector_1_0Test.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_0Test.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Connector_1_0Test.java    3 Feb 2004 06:51:21 -0000       1.2
  +++ Connector_1_0Test.java    8 Feb 2004 20:21:57 -0000       1.3
  @@ -60,6 +60,8 @@
   import java.net.URI;
   import java.util.Map;
   import java.util.HashMap;
  +import java.util.ArrayList;
  +import java.util.List;
   import java.util.zip.ZipEntry;
   import java.util.jar.JarOutputStream;
   import java.io.InputStream;
  @@ -76,6 +78,7 @@
   import org.apache.geronimo.deployment.DeploymentModule;
   import org.apache.geronimo.deployment.ConfigurationCallback;
   import org.apache.geronimo.gbean.jmx.GBeanMBean;
  +import org.apache.xmlbeans.XmlOptions;
   
   /**
    *
  @@ -88,17 +91,26 @@
       private URL geronimoDD;
       private URI configID = URI.create("geronimo/connector10/test");
       private Map gbeans = new HashMap();
  +    XmlOptions xmlOptions;
  +    private List errors;
   
       public void testLoadJ2eeDeploymentDescriptor() throws Exception {
           InputStream j2eeInputStream = j2eeDD.openStream();
           ConnectorDocument connectorDocument = 
ConnectorDocument.Factory.parse(j2eeInputStream);
           assertNotNull(connectorDocument.getConnector().getResourceadapter());
  +        if (!connectorDocument.validate(xmlOptions)) {
  +            fail(errors.toString());
  +        }
       }
   
       public void testLoadGeronimoDeploymentDescriptor() throws Exception {
           InputStream geronimoInputStream = geronimoDD.openStream();
           GerConnectorDocument connectorDocument = 
GerConnectorDocument.Factory.parse(geronimoInputStream);
           assertNotNull(connectorDocument.getConnector().getResourceadapter());
  +        if (!connectorDocument.validate(xmlOptions)) {
  +            fail(errors.toString());
  +        }
  +
       }
   
       public void testCreateConnector_1_0Module() throws Exception {
  @@ -119,7 +131,7 @@
           InputStream moduleArchive = new 
ByteArrayInputStream(baos.toByteArray());
           InputStream geronimoInputStream = geronimoDD.openStream();
           GerConnectorDocument connectorDocument = 
GerConnectorDocument.Factory.parse(geronimoInputStream);
  -        RAR_1_0ConfigurationFactory rarConfigurationFactory = new 
RAR_1_0ConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
  +        RARConfigurationFactory rarConfigurationFactory = new 
RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
           DeploymentModule connector_1_0Module = 
rarConfigurationFactory.createModule(moduleArchive, connectorDocument, 
configID, true);
           connector_1_0Module.init();
           connector_1_0Module.generateClassPath(this);
  @@ -130,6 +142,10 @@
           File docDir = new File("src/test-data/connector_1_0");
           j2eeDD = new File(docDir, "ra.xml").toURL();
           geronimoDD = new File(docDir, "geronimo-ra.xml").toURL();
  +        xmlOptions = new XmlOptions();
  +        xmlOptions.setLoadLineNumbers();
  +        errors = new ArrayList();
  +        xmlOptions.setErrorListener(errors);
       }
   
       public void addFile(URI path, InputStream source) throws IOException {
  
  
  
  1.3       +17 -2     
incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java
  
  Index: Connector_1_5Test.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/test/org/apache/geronimo/connector/deployment/Connector_1_5Test.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Connector_1_5Test.java    3 Feb 2004 06:51:21 -0000       1.2
  +++ Connector_1_5Test.java    8 Feb 2004 20:21:57 -0000       1.3
  @@ -65,6 +65,8 @@
   import java.net.URI;
   import java.util.Map;
   import java.util.HashMap;
  +import java.util.List;
  +import java.util.ArrayList;
   import java.util.zip.ZipEntry;
   import java.util.jar.JarOutputStream;
   
  @@ -76,6 +78,7 @@
   import org.apache.geronimo.deployment.DeploymentModule;
   import org.apache.geronimo.deployment.ConfigurationCallback;
   import org.apache.geronimo.gbean.jmx.GBeanMBean;
  +import org.apache.xmlbeans.XmlOptions;
   
   /**
    *
  @@ -88,17 +91,25 @@
       private URL geronimoDD;
       private URI configID = URI.create("geronimo/connector15/test");
       private Map gbeans = new HashMap();
  +    XmlOptions xmlOptions;
  +    private List errors;
   
       public void testLoadJ2eeDeploymentDescriptor() throws Exception {
           InputStream j2eeInputStream = j2eeDD.openStream();
           ConnectorDocument connectorDocument = 
ConnectorDocument.Factory.parse(j2eeInputStream);
           assertNotNull(connectorDocument.getConnector().getResourceadapter());
  +        if (!connectorDocument.validate(xmlOptions)) {
  +            fail(errors.toString());
  +        }
       }
   
       public void testLoadGeronimoDeploymentDescriptor() throws Exception {
           InputStream geronimoInputStream = geronimoDD.openStream();
           GerConnectorDocument connectorDocument = 
GerConnectorDocument.Factory.parse(geronimoInputStream);
           assertNotNull(connectorDocument.getConnector().getResourceadapter());
  +        if (!connectorDocument.validate(xmlOptions)) {
  +            fail(errors.toString());
  +        }
       }
   
       public void testCreateConnector_1_5Module() throws Exception {
  @@ -119,7 +130,7 @@
           InputStream moduleArchive = new 
ByteArrayInputStream(baos.toByteArray());
           InputStream geronimoInputStream = geronimoDD.openStream();
           GerConnectorDocument connectorDocument = 
GerConnectorDocument.Factory.parse(geronimoInputStream);
  -        RAR_1_5ConfigurationFactory rarConfigurationFactory = new 
RAR_1_5ConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
  +        RARConfigurationFactory rarConfigurationFactory = new 
RARConfigurationFactory(ObjectName.getInstance("geronimo.test:role=ConnectionTracker"));
           DeploymentModule connector_1_5Module = 
rarConfigurationFactory.createModule(moduleArchive, connectorDocument, 
configID, true);
           connector_1_5Module.init();
           connector_1_5Module.generateClassPath(this);
  @@ -130,6 +141,10 @@
           File docDir = new File("src/test-data/connector_1_5");
           j2eeDD = new File(docDir, "ra.xml").toURL();
           geronimoDD = new File(docDir, "geronimo-ra.xml").toURL();
  +        xmlOptions = new XmlOptions();
  +        xmlOptions.setLoadLineNumbers();
  +        errors = new ArrayList();
  +        xmlOptions.setErrorListener(errors);
       }
   
       public void addFile(URI path, InputStream source) throws IOException {
  
  
  
  1.2       +49 -54    
incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml
  
  Index: geronimo-ra.xml
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_0/geronimo-ra.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- geronimo-ra.xml   2 Feb 2004 22:10:35 -0000       1.1
  +++ geronimo-ra.xml   8 Feb 2004 20:21:57 -0000       1.2
  @@ -1,64 +1,59 @@
   <?xml version="1.0" encoding="UTF-8"?>
  -<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee";
  -    version="1.5">
  +<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee"; version="1.0">
       <resourceadapter>
           <outbound-resourceadapter>
               <connection-definition>
                   
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
  -                <name>FirstTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty1">newvalue1</config-property-setting>
  -                <config-property-setting 
name="OutboundStringProperty3">newvalue2</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                
<global-jndi-name>connectionfactories/testcf</global-jndi-name>
  -            </connection-definition>
  -            <connection-definition>
  -                
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
  -                <name>SecondTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty4">newvalue3</config-property-setting>
  -                <config-property-setting 
name="OutboundStringProperty1">newvalue4</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                <security-domain>YourSecurityDomain</security-domain>
  -            </connection-definition>
  -            <connection-definition>
  -                
<connectionfactory-interface>org.apache.geronimo.connector.mock.MockConnectionFactory</connectionfactory-interface>
  -                <name>ThirdTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty">StringValue3</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                <security-domain>TheirSecurityDomain</security-domain>
  +                <connectionfactory-instance>
  +                    <name>FirstTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty1">newvalue1</config-property-setting>
  +                    <config-property-setting 
name="OutboundStringProperty3">newvalue2</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                    </connectionmanager>
  +                    
<global-jndi-name>connectionfactories/testcf</global-jndi-name>
  +                </connectionfactory-instance>
  +                <connectionfactory-instance>
  +                    <name>SecondTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty4">newvalue3</config-property-setting>
  +                    <config-property-setting 
name="OutboundStringProperty1">newvalue4</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                    </connectionmanager>
  +                </connectionfactory-instance>
  +                <connectionfactory-instance>
  +                    <name>ThirdTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty">StringValue3</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                    </connectionmanager>
  +                </connectionfactory-instance>
               </connection-definition>
               <transaction-support>XATransaction</transaction-support>
           </outbound-resourceadapter>
  -        <inbound-resourceadapter>
  -        </inbound-resourceadapter>
       </resourceadapter>
   </connector>
  
  
  
  1.2       +57 -57    
incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml
  
  Index: geronimo-ra.xml
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/test-data/connector_1_5/geronimo-ra.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- geronimo-ra.xml   2 Feb 2004 22:10:35 -0000       1.1
  +++ geronimo-ra.xml   8 Feb 2004 20:21:57 -0000       1.2
  @@ -1,76 +1,76 @@
   <?xml version="1.0" encoding="UTF-8"?>
  -<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee";
  -    version="1.5">
  +<connector xmlns="http://org.apache.geronimo/xml/ns/j2ee"; version="1.5">
       <resourceadapter>
           <config-property-setting 
name="RAStringProperty">NewStringValue</config-property-setting>
           
<bootstrapcontext-name>geronimo.jca:service=bootstrapcontext</bootstrapcontext-name>
           <outbound-resourceadapter>
               <connection-definition>
                   
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
  -                <name>FirstTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty1">newvalue1</config-property-setting>
  -                <config-property-setting 
name="OutboundStringProperty3">newvalue2</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                
<global-jndi-name>connectionfactories/testcf</global-jndi-name>
  -            </connection-definition>
  -            <connection-definition>
  -                
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
  -                <name>SecondTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty4">newvalue3</config-property-setting>
  -                <config-property-setting 
name="OutboundStringProperty1">newvalue4</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                <security-domain>YourSecurityDomain</security-domain>
  +                <connectionfactory-instance>
  +                    <name>FirstTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty1">newvalue1</config-property-setting>
  +                    <config-property-setting 
name="OutboundStringProperty3">newvalue2</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                    </connectionmanager>
  +                    
<global-jndi-name>connectionfactories/testcf</global-jndi-name>
  +                </connectionfactory-instance>
  +                <connectionfactory-instance>
  +                    <name>SecondTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty4">newvalue3</config-property-setting>
  +                    <config-property-setting 
name="OutboundStringProperty1">newvalue4</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                     </connectionmanager>
  +                </connectionfactory-instance>
               </connection-definition>
               <connection-definition>
                   
<connectionfactory-interface>org.apache.geronimo.connector.mock.MockConnectionFactory</connectionfactory-interface>
  -                <name>ThirdTestOutboundConnectionFactory</name>
  -                <config-property-setting 
name="OutboundStringProperty">StringValue3</config-property-setting>
  -                <connectionmanager>
  -                    <realm-bridge>TargetRealm</realm-bridge>
  -                    <name>Test</name>
  -                    <blockingTimeout>5000</blockingTimeout>
  -                    <maxSize>10</maxSize>
  -                    <useTransactions>true</useTransactions>
  -                    <useLocalTransactions>false</useLocalTransactions>
  -                    <useTransactionCaching>true</useTransactionCaching>
  -                    <useSubject>true</useSubject>
  -                    
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  -                </connectionmanager>
  -                <security-domain>TheirSecurityDomain</security-domain>
  +                <connectionfactory-instance>
  +                    <name>ThirdTestOutboundConnectionFactory</name>
  +                    <config-property-setting 
name="OutboundStringProperty">StringValue3</config-property-setting>
  +                    <connectionmanager>
  +                        <realm-bridge>TargetRealm</realm-bridge>
  +                        <name>Test</name>
  +                        <blockingTimeout>5000</blockingTimeout>
  +                        <maxSize>10</maxSize>
  +                        <useTransactions>true</useTransactions>
  +                        <useLocalTransactions>false</useLocalTransactions>
  +                        <useTransactionCaching>true</useTransactionCaching>
  +                        
<useConnectionRequestInfo>false</useConnectionRequestInfo>
  +                        <useSubject>true</useSubject>
  +                    </connectionmanager>
  +                </connectionfactory-instance>
               </connection-definition>
               <transaction-support>XATransaction</transaction-support>
           </outbound-resourceadapter>
  -        <inbound-resourceadapter>
  -        </inbound-resourceadapter>
  -        <adminobject>
  -            
<adminobject-interface>org.apache.geronimo.connector.mock.MockAdminObject</adminobject-interface>
  -            
<adminobject-class>org.apache.geronimo.connector.mock.AdminObjectImpl</adminobject-class>
  -            <config-property-setting 
name="Tweedle">Dee-value</config-property-setting>
  -        </adminobject>
           <adminobject>
               
<adminobject-interface>org.apache.geronimo.connector.mock.MockAdminObject</adminobject-interface>
               
<adminobject-class>org.apache.geronimo.connector.mock.AdminObjectImpl</adminobject-class>
  -            <config-property-setting 
name="Tweedle">Dum-value</config-property-setting>
  +            <adminobject-instance>
  +                <adminobject-name>tweedledee</adminobject-name>
  +                <config-property-setting 
name="Tweedle">Dee-value</config-property-setting>
  +            </adminobject-instance>
  +            <adminobject-instance>
  +                <adminobject-name>tweedledum</adminobject-name>
  +                <config-property-setting 
name="Tweedle">Dum-value</config-property-setting>
  +            </adminobject-instance>
           </adminobject>
       </resourceadapter>
   </connector>
  
  
  

Reply via email to