You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2003/11/13 23:22:31 UTC

cvs commit: incubator-geronimo/modules/core/src/test/org/apache/geronimo/xml/deployment ConnectorLoaderTest.java GeronimoConnectorLoaderTest.java

djencks     2003/11/13 14:22:31

  Modified:    modules/core/src/java/org/apache/geronimo/connector/deployment
                        ManagedConnectionFactoryHelper.java
                        ResourceAdapterHelper.java
                        ResourceAdapterHelperImpl.java
               modules/core/src/java/org/apache/geronimo/connector/outbound
                        CachedConnectionManager.java
                        ConnectionManagerDeployment.java
                        MetaCallConnectionInterceptor.java
                        SubjectInterceptor.java
               modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector
                        GeronimoConnectionDefinition.java
                        GeronimoConnectionManagerFactory.java
                        GeronimoConnector.java
                        GeronimoConnectorDocument.java
                        GeronimoInboundResourceAdapter.java
                        GeronimoMessageAdapter.java
                        GeronimoMessageListener.java
                        GeronimoOutboundResourceAdapter.java
                        GeronimoResourceAdapter.java
               modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee
                        JNDILocator.java
               modules/core/src/java/org/apache/geronimo/naming/java
                        ReferenceFactory.java
               modules/core/src/java/org/apache/geronimo/naming/jmx
                        JMXContext.java JMXReferenceFactory.java
                        jmxURLContextFactory.java
               modules/core/src/test/org/apache/geronimo/naming/jmx
                        ContextTest.java TestObject.java
                        TestObjectMBean.java
               modules/core/src/test/org/apache/geronimo/xml/deployment
                        ConnectorLoaderTest.java
                        GeronimoConnectorLoaderTest.java
  Log:
  (hopefully) fix version/date tag and whitespace issues
  
  Revision  Changes    Path
  1.2       +98 -99    incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ManagedConnectionFactoryHelper.java
  
  Index: ManagedConnectionFactoryHelper.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ManagedConnectionFactoryHelper.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ManagedConnectionFactoryHelper.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ ManagedConnectionFactoryHelper.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -71,9 +71,9 @@
   /**
    * ManagedConnectionFactoryHelper
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
  -public class ManagedConnectionFactoryHelper implements GeronimoMBeanTarget{
  +public class ManagedConnectionFactoryHelper implements GeronimoMBeanTarget {
   
       private static final Log log = LogFactory.getLog(ManagedConnectionFactoryHelper.class);
   
  @@ -83,27 +83,27 @@
       private String connectionFactoryInterface;
       private String connectionImplClass;
       private String connectionInterface;
  -    
  +
       private String ConnectionManagerFactoryClass;
   
       private String managedConnectionFactoryClass;
  -    
  +
       private ResourceAdapterHelper resourceAdapterHelper;
       private ConnectionManagerFactory connectionManagerFactory;
  -    
  +
       private Object connectionFactory;
  -    
  -    
  +
  +
       private boolean registered = false;
       private GeronimoMBeanContext mbeanContext;
   
       /* (non-Javadoc)
  -	 * @see org.apache.geronimo.kernel.service.GeronimoMBeanTarget#setMBeanContext(org.apache.geronimo.kernel.service.GeronimoMBeanContext)
  -	 */
  -	public void setMBeanContext(GeronimoMBeanContext mbeanContext) {
  -		this.mbeanContext = mbeanContext;
  -        
  -	}
  +         * @see org.apache.geronimo.kernel.service.GeronimoMBeanTarget#setMBeanContext(org.apache.geronimo.kernel.service.GeronimoMBeanContext)
  +         */
  +    public void setMBeanContext(GeronimoMBeanContext mbeanContext) {
  +        this.mbeanContext = mbeanContext;
  +
  +    }
   
       /* (non-Javadoc)
        * @see org.apache.geronimo.kernel.service.GeronimoMBeanTarget#canStart()
  @@ -132,7 +132,7 @@
        */
       public void doStart() {
           //Set resource adapter on mcf instance if provided
  -        ManagedConnectionFactory mcf = (ManagedConnectionFactory)mbeanContext.getTarget();
  +        ManagedConnectionFactory mcf = (ManagedConnectionFactory) mbeanContext.getTarget();
           boolean doRegister = false;
           synchronized (this) {
               if (!registered) {
  @@ -148,16 +148,16 @@
                       throw new RuntimeException(re);
                   }
               }
  -            
  +
           }
           if (connectionManagerFactory == null) {
               log.info("connectionManagerFactory is not set!!");
               return;
           }
  -		try {
  +        try {
               connectionFactory = connectionManagerFactory.createConnectionFactory(mcf);
           } catch (ResourceException re) {
  -			throw new RuntimeException(re);
  +            throw new RuntimeException(re);
           }
       }
   
  @@ -176,38 +176,38 @@
           return connectionFactoryImplClass;
       }
   
  -	/**
  -	 * @jmx.managed-attribute
  -	 */
  +    /**
  +     * @jmx.managed-attribute
  +     */
       public String getConnectionFactoryInterface() {
           return connectionFactoryInterface;
       }
   
  -	/**
  -	 * @jmx.managed-attribute
  -	 */
  +    /**
  +     * @jmx.managed-attribute
  +     */
       public String getConnectionImplClass() {
           return connectionImplClass;
       }
   
  -	/**
  -	 * @jmx.managed-attribute
  -	 */
  +    /**
  +     * @jmx.managed-attribute
  +     */
       public String getConnectionInterface() {
           return connectionInterface;
       }
   
  -	/**
  -	 * @return Returns the connectionManagerFactoryClass.
  +    /**
  +     * @return Returns the connectionManagerFactoryClass.
        * @jmx.managed-attribute
  -	 */
  -	public String getConnectionManagerFactoryClass() {
  -		return ConnectionManagerFactoryClass;
  -	}
  -
  -	/**
  -	 * @jmx.managed-attribute
  -	 */
  +     */
  +    public String getConnectionManagerFactoryClass() {
  +        return ConnectionManagerFactoryClass;
  +    }
  +
  +    /**
  +     * @jmx.managed-attribute
  +     */
       public String getManagedConnectionFactoryClass() {
           return managedConnectionFactoryClass;
       }
  @@ -218,7 +218,7 @@
        */
       public void setConnectionFactoryImplClass(String clazz) {
           connectionFactoryImplClass = clazz;
  -        
  +
       }
   
       /**
  @@ -226,8 +226,8 @@
        * @jmx.managed-attribute
        */
       public void setConnectionFactoryInterface(String clazz) {
  -       connectionFactoryInterface = clazz;
  -        
  +        connectionFactoryInterface = clazz;
  +
       }
   
       /**
  @@ -236,7 +236,7 @@
        */
       public void setConnectionImplClass(String clazz) {
           connectionImplClass = clazz;
  -        
  +
       }
   
       /**
  @@ -245,16 +245,16 @@
        */
       public void setConnectionInterface(String clazz) {
           connectionInterface = clazz;
  -        
  +
       }
   
  -	/**
  -	 * @param connectionManagerFactoryClass The connectionManagerFactoryClass to set.
  +    /**
  +     * @param connectionManagerFactoryClass The connectionManagerFactoryClass to set.
        * @jmx.managed-attribute
  -	 */
  -	public void setConnectionManagerFactoryClass(String connectionManagerFactoryClass) {
  -		ConnectionManagerFactoryClass = connectionManagerFactoryClass;
  -	}
  +     */
  +    public void setConnectionManagerFactoryClass(String connectionManagerFactoryClass) {
  +        ConnectionManagerFactoryClass = connectionManagerFactoryClass;
  +    }
   
       /**
        * @param string
  @@ -262,9 +262,8 @@
        */
       public void setManagedConnectionFactoryClass(String clazz) {
           managedConnectionFactoryClass = clazz;
  -        
  -    }
   
  +    }
   
   
       /**
  @@ -274,66 +273,66 @@
       public Object getConnectionFactory() {
           return connectionFactory;
       }
  -    
   
  -	/**
  -	 * @return Returns the resourceAdapter.
  -	 */
  -	public ResourceAdapterHelper getResourceAdapterHelper() {
  -		return resourceAdapterHelper;
  -	}
  -
  -	/**
  -	 * @param resourceAdapter The resourceAdapter to set.
  -	 */
  -	public void setResourceAdapterHelper(ResourceAdapterHelper resourceAdapterHelper) {
  -		this.resourceAdapterHelper = resourceAdapterHelper;
  -	}
  -
  -	/**
  -	 * @return Returns the connectionManagerFactory.
  -	 */
  -	public ConnectionManagerFactory getConnectionManagerFactory() {
  -		return connectionManagerFactory;
  -	}
  -
  -	/**
  -	 * @param connectionManagerFactory The connectionManagerFactory to set.
  -	 */
  -	public void setConnectionManagerFactory(ConnectionManagerFactory connectionManagerFactory) {
  -		this.connectionManagerFactory = connectionManagerFactory;
  -	}
   
  -    
  +    /**
  +     * @return Returns the resourceAdapter.
  +     */
  +    public ResourceAdapterHelper getResourceAdapterHelper() {
  +        return resourceAdapterHelper;
  +    }
  +
  +    /**
  +     * @param resourceAdapter The resourceAdapter to set.
  +     */
  +    public void setResourceAdapterHelper(ResourceAdapterHelper resourceAdapterHelper) {
  +        this.resourceAdapterHelper = resourceAdapterHelper;
  +    }
  +
  +    /**
  +     * @return Returns the connectionManagerFactory.
  +     */
  +    public ConnectionManagerFactory getConnectionManagerFactory() {
  +        return connectionManagerFactory;
  +    }
  +
  +    /**
  +     * @param connectionManagerFactory The connectionManagerFactory to set.
  +     */
  +    public void setConnectionManagerFactory(ConnectionManagerFactory connectionManagerFactory) {
  +        this.connectionManagerFactory = connectionManagerFactory;
  +    }
  +
  +
       public static void addMBeanInfo(GeronimoMBeanInfo mbeanInfo,
  -									ObjectName resourceAdapterName,
  -									ObjectName connectionManagerFactoryName) {
  +                                    ObjectName resourceAdapterName,
  +                                    ObjectName connectionManagerFactoryName) {
   
  -		mbeanInfo.setTargetClass(TARGET_NAME, ManagedConnectionFactoryHelper.class.getName());
  -        
  -		GeronimoAttributeInfo attributeInfo;
  -                        //These should all be read only, but this would need values set from attribute info on startup
  -		attributeInfo = new GeronimoAttributeInfo("ConnectionFactoryInterface", true, true, "Interface implemented by the ConnectionFactory", TARGET_NAME);
  -		mbeanInfo.addAttributeInfo(attributeInfo);
  -
  -		attributeInfo = new GeronimoAttributeInfo("ConnectionFactoryImplClass", true, true, "Class of the the ConnectionFactory", TARGET_NAME);
  -		mbeanInfo.addAttributeInfo(attributeInfo);
  +        mbeanInfo.setTargetClass(TARGET_NAME, ManagedConnectionFactoryHelper.class.getName());
   
  -		attributeInfo = new GeronimoAttributeInfo("ConnectionInterface", true, true, "Interface implemented by the Connection", TARGET_NAME);
  -		mbeanInfo.addAttributeInfo(attributeInfo);
  +        GeronimoAttributeInfo attributeInfo;
  +        //These should all be read only, but this would need values set from attribute info on startup
  +        attributeInfo = new GeronimoAttributeInfo("ConnectionFactoryInterface", true, true, "Interface implemented by the ConnectionFactory", TARGET_NAME);
  +        mbeanInfo.addAttributeInfo(attributeInfo);
   
  -		attributeInfo = new GeronimoAttributeInfo("ConnectionImplClass", true, true, "Class of the Connection", TARGET_NAME);
  -		mbeanInfo.addAttributeInfo(attributeInfo);
  +        attributeInfo = new GeronimoAttributeInfo("ConnectionFactoryImplClass", true, true, "Class of the the ConnectionFactory", TARGET_NAME);
  +        mbeanInfo.addAttributeInfo(attributeInfo);
   
  -		attributeInfo = new GeronimoAttributeInfo("ManagedConnectionFactoryClass", true, true, "Class of the ManagedConnectionFactory", TARGET_NAME);
  -		mbeanInfo.addAttributeInfo(attributeInfo);
  +        attributeInfo = new GeronimoAttributeInfo("ConnectionInterface", true, true, "Interface implemented by the Connection", TARGET_NAME);
  +        mbeanInfo.addAttributeInfo(attributeInfo);
  +
  +        attributeInfo = new GeronimoAttributeInfo("ConnectionImplClass", true, true, "Class of the Connection", TARGET_NAME);
  +        mbeanInfo.addAttributeInfo(attributeInfo);
  +
  +        attributeInfo = new GeronimoAttributeInfo("ManagedConnectionFactoryClass", true, true, "Class of the ManagedConnectionFactory", TARGET_NAME);
  +        mbeanInfo.addAttributeInfo(attributeInfo);
   
           mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("ConnectionFactory", true, false, "The ConnectionFactory we deployed", TARGET_NAME));
   
  -		if (resourceAdapterName != null) {
  -		    mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("ResourceAdapterHelper", ResourceAdapterHelper.class.getName(), resourceAdapterName, true, TARGET_NAME));
  -		}
  -		mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("ConnectionManagerFactory", ConnectionManagerFactory.class.getName(), connectionManagerFactoryName, true, TARGET_NAME));
  +        if (resourceAdapterName != null) {
  +            mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("ResourceAdapterHelper", ResourceAdapterHelper.class.getName(), resourceAdapterName, true, TARGET_NAME));
  +        }
  +        mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("ConnectionManagerFactory", ConnectionManagerFactory.class.getName(), connectionManagerFactoryName, true, TARGET_NAME));
   
   
       }
  
  
  
  1.2       +2 -2      incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ResourceAdapterHelper.java
  
  Index: ResourceAdapterHelper.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ResourceAdapterHelper.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ResourceAdapterHelper.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ ResourceAdapterHelper.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -62,10 +62,10 @@
   /**
    * ResourceAdapterHelper
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public interface ResourceAdapterHelper {
  -    
  +
       void registerManagedConnectionFactory(ManagedConnectionFactory mcf) throws ResourceException;
   
   }
  
  
  
  1.2       +12 -12    incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ResourceAdapterHelperImpl.java
  
  Index: ResourceAdapterHelperImpl.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/deployment/ResourceAdapterHelperImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ResourceAdapterHelperImpl.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ ResourceAdapterHelperImpl.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -71,13 +71,13 @@
   /**
    * ResourceAdapterHelperImpl
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class ResourceAdapterHelperImpl implements GeronimoMBeanTarget, ResourceAdapterHelper {
   
       private GeronimoMBeanContext context;
       private ResourceAdapter resourceAdapter;
  -    
  +
       private BootstrapContext bootstrapContext;
       static final String TARGET_NAME = "raHelper";
   
  @@ -99,7 +99,7 @@
        * @see org.apache.geronimo.kernel.service.GeronimoMBeanTarget#doStart()
        */
       public void doStart() {
  -        resourceAdapter = (ResourceAdapter)context.getTarget();  
  +        resourceAdapter = (ResourceAdapter) context.getTarget();
           try {
               resourceAdapter.start(bootstrapContext);
           } catch (ResourceAdapterInternalException re) {
  @@ -119,7 +119,7 @@
        */
       public void doStop() {
           // TODO Auto-generated method stub
  -        
  +
       }
   
       /* (non-Javadoc)
  @@ -127,7 +127,7 @@
        */
       public void doFail() {
           // TODO Auto-generated method stub
  -        
  +
       }
   
       /* (non-Javadoc)
  @@ -150,13 +150,13 @@
       public void setBootstrapContext(BootstrapContext bootstrapContext) {
           this.bootstrapContext = bootstrapContext;
       }
  -    
  -	public static void addMBeanInfo(GeronimoMBeanInfo mbeanInfo,
  -									ObjectName bootstrapContextName) {
  -		mbeanInfo.setTargetClass(TARGET_NAME, ResourceAdapterHelperImpl.class.getName());
  -        
  -		mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("BootstrapContext", BootstrapContext.class.getName(), bootstrapContextName, true, TARGET_NAME));
   
  -	}
  +    public static void addMBeanInfo(GeronimoMBeanInfo mbeanInfo,
  +                                    ObjectName bootstrapContextName) {
  +        mbeanInfo.setTargetClass(TARGET_NAME, ResourceAdapterHelperImpl.class.getName());
  +
  +        mbeanInfo.addEndpoint(new GeronimoMBeanEndpoint("BootstrapContext", BootstrapContext.class.getName(), bootstrapContextName, true, TARGET_NAME));
  +
  +    }
   
   }
  
  
  
  1.2       +88 -88    incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/CachedConnectionManager.java
  
  Index: CachedConnectionManager.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/CachedConnectionManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CachedConnectionManager.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ CachedConnectionManager.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -66,103 +66,103 @@
   import javax.resource.ResourceException;
   
   /**
  - * CachedConnectionManager tracks connections that are in use by 
  - * components such as EJB's.  The component must notify the ccm 
  - * when a method enters and exits.  On entrance, the ccm will 
  - * notify ConnectionManager stacks so the stack can make sure all 
  - * connection handles left open from previous method calls are 
  + * CachedConnectionManager tracks connections that are in use by
  + * components such as EJB's.  The component must notify the ccm
  + * when a method enters and exits.  On entrance, the ccm will
  + * notify ConnectionManager stacks so the stack can make sure all
  + * connection handles left open from previous method calls are
    * attached to ManagedConnections of the correct security context, and
  - *  the ManagedConnections are enrolled in any current transaction.   
  + *  the ManagedConnections are enrolled in any current transaction.
    * On exit, the ccm will notify ConnectionManager stacks of the handles
    * left open, so they may be disassociated if appropriate.
  - * In addition, when a UserTransaction is started the ccm will notify 
  - * ConnectionManager stacks so the existing ManagedConnections can be 
  + * In addition, when a UserTransaction is started the ccm will notify
  + * ConnectionManager stacks so the existing ManagedConnections can be
    * enrolled properly.
  - * 
  + *
    * @todo make sure tx enlistment on method entry works
    * @todo implement UserTransaction notifications and tx enlistment.
    *
  - * @version $VERSION$ $DATE$
  - * 
  + * @version $Revision$ $Date$
  + *
    * */
  -public class CachedConnectionManager  {
  +public class CachedConnectionManager {
   
  -	private final ThreadLocal currentResources = new ThreadLocal();
  +    private final ThreadLocal currentResources = new ThreadLocal();
   
  -	private final ThreadLocal currentKeys = new ThreadLocal();
  +    private final ThreadLocal currentKeys = new ThreadLocal();
   
  -	private final Map keyToResourcesMap = new IdentityHashMap();
  +    private final Map keyToResourcesMap = new IdentityHashMap();
   
  -	public void enter(Object key, Set unshareableResources)
  -		throws ResourceException {
  -		Stack keyStack = (Stack) currentKeys.get();
  -		Map resources = (Map) currentResources.get();
  -		Object oldKey = keyStack.peek();
  -		synchronized (keyToResourcesMap) {
  -			if (!resources.isEmpty()
  -				&& !keyToResourcesMap.containsKey(oldKey)) {
  -				keyToResourcesMap.put(oldKey, resources);
  -			}
  -			resources = (Map) keyToResourcesMap.get(key);
  -		}
  -		keyStack.push(key);
  -		if (resources == null) {
  -			resources = new HashMap();
  -		}
  -		currentResources.set(resources);
  -		for (Iterator i = resources.entrySet().iterator(); i.hasNext();) {
  -			Map.Entry entry = (Map.Entry) i.next();
  -			MetaCallConnectionInterceptor mcci =
  -				(MetaCallConnectionInterceptor) entry.getKey();
  -			Set connections = (Set) entry.getValue();
  -			mcci.enter(connections, unshareableResources);
  -		}
  -	}
  -
  -	public void exit(Object key, Set unshareableResources)
  -		throws ResourceException {
  -		Stack keyStack = (Stack) currentKeys.get();
  -		assert key
  -			== keyStack.pop() : "Did not pop the expected key on method exit";
  -		Map resources = (Map) currentResources.get();
  -		for (Iterator i = resources.entrySet().iterator(); i.hasNext();) {
  -			Map.Entry entry = (Map.Entry) i.next();
  -			MetaCallConnectionInterceptor mcci =
  -				(MetaCallConnectionInterceptor) entry.getKey();
  -			Set connections = (Set) entry.getValue();
  -			mcci.exit(connections, unshareableResources);
  -			if (connections.isEmpty()) {
  -				i.remove();
  -			}
  -
  -		}
  -		Object previousKey = keyStack.peek();
  -		synchronized (keyToResourcesMap) {
  -			if (resources.isEmpty()) {
  -				keyToResourcesMap.remove(key);
  -			} else {
  -				keyToResourcesMap.put(key, resources);
  -			}
  -			resources = (Map) keyToResourcesMap.get(previousKey);
  -		}
  -		currentResources.set(resources);
  -
  -	}
  -
  -	public void handleObtained(
  -		MetaCallConnectionInterceptor mcci,
  -		ConnectionInfo ci) {
  -		Map resources = (Map) currentResources.get();
  -		Set infos = (Set) resources.get(mcci);
  -		infos.add(ci);
  -	}
  -
  -	public void handleReleased(
  -		MetaCallConnectionInterceptor mcci,
  -		ConnectionInfo ci) {
  -		Map resources = (Map) currentResources.get();
  -		Set infos = (Set) resources.get(mcci);
  -		//It's not at all clear that an equal ci will be supplied here
  -		infos.remove(ci);
  -	}
  -}
  \ No newline at end of file
  +    public void enter(Object key, Set unshareableResources)
  +            throws ResourceException {
  +        Stack keyStack = (Stack) currentKeys.get();
  +        Map resources = (Map) currentResources.get();
  +        Object oldKey = keyStack.peek();
  +        synchronized (keyToResourcesMap) {
  +            if (!resources.isEmpty()
  +                    && !keyToResourcesMap.containsKey(oldKey)) {
  +                keyToResourcesMap.put(oldKey, resources);
  +            }
  +            resources = (Map) keyToResourcesMap.get(key);
  +        }
  +        keyStack.push(key);
  +        if (resources == null) {
  +            resources = new HashMap();
  +        }
  +        currentResources.set(resources);
  +        for (Iterator i = resources.entrySet().iterator(); i.hasNext();) {
  +            Map.Entry entry = (Map.Entry) i.next();
  +            MetaCallConnectionInterceptor mcci =
  +                    (MetaCallConnectionInterceptor) entry.getKey();
  +            Set connections = (Set) entry.getValue();
  +            mcci.enter(connections, unshareableResources);
  +        }
  +    }
  +
  +    public void exit(Object key, Set unshareableResources)
  +            throws ResourceException {
  +        Stack keyStack = (Stack) currentKeys.get();
  +        assert key
  +                == keyStack.pop() : "Did not pop the expected key on method exit";
  +        Map resources = (Map) currentResources.get();
  +        for (Iterator i = resources.entrySet().iterator(); i.hasNext();) {
  +            Map.Entry entry = (Map.Entry) i.next();
  +            MetaCallConnectionInterceptor mcci =
  +                    (MetaCallConnectionInterceptor) entry.getKey();
  +            Set connections = (Set) entry.getValue();
  +            mcci.exit(connections, unshareableResources);
  +            if (connections.isEmpty()) {
  +                i.remove();
  +            }
  +
  +        }
  +        Object previousKey = keyStack.peek();
  +        synchronized (keyToResourcesMap) {
  +            if (resources.isEmpty()) {
  +                keyToResourcesMap.remove(key);
  +            } else {
  +                keyToResourcesMap.put(key, resources);
  +            }
  +            resources = (Map) keyToResourcesMap.get(previousKey);
  +        }
  +        currentResources.set(resources);
  +
  +    }
  +
  +    public void handleObtained(
  +            MetaCallConnectionInterceptor mcci,
  +            ConnectionInfo ci) {
  +        Map resources = (Map) currentResources.get();
  +        Set infos = (Set) resources.get(mcci);
  +        infos.add(ci);
  +    }
  +
  +    public void handleReleased(
  +            MetaCallConnectionInterceptor mcci,
  +            ConnectionInfo ci) {
  +        Map resources = (Map) currentResources.get();
  +        Set infos = (Set) resources.get(mcci);
  +        //It's not at all clear that an equal ci will be supplied here
  +        infos.remove(ci);
  +    }
  +}
  
  
  
  1.2       +284 -284  incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/ConnectionManagerDeployment.java
  
  Index: ConnectionManagerDeployment.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/ConnectionManagerDeployment.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConnectionManagerDeployment.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ ConnectionManagerDeployment.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -69,59 +69,59 @@
   import org.apache.geronimo.kernel.jmx.JMXUtil;
   
   /**
  - * ConnectionManagerDeployment is an mbean that sets up a ProxyConnectionManager 
  + * ConnectionManagerDeployment is an mbean that sets up a ProxyConnectionManager
    * and connection manager stack according to the policies described in the attributes.
    * It's used by deserialized copies of the proxy to get a reference to the actual stack.
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    * */
   public class ConnectionManagerDeployment
   
  -	implements GeronimoMBeanTarget, ConnectionManagerFactory {
  +        implements GeronimoMBeanTarget, ConnectionManagerFactory {
   
  -	private final static String MBEAN_SERVER_DELEGATE =
  -		"JMImplementation:type=MBeanServerDelegate";
  +    private final static String MBEAN_SERVER_DELEGATE =
  +            "JMImplementation:type=MBeanServerDelegate";
   
  -	/**
  -	 * The original Serializable ProxyConnectionManager that provides the 
  -	 * ConnectionManager implementation.
  -	 */
  -	private ProxyConnectionManager cm;
  -	
  -	//connection manager configuration choices
  -	private boolean useConnectionRequestInfo;
  -	private boolean useSubject;
  -	private boolean useTransactionCaching;
  -	private boolean useLocalTransactions;
  -	private boolean useTransactions;
  -	private int maxSize;
  -	private int blockingTimeout;
  -	
  -	
  -	//dependencies
  -	
  -	/**
  -	 * (proxy for) the security domain object
  -	 */
  -	private SecurityDomain securityDomain;
  -	
  -	/**
  -	 * The actual TransactionManager we get
  -	 */
  -	private TransactionManager transactionManager;
  -	
  -	/**
  -	 * Identifying string used by unshareable resource detection
  -	 */
  -	private String jndiName;
  +    /**
  +     * The original Serializable ProxyConnectionManager that provides the
  +     * ConnectionManager implementation.
  +     */
  +    private ProxyConnectionManager cm;
  +
  +    //connection manager configuration choices
  +    private boolean useConnectionRequestInfo;
  +    private boolean useSubject;
  +    private boolean useTransactionCaching;
  +    private boolean useLocalTransactions;
  +    private boolean useTransactions;
  +    private int maxSize;
  +    private int blockingTimeout;
  +
  +
  +    //dependencies
  +
  +    /**
  +     * (proxy for) the security domain object
  +     */
  +    private SecurityDomain securityDomain;
  +
  +    /**
  +     * The actual TransactionManager we get
  +     */
  +    private TransactionManager transactionManager;
  +
  +    /**
  +     * Identifying string used by unshareable resource detection
  +     */
  +    private String jndiName;
   
       private GeronimoMBeanContext context;
   
   
  -	/**
  -	 * Actual CachedConnectionManager we relate to.
  -	 */
  -	private CachedConnectionManager cachedConnectionManager;
  +    /**
  +     * Actual CachedConnectionManager we relate to.
  +     */
  +    private CachedConnectionManager cachedConnectionManager;
   
       public void setMBeanContext(GeronimoMBeanContext context) {
           this.context = context;
  @@ -132,268 +132,268 @@
       }
   
       /* (non-Javadoc)
  -	 * @see org.apache.geronimo.core.service.AbstractStateManageable#doStart()
  -	 */
  +         * @see org.apache.geronimo.core.service.AbstractStateManageable#doStart()
  +         */
       public void doStart() {
  -		//check for consistency between attributes
  -		useTransactions = (transactionManager != null);
  -		if (securityDomain == null){
  -			assert useSubject == false: "To use Subject in pooling, you need a SecurityDomain";
  -		}
  -		
  -		//Set up the interceptor stack
  -		ConnectionInterceptor stack = new MCFConnectionInterceptor(this);
  -		if (useTransactions) {
  -			if (useLocalTransactions) {
  -				stack = new LocalXAResourceInsertionInterceptor(stack);
  -			} else {
  -				stack = new XAResourceInsertionInterceptor(stack);
  -			}
  -		}
  -		if (useSubject || useConnectionRequestInfo) {
  -			stack =
  -				new MultiPoolConnectionInterceptor(
  -					stack,
  -					maxSize,
  -					blockingTimeout,
  -					useSubject,
  -					useConnectionRequestInfo);
  -		} else {
  -			stack =
  -				new SinglePoolConnectionInterceptor(
  -					stack,
  -					null,
  -					null,
  -					maxSize,
  -					blockingTimeout);
  -		}
  -		if (securityDomain != null) {
  -		stack = new SubjectInterceptor(stack, securityDomain);
  -		}
  -		if (useTransactions) {
  -			stack =
  -				new TransactionEnlistingInterceptor(stack, transactionManager);
  -			if (useTransactionCaching) {
  -				stack =
  -					new TransactionCachingInterceptor(
  -						stack,
  -						transactionManager);
  -			}
  -		}
  -		stack = new ConnectionHandleInterceptor(stack);
  -		if (cachedConnectionManager != null){
  -		    stack =
  -				new MetaCallConnectionInterceptor(
  -		            stack,
  -		            jndiName,
  -		            cachedConnectionManager,
  -		            securityDomain);
  -		}
  -		
  -		ObjectName name = JMXUtil.getObjectName(MBEAN_SERVER_DELEGATE);
  +        //check for consistency between attributes
  +        useTransactions = (transactionManager != null);
  +        if (securityDomain == null) {
  +            assert useSubject == false: "To use Subject in pooling, you need a SecurityDomain";
  +        }
  +
  +        //Set up the interceptor stack
  +        ConnectionInterceptor stack = new MCFConnectionInterceptor(this);
  +        if (useTransactions) {
  +            if (useLocalTransactions) {
  +                stack = new LocalXAResourceInsertionInterceptor(stack);
  +            } else {
  +                stack = new XAResourceInsertionInterceptor(stack);
  +            }
  +        }
  +        if (useSubject || useConnectionRequestInfo) {
  +            stack =
  +                    new MultiPoolConnectionInterceptor(
  +                            stack,
  +                            maxSize,
  +                            blockingTimeout,
  +                            useSubject,
  +                            useConnectionRequestInfo);
  +        } else {
  +            stack =
  +                    new SinglePoolConnectionInterceptor(
  +                            stack,
  +                            null,
  +                            null,
  +                            maxSize,
  +                            blockingTimeout);
  +        }
  +        if (securityDomain != null) {
  +            stack = new SubjectInterceptor(stack, securityDomain);
  +        }
  +        if (useTransactions) {
  +            stack =
  +                    new TransactionEnlistingInterceptor(stack, transactionManager);
  +            if (useTransactionCaching) {
  +                stack =
  +                        new TransactionCachingInterceptor(
  +                                stack,
  +                                transactionManager);
  +            }
  +        }
  +        stack = new ConnectionHandleInterceptor(stack);
  +        if (cachedConnectionManager != null) {
  +            stack =
  +                    new MetaCallConnectionInterceptor(
  +                            stack,
  +                            jndiName,
  +                            cachedConnectionManager,
  +                            securityDomain);
  +        }
  +
  +        ObjectName name = JMXUtil.getObjectName(MBEAN_SERVER_DELEGATE);
           try {
  -		    String agentID = (String) context.getServer().getAttribute(name, "MBeanServerId");
  -		    cm = new ProxyConnectionManager(agentID, context.getObjectName(), stack);
  +            String agentID = (String) context.getServer().getAttribute(name, "MBeanServerId");
  +            cm = new ProxyConnectionManager(agentID, context.getObjectName(), stack);
           } catch (Exception e) {
               throw new RuntimeException("Problem getting agentID from MBeanServerDelegate", e);
           }
   
  -	}
  +    }
   
       public boolean canStop() {
           return true;
       }
   
       /* (non-Javadoc)
  -	 * @see org.apache.geronimo.core.service.AbstractStateManageable#doStop()
  -	 */
  +         * @see org.apache.geronimo.core.service.AbstractStateManageable#doStop()
  +         */
       public void doStop() {
  -		cm = null;
  -		securityDomain = null;
  -		transactionManager = null;
  -		cachedConnectionManager = null;
  +        cm = null;
  +        securityDomain = null;
  +        transactionManager = null;
  +        cachedConnectionManager = null;
   
  -	}
  +    }
   
       public void doFail() {
       }
   
       /**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public ConnectionInterceptor getStack() {
  -		return cm.getStack();
  -	}
  -
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-operation
  -	 */
  -	public Object createConnectionFactory(ManagedConnectionFactory mcf) throws ResourceException {
  -	    return mcf.createConnectionFactory(cm);
  -	}
  -	
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public int getBlockingTimeout() {
  -		return blockingTimeout;
  -	}
  -
  -	/**
  -	 * @param blockingTimeout
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setBlockingTimeout(int blockingTimeout) {
  -		this.blockingTimeout = blockingTimeout;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public CachedConnectionManager getCachedConnectionManager() {
  -		return cachedConnectionManager;
  -	}
  -
  -	/**
  -	 * @param cachedConnectionManager
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setCachedConnectionManager(CachedConnectionManager cachedConnectionManager) {
  -		this.cachedConnectionManager = cachedConnectionManager;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public String getJndiName() {
  -		return jndiName;
  -	}
  -
  -	/**
  -	 * @param jndiName
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setJndiName(String jndiName) {
  -		this.jndiName = jndiName;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public int getMaxSize() {
  -		return maxSize;
  -	}
  -
  -	/**
  -	 * @param maxSize
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setMaxSize(int maxSize) {
  -		this.maxSize = maxSize;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public SecurityDomain getSecurityDomain() {
  -		return securityDomain;
  -	}
  -
  -	/**
  -	 * @param securityDomain
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setSecurityDomain(SecurityDomain securityDomain) {
  -		this.securityDomain = securityDomain;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public TransactionManager getTransactionManager() {
  -		return transactionManager;
  -	}
  -
  -	/**
  -	 * @param transactionManager
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setTransactionManager(TransactionManager transactionManager) {
  -		this.transactionManager = transactionManager;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public boolean isUseConnectionRequestInfo() {
  -		return useConnectionRequestInfo;
  -	}
  -
  -	/**
  -	 * @param useConnectionRequestInfo
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setUseConnectionRequestInfo(boolean useConnectionRequestInfo) {
  -		this.useConnectionRequestInfo = useConnectionRequestInfo;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public boolean isUseLocalTransactions() {
  -		return useLocalTransactions;
  -	}
  -
  -	/**
  -	 * @param useLocalTransactions
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setUseLocalTransactions(boolean useLocalTransactions) {
  -		this.useLocalTransactions = useLocalTransactions;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public boolean isUseSubject() {
  -		return useSubject;
  -	}
  -
  -	/**
  -	 * @param useSubject
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setUseSubject(boolean useSubject) {
  -		this.useSubject = useSubject;
  -	}
  -
  -	/**
  -	 * @return
  -	 * @jmx.managed-attribute
  -	 */
  -	public boolean isUseTransactionCaching() {
  -		return useTransactionCaching;
  -	}
  -
  -	/**
  -	 * @param useTransactionCaching
  -	 * @jmx.managed-attribute
  -	 */
  -	public void setUseTransactionCaching(boolean useTransactionCaching) {
  -		this.useTransactionCaching = useTransactionCaching;
  -	}
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public ConnectionInterceptor getStack() {
  +        return cm.getStack();
  +    }
  +
  +
  +    /**
  +     * @return
  +     * @jmx.managed-operation
  +     */
  +    public Object createConnectionFactory(ManagedConnectionFactory mcf) throws ResourceException {
  +        return mcf.createConnectionFactory(cm);
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public int getBlockingTimeout() {
  +        return blockingTimeout;
  +    }
  +
  +    /**
  +     * @param blockingTimeout
  +     * @jmx.managed-attribute
  +     */
  +    public void setBlockingTimeout(int blockingTimeout) {
  +        this.blockingTimeout = blockingTimeout;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public CachedConnectionManager getCachedConnectionManager() {
  +        return cachedConnectionManager;
  +    }
  +
  +    /**
  +     * @param cachedConnectionManager
  +     * @jmx.managed-attribute
  +     */
  +    public void setCachedConnectionManager(CachedConnectionManager cachedConnectionManager) {
  +        this.cachedConnectionManager = cachedConnectionManager;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public String getJndiName() {
  +        return jndiName;
  +    }
  +
  +    /**
  +     * @param jndiName
  +     * @jmx.managed-attribute
  +     */
  +    public void setJndiName(String jndiName) {
  +        this.jndiName = jndiName;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public int getMaxSize() {
  +        return maxSize;
  +    }
  +
  +    /**
  +     * @param maxSize
  +     * @jmx.managed-attribute
  +     */
  +    public void setMaxSize(int maxSize) {
  +        this.maxSize = maxSize;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public SecurityDomain getSecurityDomain() {
  +        return securityDomain;
  +    }
  +
  +    /**
  +     * @param securityDomain
  +     * @jmx.managed-attribute
  +     */
  +    public void setSecurityDomain(SecurityDomain securityDomain) {
  +        this.securityDomain = securityDomain;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public TransactionManager getTransactionManager() {
  +        return transactionManager;
  +    }
  +
  +    /**
  +     * @param transactionManager
  +     * @jmx.managed-attribute
  +     */
  +    public void setTransactionManager(TransactionManager transactionManager) {
  +        this.transactionManager = transactionManager;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public boolean isUseConnectionRequestInfo() {
  +        return useConnectionRequestInfo;
  +    }
  +
  +    /**
  +     * @param useConnectionRequestInfo
  +     * @jmx.managed-attribute
  +     */
  +    public void setUseConnectionRequestInfo(boolean useConnectionRequestInfo) {
  +        this.useConnectionRequestInfo = useConnectionRequestInfo;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public boolean isUseLocalTransactions() {
  +        return useLocalTransactions;
  +    }
  +
  +    /**
  +     * @param useLocalTransactions
  +     * @jmx.managed-attribute
  +     */
  +    public void setUseLocalTransactions(boolean useLocalTransactions) {
  +        this.useLocalTransactions = useLocalTransactions;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public boolean isUseSubject() {
  +        return useSubject;
  +    }
  +
  +    /**
  +     * @param useSubject
  +     * @jmx.managed-attribute
  +     */
  +    public void setUseSubject(boolean useSubject) {
  +        this.useSubject = useSubject;
  +    }
  +
  +    /**
  +     * @return
  +     * @jmx.managed-attribute
  +     */
  +    public boolean isUseTransactionCaching() {
  +        return useTransactionCaching;
  +    }
  +
  +    /**
  +     * @param useTransactionCaching
  +     * @jmx.managed-attribute
  +     */
  +    public void setUseTransactionCaching(boolean useTransactionCaching) {
  +        this.useTransactionCaching = useTransactionCaching;
  +    }
   
   
   }
  
  
  
  1.2       +98 -98    incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/MetaCallConnectionInterceptor.java
  
  Index: MetaCallConnectionInterceptor.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/MetaCallConnectionInterceptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MetaCallConnectionInterceptor.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ MetaCallConnectionInterceptor.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -66,109 +66,109 @@
   import java.util.Iterator;
   
   /**
  - * MetaCallConnectionInterceptor.java handles communication with the 
  - * CachedConnectionManager.  On method call entry, cached handles are 
  - * checked for the correct Subject.  On method call exit, cached 
  - * handles are disassociated if possible. On getting or releasing 
  - * a connection the CachedConnectionManager is notified. 
  + * MetaCallConnectionInterceptor.java handles communication with the
  + * CachedConnectionManager.  On method call entry, cached handles are
  + * checked for the correct Subject.  On method call exit, cached
  + * handles are disassociated if possible. On getting or releasing
  + * a connection the CachedConnectionManager is notified.
    *
    *
    * Created: Fri Oct 10 19:14:16 2003
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class MetaCallConnectionInterceptor implements ConnectionInterceptor {
   
  -	private final ConnectionInterceptor next;
  -	private final String jndiName;
  -	private final CachedConnectionManager ccm;
  -	private final SecurityDomain securityDomain;
  -
  -	public MetaCallConnectionInterceptor(
  -		final ConnectionInterceptor next,
  -		final String jndiName,
  -		final CachedConnectionManager ccm,
  -		final SecurityDomain securityDomain) {
  -		this.next = next;
  -		this.jndiName = jndiName;
  -		this.ccm = ccm;
  -		this.securityDomain = securityDomain;
  -	}
  -
  -	public void getConnection(ConnectionInfo ci) throws ResourceException {
  -		next.getConnection(ci);
  -		ccm.handleObtained(this, ci);
  -	}
  -
  -	public void returnConnection(
  -		ConnectionInfo ci,
  -		ConnectionReturnAction cra) {
  -		ccm.handleReleased(this, ci);
  -		next.returnConnection(ci, cra);
  -	}
  -
  -	public void enter(Collection connectionInfos, Set unshareable)
  -		throws ResourceException {
  -		if (unshareable.contains(jndiName)) {
  -			//should probably check to see if subjects are consistent,
  -			//and if not raise an exception.  Also need to check if
  -			//the spec says anything about this.
  -			return;
  -		} // end of if ()
  -		if (securityDomain == null) {
  -			return;
  -		}
  -		Subject currentSubject = null;
  -		try {
  -			currentSubject = securityDomain.getSubject();
  -		} catch (SecurityException e) {
  -			throw new ResourceException("Can not obtain Subject for login", e);
  -		} // end of try-catch
  -		if (currentSubject == null) {
  -			//check to see if mci.getSubject() is null?
  -			return;
  -		} // end of if ()
  -		for (Iterator i = connectionInfos.iterator(); i.hasNext();) {
  -			ConnectionInfo ci = (ConnectionInfo) i.next();
  -			ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  -			//Is this check correct?  perhaps more credentials got
  -			//added without changing the relevant credential we use.
  -			if (!currentSubject.equals(mci.getSubject())) {
  -				//make a ci to process removing the handle from the old mc
  -				ConnectionInfo oldCI = new ConnectionInfo();
  -				oldCI.setManagedConnectionInfo(mci);
  -				oldCI.setConnectionHandle(ci.getConnectionHandle());
  -
  -				//make a new mci for the mc we will ask for
  -				ManagedConnectionInfo newMCI =
  -					new ManagedConnectionInfo(
  -						mci.getManagedConnectionFactory(),
  -						mci.getConnectionRequestInfo());
  -				newMCI.setSubject(currentSubject);
  -				ci.setManagedConnectionInfo(newMCI);
  -				next.getConnection(ci);
  -				//process the removal of the handle from the previous mc
  -				returnConnection(oldCI, ConnectionReturnAction.RETURN_HANDLE);
  -			} // end of if ()
  -		} // end of for ()
  -
  -	}
  -
  -	public void exit(Collection connectionInfos, Set unshareableResources)
  -		throws ResourceException {
  -		if (unshareableResources.contains(jndiName)) {
  -			return;
  -		} // end of if ()
  -		for (Iterator i = connectionInfos.iterator(); i.hasNext();) {
  -			ConnectionInfo ci = (ConnectionInfo) i.next();
  -			ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  -			ManagedConnection mc = mci.getManagedConnection();
  -			if (mc instanceof DissociatableManagedConnection) {
  -				i.remove();
  -				((DissociatableManagedConnection) mc).dissociateConnections();
  -				mci.clearConnectionHandles();
  -				returnConnection(ci, ConnectionReturnAction.RETURN_HANDLE);
  -			} // end of if ()
  -		}
  -	}
  +    private final ConnectionInterceptor next;
  +    private final String jndiName;
  +    private final CachedConnectionManager ccm;
  +    private final SecurityDomain securityDomain;
  +
  +    public MetaCallConnectionInterceptor(
  +            final ConnectionInterceptor next,
  +            final String jndiName,
  +            final CachedConnectionManager ccm,
  +            final SecurityDomain securityDomain) {
  +        this.next = next;
  +        this.jndiName = jndiName;
  +        this.ccm = ccm;
  +        this.securityDomain = securityDomain;
  +    }
  +
  +    public void getConnection(ConnectionInfo ci) throws ResourceException {
  +        next.getConnection(ci);
  +        ccm.handleObtained(this, ci);
  +    }
  +
  +    public void returnConnection(
  +            ConnectionInfo ci,
  +            ConnectionReturnAction cra) {
  +        ccm.handleReleased(this, ci);
  +        next.returnConnection(ci, cra);
  +    }
  +
  +    public void enter(Collection connectionInfos, Set unshareable)
  +            throws ResourceException {
  +        if (unshareable.contains(jndiName)) {
  +            //should probably check to see if subjects are consistent,
  +            //and if not raise an exception.  Also need to check if
  +            //the spec says anything about this.
  +            return;
  +        } // end of if ()
  +        if (securityDomain == null) {
  +            return;
  +        }
  +        Subject currentSubject = null;
  +        try {
  +            currentSubject = securityDomain.getSubject();
  +        } catch (SecurityException e) {
  +            throw new ResourceException("Can not obtain Subject for login", e);
  +        } // end of try-catch
  +        if (currentSubject == null) {
  +            //check to see if mci.getSubject() is null?
  +            return;
  +        } // end of if ()
  +        for (Iterator i = connectionInfos.iterator(); i.hasNext();) {
  +            ConnectionInfo ci = (ConnectionInfo) i.next();
  +            ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  +            //Is this check correct?  perhaps more credentials got
  +            //added without changing the relevant credential we use.
  +            if (!currentSubject.equals(mci.getSubject())) {
  +                //make a ci to process removing the handle from the old mc
  +                ConnectionInfo oldCI = new ConnectionInfo();
  +                oldCI.setManagedConnectionInfo(mci);
  +                oldCI.setConnectionHandle(ci.getConnectionHandle());
  +
  +                //make a new mci for the mc we will ask for
  +                ManagedConnectionInfo newMCI =
  +                        new ManagedConnectionInfo(
  +                                mci.getManagedConnectionFactory(),
  +                                mci.getConnectionRequestInfo());
  +                newMCI.setSubject(currentSubject);
  +                ci.setManagedConnectionInfo(newMCI);
  +                next.getConnection(ci);
  +                //process the removal of the handle from the previous mc
  +                returnConnection(oldCI, ConnectionReturnAction.RETURN_HANDLE);
  +            } // end of if ()
  +        } // end of for ()
  +
  +    }
  +
  +    public void exit(Collection connectionInfos, Set unshareableResources)
  +            throws ResourceException {
  +        if (unshareableResources.contains(jndiName)) {
  +            return;
  +        } // end of if ()
  +        for (Iterator i = connectionInfos.iterator(); i.hasNext();) {
  +            ConnectionInfo ci = (ConnectionInfo) i.next();
  +            ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  +            ManagedConnection mc = mci.getManagedConnection();
  +            if (mc instanceof DissociatableManagedConnection) {
  +                i.remove();
  +                ((DissociatableManagedConnection) mc).dissociateConnections();
  +                mci.clearConnectionHandles();
  +                returnConnection(ci, ConnectionReturnAction.RETURN_HANDLE);
  +            } // end of if ()
  +        }
  +    }
   } // MetaCallConnectionInterceptor
  
  
  
  1.2       +25 -25    incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/SubjectInterceptor.java
  
  Index: SubjectInterceptor.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/SubjectInterceptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SubjectInterceptor.java	11 Nov 2003 21:11:56 -0000	1.1
  +++ SubjectInterceptor.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -65,36 +65,36 @@
    *
    * Created: Mon Oct  6 14:31:56 2003
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class SubjectInterceptor implements ConnectionInterceptor {
   
  -	private final ConnectionInterceptor next;
  -	private final SecurityDomain securityDomain;
  +    private final ConnectionInterceptor next;
  +    private final SecurityDomain securityDomain;
   
  -	public SubjectInterceptor(
  -		final ConnectionInterceptor next,
  -		final SecurityDomain securityDomain) {
  -		this.next = next;
  -		this.securityDomain = securityDomain;
  -	} // SubjectInterceptor constructor
  +    public SubjectInterceptor(
  +            final ConnectionInterceptor next,
  +            final SecurityDomain securityDomain) {
  +        this.next = next;
  +        this.securityDomain = securityDomain;
  +    } // SubjectInterceptor constructor
   
  -	public void getConnection(ConnectionInfo ci) throws ResourceException {
  -		Subject subject = null;
  -		try {
  -			subject = securityDomain.getSubject();
  -		} catch (SecurityException e) {
  -			throw new ResourceException("Can not obtain Subject for login", e);
  -		} // end of try-catch
  -		ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  -		mci.setSubject(subject);
  -		next.getConnection(ci);
  -	}
  +    public void getConnection(ConnectionInfo ci) throws ResourceException {
  +        Subject subject = null;
  +        try {
  +            subject = securityDomain.getSubject();
  +        } catch (SecurityException e) {
  +            throw new ResourceException("Can not obtain Subject for login", e);
  +        } // end of try-catch
  +        ManagedConnectionInfo mci = ci.getManagedConnectionInfo();
  +        mci.setSubject(subject);
  +        next.getConnection(ci);
  +    }
   
  -	public void returnConnection(
  -		ConnectionInfo ci,
  -		ConnectionReturnAction cra) {
  -		next.returnConnection(ci, cra);
  -	}
  +    public void returnConnection(
  +            ConnectionInfo ci,
  +            ConnectionReturnAction cra) {
  +        next.returnConnection(ci, cra);
  +    }
   
   } // SubjectInterceptor
  
  
  
  1.2       +9 -9      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectionDefinition.java
  
  Index: GeronimoConnectionDefinition.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectionDefinition.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoConnectionDefinition.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoConnectionDefinition.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,21 +61,21 @@
   /**
    * GeronimoConnectionDefinition
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoConnectionDefinition extends ConnectionDefinition {
  -    
  +
       private String name;
       private GeronimoConnectionManagerFactory geronimoConnectionManagerFactory;
       private String securityDomain;
  -    
  +
       public GeronimoConnectionDefinition(ConnectionDefinition connectionDefinition) {
  -		setManagedConnectionFactoryClass(connectionDefinition.getManagedConnectionFactoryClass());
  -		setConfigProperty(GeronimoResourceAdapter.copyConfigProperties(connectionDefinition.getConfigProperty()));
  -		setConnectionFactoryInterface(connectionDefinition.getConnectionFactoryInterface());
  -		setConnectionFactoryImplClass(connectionDefinition.getConnectionFactoryImplClass());
  -		setConnectionInterface(connectionDefinition.getConnectionInterface());
  -		setConnectionImplClass(connectionDefinition.getConnectionImplClass());
  +        setManagedConnectionFactoryClass(connectionDefinition.getManagedConnectionFactoryClass());
  +        setConfigProperty(GeronimoResourceAdapter.copyConfigProperties(connectionDefinition.getConfigProperty()));
  +        setConnectionFactoryInterface(connectionDefinition.getConnectionFactoryInterface());
  +        setConnectionFactoryImplClass(connectionDefinition.getConnectionFactoryImplClass());
  +        setConnectionInterface(connectionDefinition.getConnectionInterface());
  +        setConnectionImplClass(connectionDefinition.getConnectionImplClass());
       }
   
       /**
  
  
  
  1.2       +3 -3      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectionManagerFactory.java
  
  Index: GeronimoConnectionManagerFactory.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectionManagerFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoConnectionManagerFactory.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoConnectionManagerFactory.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -62,12 +62,12 @@
   /**
    * GeronimoConnectionManagerFactory
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoConnectionManagerFactory implements Configurable {
  -    
  +
       private String connectionManagerFactoryDescriptor;
  -    
  +
       private ConfigProperty[] configProperty = new ConfigProperty[0];
   
       /* (non-Javadoc)
  
  
  
  1.2       +10 -10    incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnector.java
  
  Index: GeronimoConnector.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnector.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoConnector.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoConnector.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,21 +61,21 @@
   /**
    * GeronimoConnector
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoConnector extends Connector {
  -   
  +
       public GeronimoConnector(Connector connector) {
  -		//TODO copy displayable stuff
  -		setVendorName(connector.getVendorName());
  -		setEisType(connector.getEisType());
  -		setResourceAdapterVersion(connector.getResourceAdapterVersion());
  -		setLicense(connector.getLicense());
  -		setVersion(connector.getVersion());
  +        //TODO copy displayable stuff
  +        setVendorName(connector.getVendorName());
  +        setEisType(connector.getEisType());
  +        setResourceAdapterVersion(connector.getResourceAdapterVersion());
  +        setLicense(connector.getLicense());
  +        setVersion(connector.getVersion());
       }
  -    
  +
       public GeronimoResourceAdapter getGeronimoResourceAdapter() {
  -        return (GeronimoResourceAdapter)getResourceAdapter();
  +        return (GeronimoResourceAdapter) getResourceAdapter();
       }
   
   }
  
  
  
  1.2       +11 -11    incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectorDocument.java
  
  Index: GeronimoConnectorDocument.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoConnectorDocument.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoConnectorDocument.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoConnectorDocument.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,18 +61,18 @@
   /**
    * GeronimoConnectorDocument
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoConnectorDocument extends ConnectorDocument {
  -    
  -	private final static String geronimofileName = "geronimo-ra.xml";
   
  -	public String getFileName() {
  -		return geronimofileName;
  -	}
  -	
  -	public GeronimoConnector getGeronimoConnector() {
  -	    return (GeronimoConnector)getConnector();
  -	}
  -	
  +    private final static String geronimofileName = "geronimo-ra.xml";
  +
  +    public String getFileName() {
  +        return geronimofileName;
  +    }
  +
  +    public GeronimoConnector getGeronimoConnector() {
  +        return (GeronimoConnector) getConnector();
  +    }
  +
   }
  
  
  
  1.2       +3 -3      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoInboundResourceAdapter.java
  
  Index: GeronimoInboundResourceAdapter.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoInboundResourceAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoInboundResourceAdapter.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoInboundResourceAdapter.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,12 +61,12 @@
   /**
    * GeronimoInboundResourceAdapter
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoInboundResourceAdapter extends InboundResourceAdapter {
  -    
  +
       public GeronimoMessageAdapter getGeronimoMessageAdapter() {
  -        return (GeronimoMessageAdapter)getMessageAdapter();
  +        return (GeronimoMessageAdapter) getMessageAdapter();
       }
   
   }
  
  
  
  1.2       +4 -4      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoMessageAdapter.java
  
  Index: GeronimoMessageAdapter.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoMessageAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoMessageAdapter.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoMessageAdapter.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,16 +61,16 @@
   /**
    * GeronimoMessageAdapter
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoMessageAdapter extends MessageAdapter {
  -    
  +
       public GeronimoMessageListener[] getGeronimoMessageListener() {
  -        return (GeronimoMessageListener[])getMessageListener();
  +        return (GeronimoMessageListener[]) getMessageListener();
       }
   
       public GeronimoMessageListener getGeronimoMessageListener(int i) {
  -        return (GeronimoMessageListener)getMessageListener(i);
  +        return (GeronimoMessageListener) getMessageListener(i);
       }
   
   }
  
  
  
  1.2       +3 -3      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoMessageListener.java
  
  Index: GeronimoMessageListener.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoMessageListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoMessageListener.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoMessageListener.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,12 +61,12 @@
   /**
    * GeronimoMessageListener
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoMessageListener extends MessageListener {
  -    
  +
       private String messageEndpointFactoryName;
  -    
  +
       public GeronimoMessageListener(MessageListener messageListener) {
           setMessageListenerType(messageListener.getMessageListenerType());
           setActivationSpec(messageListener.getActivationSpec());
  
  
  
  1.2       +8 -8      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoOutboundResourceAdapter.java
  
  Index: GeronimoOutboundResourceAdapter.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoOutboundResourceAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoOutboundResourceAdapter.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoOutboundResourceAdapter.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -61,21 +61,21 @@
   /**
    * GeronimoOutboundResourceAdapter
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoOutboundResourceAdapter extends OutboundResourceAdapter {
  -    
  +
       public GeronimoOutboundResourceAdapter(OutboundResourceAdapter outboundResourceAdapter) {
  -		setTransactionSupport(outboundResourceAdapter.getTransactionSupport());
  -		setAuthenticationMechanism(outboundResourceAdapter.getAuthenticationMechanism());
  -		setReauthenticationSupport(outboundResourceAdapter.getReauthenticationSupport());
  +        setTransactionSupport(outboundResourceAdapter.getTransactionSupport());
  +        setAuthenticationMechanism(outboundResourceAdapter.getAuthenticationMechanism());
  +        setReauthenticationSupport(outboundResourceAdapter.getReauthenticationSupport());
       }
  -    
  +
       public GeronimoConnectionDefinition[] getGeronimoConnectionDefinition() {
  -        return (GeronimoConnectionDefinition[])getConnectionDefinition();
  +        return (GeronimoConnectionDefinition[]) getConnectionDefinition();
       }
   
       public GeronimoConnectionDefinition getGeronimoConnectionDefinition(int i) {
  -        return (GeronimoConnectionDefinition)getConnectionDefinition(i);
  +        return (GeronimoConnectionDefinition) getConnectionDefinition(i);
       }
   }
  
  
  
  1.2       +31 -30    incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoResourceAdapter.java
  
  Index: GeronimoResourceAdapter.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/connector/GeronimoResourceAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoResourceAdapter.java	11 Nov 2003 21:11:57 -0000	1.1
  +++ GeronimoResourceAdapter.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -62,38 +62,39 @@
   /**
    * GeronimoResourceAdapter
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoResourceAdapter extends ResourceAdapter {
  -    
  -	private String name;
  -	private String bootstrapContext;
  -
  -	public GeronimoResourceAdapter(ResourceAdapter resourceAdapter) {
  -		setResourceAdapterClass(resourceAdapter.getResourceAdapterClass());
  -		setConfigProperty(copyConfigProperties(resourceAdapter.getConfigProperty()));
  -		setSecurityPermission(resourceAdapter.getSecurityPermission());
  -	}
  -	
  -	public GeronimoOutboundResourceAdapter getGeronimoOutboundResourceAdapter() {
  -		return (GeronimoOutboundResourceAdapter)getOutboundResourceAdapter();
  -	}
  -	
  -	public GeronimoInboundResourceAdapter getGeronimoInboundResourceAdapter() {
  -		return (GeronimoInboundResourceAdapter)getInboundResourceAdapter();
  -	}
  -	
  -	public static ConfigProperty[] copyConfigProperties(ConfigProperty[] oldProperties) {
  -	    ConfigProperty[] newProperties = new ConfigProperty[oldProperties.length];
  -	    for (int i = 0; i < oldProperties.length; i++) {
  -	        newProperties[i] = new ConfigProperty();
  -	        newProperties[i].setConfigPropertyName(oldProperties[i].getConfigPropertyName());
  -	        newProperties[i].setConfigPropertyType(oldProperties[i].getConfigPropertyType());
  -	        newProperties[i].setConfigPropertyValue(oldProperties[i].getConfigPropertyValue());
  -	        newProperties[i].setDescription(oldProperties[i].getDescription());//shared description...
  -	    }
  -	    return newProperties;
  -	}
  +
  +    private String name;
  +    private String bootstrapContext;
  +
  +    public GeronimoResourceAdapter(ResourceAdapter resourceAdapter) {
  +        setResourceAdapterClass(resourceAdapter.getResourceAdapterClass());
  +        setConfigProperty(copyConfigProperties(resourceAdapter.getConfigProperty()));
  +        setSecurityPermission(resourceAdapter.getSecurityPermission());
  +    }
  +
  +    public GeronimoOutboundResourceAdapter getGeronimoOutboundResourceAdapter() {
  +        return (GeronimoOutboundResourceAdapter) getOutboundResourceAdapter();
  +    }
  +
  +    public GeronimoInboundResourceAdapter getGeronimoInboundResourceAdapter() {
  +        return (GeronimoInboundResourceAdapter) getInboundResourceAdapter();
  +    }
  +
  +    public static ConfigProperty[] copyConfigProperties(ConfigProperty[] oldProperties) {
  +        ConfigProperty[] newProperties = new ConfigProperty[oldProperties.length];
  +        for (int i = 0; i < oldProperties.length; i++) {
  +            newProperties[i] = new ConfigProperty();
  +            newProperties[i].setConfigPropertyName(oldProperties[i].getConfigPropertyName());
  +            newProperties[i].setConfigPropertyType(oldProperties[i].getConfigPropertyType());
  +            newProperties[i].setConfigPropertyValue(oldProperties[i].getConfigPropertyValue());
  +            newProperties[i].setDescription(oldProperties[i].getDescription());//shared description...
  +        }
  +        return newProperties;
  +    }
  +
       /**
        * @return Returns the name.
        */
  
  
  
  1.2       +3 -3      incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee/JNDILocator.java
  
  Index: JNDILocator.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/deployment/model/geronimo/j2ee/JNDILocator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JNDILocator.java	13 Nov 2003 04:21:17 -0000	1.1
  +++ JNDILocator.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -1,10 +1,10 @@
   package org.apache.geronimo.deployment.model.geronimo.j2ee;
   
   /**
  - * 
    *
  - * @version $VERSION$ Nov 12, 2003$
  - * 
  + *
  + * @version $Revision$ $Date$
  + *
    * */
   public interface JNDILocator {
       JndiContextParam[] getJndiContextParam();
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ReferenceFactory.java
  
  Index: ReferenceFactory.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ReferenceFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReferenceFactory.java	13 Nov 2003 04:30:56 -0000	1.1
  +++ ReferenceFactory.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -8,7 +8,7 @@
   /**
    * 
    *
  - * @version $VERSION$ Nov 12, 2003$
  + * @version $Revision$ $Date$
    * 
    * */
   public interface ReferenceFactory {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/JMXContext.java
  
  Index: JMXContext.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/JMXContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JMXContext.java	13 Nov 2003 04:27:30 -0000	1.1
  +++ JMXContext.java	13 Nov 2003 22:22:30 -0000	1.2
  @@ -81,7 +81,7 @@
   /**
    *
    *
  - * @version $VERSION$ Nov 11, 2003$
  + * @version $Revision$ $Date$
    *
    * */
   public class JMXContext  implements Context  {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/JMXReferenceFactory.java
  
  Index: JMXReferenceFactory.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/JMXReferenceFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JMXReferenceFactory.java	13 Nov 2003 04:27:31 -0000	1.1
  +++ JMXReferenceFactory.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -70,7 +70,7 @@
    *
    * A better set of assumptions might be that the context params are the name/value pairs for the object name.
    *
  - * @version $VERSION$ Nov 12, 2003$
  + * @version $Revision$ $Date$
    *
    * */
   public class JMXReferenceFactory implements ReferenceFactory {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/jmxURLContextFactory.java
  
  Index: jmxURLContextFactory.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/jmx/jmxURLContextFactory.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jmxURLContextFactory.java	13 Nov 2003 04:27:31 -0000	1.1
  +++ jmxURLContextFactory.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -67,7 +67,7 @@
   /**
    * 
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    * 
    * */
   public class jmxURLContextFactory implements ObjectFactory {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/ContextTest.java
  
  Index: ContextTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/ContextTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ContextTest.java	13 Nov 2003 04:27:31 -0000	1.1
  +++ ContextTest.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -81,7 +81,7 @@
   /**
    * 
    *
  - * @version $VERSION$ Nov 11, 2003$
  + * @version $Revision$ $Date$
    * 
    * */
   public class ContextTest extends TestCase {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/TestObject.java
  
  Index: TestObject.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/TestObject.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestObject.java	13 Nov 2003 04:27:31 -0000	1.1
  +++ TestObject.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -61,7 +61,7 @@
   /**
    * 
    *
  - * @version $VERSION$ Nov 12, 2003$
  + * @version $Revision$ $Date$
    * 
    * */
   public class TestObject implements TestObjectMBean {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/TestObjectMBean.java
  
  Index: TestObjectMBean.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/jmx/TestObjectMBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestObjectMBean.java	13 Nov 2003 04:27:31 -0000	1.1
  +++ TestObjectMBean.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -3,7 +3,7 @@
   /**
    * 
    *
  - * @version $VERSION$ Nov 12, 2003$
  + * @version $Revision$ $Date$
    * 
    * */
   public interface TestObjectMBean {
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/test/org/apache/geronimo/xml/deployment/ConnectorLoaderTest.java
  
  Index: ConnectorLoaderTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/xml/deployment/ConnectorLoaderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConnectorLoaderTest.java	11 Nov 2003 21:11:59 -0000	1.1
  +++ ConnectorLoaderTest.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -72,7 +72,7 @@
   /**
    * ConnectorLoaderTest
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class ConnectorLoaderTest extends TestCase {
   	private File docDir_1_5;
  
  
  
  1.2       +1 -1      incubator-geronimo/modules/core/src/test/org/apache/geronimo/xml/deployment/GeronimoConnectorLoaderTest.java
  
  Index: GeronimoConnectorLoaderTest.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/xml/deployment/GeronimoConnectorLoaderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- GeronimoConnectorLoaderTest.java	11 Nov 2003 21:11:59 -0000	1.1
  +++ GeronimoConnectorLoaderTest.java	13 Nov 2003 22:22:31 -0000	1.2
  @@ -69,7 +69,7 @@
   /**
    * ConnectorLoaderTest
    *
  - * @version $VERSION$ $DATE$
  + * @version $Revision$ $Date$
    */
   public class GeronimoConnectorLoaderTest extends TestCase {
   	private File docDir_1_5;