
Property changes on: .
___________________________________________________________________
Modified: svn:ignore
   - build
target
reports
*.zip
*.tar.gz
*.tar.bz2
transaction.log

   + build
target
reports
*.zip
*.tar.gz
*.tar.bz2
transaction.log
standalone


Index: deployers/src/test/resources/ra16inoutijmultianno.rar/META-INF/ironjacamar.xml
===================================================================
--- deployers/src/test/resources/ra16inoutijmultianno.rar/META-INF/ironjacamar.xml	(revision 0)
+++ deployers/src/test/resources/ra16inoutijmultianno.rar/META-INF/ironjacamar.xml	(revision 0)
@@ -0,0 +1,52 @@
+<!--
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+-->
+
+<ironjacamar xmlns="http://www.jboss.org/ironjacamar/schema"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema 
+             http://www.jboss.org/ironjacamar/schema/ironjacamar_1_0.xsd">
+  <config-property name="stringProperty">string</config-property>
+  <config-property name="intProperty">1</config-property>
+
+  <transaction-support>NoTransaction</transaction-support>
+  
+  <connection-definitions>
+    <connection-definition class-name="org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestManagedConnectionFactory" jndi-name="java:/eis/TestConnectionFactory" pool-name="TestConnectionFactory">
+      <config-property name="byteProperty">2</config-property>
+    </connection-definition>
+    <connection-definition class-name="org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2ManagedConnectionFactory" jndi-name="java:/eis/Test2ConnectionFactory" pool-name="Test2ConnectionFactory">
+      <config-property name="doubleProperty">3.14</config-property>
+    </connection-definition>
+  </connection-definitions>
+
+  <admin-objects>
+    <admin-object class-name="org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestAdminObjectImpl" jndi-name="java:/eis/ao/TestAdminObjectInterface">
+      <config-property name="floatProperty">1.1</config-property>
+    </admin-object>
+    <admin-object class-name="org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test1AdminObjectImpl" jndi-name="java:/eis/ao/Test1AdminObjectInterface">
+      <config-property name="booleanProperty">true</config-property>
+    </admin-object>
+  </admin-objects>
+
+</ironjacamar>
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/testcases/Ra16inoutijmultiannoTestCase.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/testcases/Ra16inoutijmultiannoTestCase.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/testcases/Ra16inoutijmultiannoTestCase.java	(revision 0)
@@ -0,0 +1,266 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.testcases;
+
+import static org.junit.Assert.*;
+
+import org.jboss.jca.common.metadata.ra.ra16.Connector16Impl;
+import org.jboss.jca.core.spi.mdr.MetadataRepository;
+import org.jboss.jca.core.spi.rar.Endpoint;
+import org.jboss.jca.core.spi.rar.MessageListener;
+import org.jboss.jca.core.spi.rar.ResourceAdapterRepository;
+import org.jboss.jca.embedded.arquillian.Inject;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test1AdminObjectInterface;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2ActivationSpec;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2Connection;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2ConnectionFactory;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2ManagedConnectionFactory;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.Test2MessageListener;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestActivationSpec;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestAdminObjectInterface;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestConnection;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestConnectionFactory;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestManagedConnectionFactory;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestMessageListener;
+import org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.TestResourceAdapter;
+
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+import java.util.logging.Logger;
+
+import javax.annotation.Resource;
+import javax.resource.spi.ActivationSpec;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.ResourceAdapterArchive;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Ra16inoutijmultiannoTestCase
+ * 
+ * @author Vladimir Rastseluev
+ *
+ * @version $Revision: $
+ */
+@RunWith(Arquillian.class)
+public class Ra16inoutijmultiannoTestCase
+{
+   private static Logger log = Logger.getLogger("Ra16inoutijmultiannoTestCase");
+
+   private static String deploymentName = "Ra16inoutijmultiannoTestCase";
+
+   /**
+    * Define the deployment
+    *
+    * @return The deployment archive
+    */
+   @Deployment
+   public static ResourceAdapterArchive createDeployment()
+   {
+      String archiveName = "ra16inoutijmultianno.rar";
+      ResourceAdapterArchive raa = ShrinkWrap.create(ResourceAdapterArchive.class, deploymentName + ".rar");
+      JavaArchive ja = ShrinkWrap.create(JavaArchive.class, UUID.randomUUID().toString() + ".jar");
+      ja.addPackage(TestResourceAdapter.class.getPackage());
+      raa.addAsLibrary(ja);
+
+      raa.addAsManifestResource(archiveName + "/META-INF/ironjacamar.xml", "ironjacamar.xml");
+
+      return raa;
+   }
+
+   /** Resource */
+   @Resource(mappedName = "java:/eis/TestConnectionFactory")
+   private TestConnectionFactory connectionFactory1;
+
+   /** Resource */
+   @Resource(mappedName = "java:/eis/Test2ConnectionFactory")
+   private Test2ConnectionFactory connectionFactory2;
+
+   /** Resource */
+   @Resource(mappedName = "java:/eis/ao/TestAdminObjectInterface")
+   private TestAdminObjectInterface adminObject;
+
+   /** Resource */
+   @Resource(mappedName = "java:/eis/ao/Test1AdminObjectInterface")
+   private Test1AdminObjectInterface adminObject1;
+
+   @Inject(name = "ResourceAdapterRepository")
+   private ResourceAdapterRepository raRepository;
+
+   @Inject(name = "MDR")
+   private MetadataRepository mdr;
+
+   /**
+    * Test getConnection
+    *
+    * @exception Throwable Thrown if case of an error
+    */
+   @Test
+   public void testGetConnection1() throws Throwable
+   {
+      assertNotNull(connectionFactory1);
+      TestConnection connection1 = connectionFactory1.getConnection();
+      assertNotNull(connection1);
+      TestManagedConnectionFactory mcf = connection1.getMCF();
+      assertEquals(new Byte((byte) 2), mcf.getByteProperty());
+      connection1.close();
+   }
+
+   /**
+    * Test getConnection
+    *
+    * @exception Throwable Thrown if case of an error
+    */
+   @Test
+   public void testGetConnection2() throws Throwable
+   {
+      assertNotNull(connectionFactory2);
+      Test2Connection connection2 = connectionFactory2.getConnection();
+      assertNotNull(connection2);
+      Test2ManagedConnectionFactory mcf = connection2.getMCF();
+      assertEquals(new Double(3.14), mcf.getDoubleProperty());
+      connection2.close();
+   }
+
+   /**
+    * Test admin objects
+   *
+   * @exception Throwable Thrown if case of an error
+   */
+   @Test
+   public void testAdminOjbects() throws Throwable
+   {
+      assertNotNull(adminObject);
+      assertEquals(new Float(1.1f), adminObject.getFloatProperty());
+      assertNotNull(adminObject1);
+      assertEquals(true, adminObject1.getBooleanProperty());
+   }
+
+   /**
+    * test activation 1
+    * 
+    * @exception Throwable Thrown if case of an error
+    */
+   @Test
+   public void testActivation1() throws Throwable
+   {
+      testActivation(TestMessageListener.class);
+   }
+
+   /**
+    * test activation 2
+    * 
+    * @exception Throwable Thrown if case of an error
+    */
+   @Test
+   public void testActivation2() throws Throwable
+   {
+      testActivation(Test2MessageListener.class);
+   }
+
+   /**
+    * Test activation
+    * 
+    * @param clazz class name
+    * 
+    * @exception Throwable Thrown if case of an error
+    */
+   public void testActivation(Class clazz) throws Throwable
+   {
+      Set<String> ids = raRepository.getResourceAdapters(clazz);
+
+      assertNotNull(ids);
+      assertEquals(1, ids.size());
+
+      String piId = ids.iterator().next();
+      assertNotNull(piId);
+
+      Endpoint endpoint = raRepository.getEndpoint(piId);
+      assertNotNull(endpoint);
+
+      List<MessageListener> listeners = raRepository.getMessageListeners(piId);
+      assertNotNull(listeners);
+      assertEquals(2, listeners.size());
+
+      MessageListener listener = listeners.get(0);
+      MessageListener listener1 = listeners.get(1);
+
+      ActivationSpec as = listener.getActivation().createInstance();
+      ActivationSpec as1 = listener1.getActivation().createInstance();
+      assertNotNull(as);
+      assertNotNull(as.getResourceAdapter());
+      assertNotNull(as1);
+      assertNotNull(as1.getResourceAdapter());
+
+      TestActivationSpec tas;
+      Test2ActivationSpec tas1;
+
+      if (as instanceof TestActivationSpec)
+      {
+         tas = (TestActivationSpec) as;
+         tas1 = (Test2ActivationSpec) as1;
+      }
+      else
+      {
+         tas = (TestActivationSpec) as1;
+         tas1 = (Test2ActivationSpec) as;
+      }
+      assertNotNull(tas.getCharProperty());
+      assertEquals(new Character('a'), tas.getCharProperty());
+      assertTrue(tas.getResourceAdapter() instanceof TestResourceAdapter);
+      TestResourceAdapter tra = (TestResourceAdapter) tas.getResourceAdapter();
+      assertEquals("string", tra.getStringProperty());
+
+      assertNotNull(tas1.getShortProperty());
+      assertEquals((short) 3, tas1.getShortProperty());
+      assertTrue(tas1.getResourceAdapter() instanceof TestResourceAdapter);
+      tra = (TestResourceAdapter) tas1.getResourceAdapter();
+      assertEquals(new Integer(1), tra.getIntProperty());
+   }
+
+   /**
+    * Test metadata
+    *     
+    * @exception Throwable Thrown if case of an error
+    */
+   @Test
+   public void testMetaData() throws Throwable
+   {
+      assertNotNull(mdr);
+      Set<String> ids = mdr.getResourceAdapters();
+
+      assertNotNull(ids);
+      assertEquals(1, ids.size());
+
+      String piId = ids.iterator().next();
+      assertNotNull(piId);
+      assertNotNull(mdr.getResourceAdapter(piId));
+      assertTrue(mdr.getResourceAdapter(piId) instanceof Connector16Impl);
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionFactory.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionFactory.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionFactory.java	(revision 0)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.PrintWriter;
+import java.util.Iterator;
+import java.util.Set;
+
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.ConnectionDefinition;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
+
+import javax.security.auth.Subject;
+
+/**
+ * Test2ManagedConnectionFactory
+ *
+ * @version $Revision: $
+ */
+@ConnectionDefinition(connectionFactory = Test2ConnectionFactory.class,
+   connectionFactoryImpl = Test2ConnectionFactoryImpl.class,
+   connection = Test2Connection.class,
+   connectionImpl = Test2ConnectionImpl.class)
+public class Test2ManagedConnectionFactory implements ManagedConnectionFactory, ResourceAdapterAssociation
+{
+
+   /** The serial version UID */
+   private static final long serialVersionUID = 1L;
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("Test2ManagedConnectionFactory");
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** The logwriter */
+   private PrintWriter logwriter;
+
+   /** doubleProperty */
+   @ConfigProperty(defaultValue = "3.14")
+   private Double doubleProperty;
+
+   /**
+    * Default constructor
+    */
+   public Test2ManagedConnectionFactory()
+   {
+
+   }
+
+   /** 
+    * Set doubleProperty
+    * @param doubleProperty The value
+    */
+   public void setDoubleProperty(Double doubleProperty)
+   {
+      this.doubleProperty = doubleProperty;
+   }
+
+   /** 
+    * Get doubleProperty
+    * @return The value
+    */
+   public Double getDoubleProperty()
+   {
+      return doubleProperty;
+   }
+
+   /**
+    * Creates a Connection Factory instance. 
+    *
+    * @param cxManager ConnectionManager to be associated with created EIS connection factory instance
+    * @return EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
+    * @throws ResourceException Generic exception
+    */
+   public Object createConnectionFactory(ConnectionManager cxManager) throws ResourceException
+   {
+      log.finest("createConnectionFactory()");
+      return new Test2ConnectionFactoryImpl(this, cxManager);
+   }
+
+   /**
+    * Creates a Connection Factory instance. 
+    *
+    * @return EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
+    * @throws ResourceException Generic exception
+    */
+   public Object createConnectionFactory() throws ResourceException
+   {
+      throw new ResourceException("This resource adapter doesn't support non-managed environments");
+   }
+
+   /**
+    * Creates a new physical connection to the underlying EIS resource manager.
+    *
+    * @param subject Caller's security information
+    * @param cxRequestInfo Additional resource adapter specific connection request information
+    * @throws ResourceException generic exception
+    * @return ManagedConnection instance 
+    */
+   public ManagedConnection createManagedConnection(Subject subject,
+         ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("createManagedConnection()");
+      return new Test2ManagedConnection(this);
+   }
+
+   /**
+    * Returns a matched connection from the candidate set of connections. 
+    *
+    * @param connectionSet Candidate connection set
+    * @param subject Caller's security information
+    * @param cxRequestInfo Additional resource adapter specific connection request information
+    * @throws ResourceException generic exception
+    * @return ManagedConnection if resource adapter finds an acceptable match otherwise null 
+    */
+   public ManagedConnection matchManagedConnections(Set connectionSet,
+         Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("matchManagedConnections()");
+      ManagedConnection result = null;
+      Iterator it = connectionSet.iterator();
+      while (result == null && it.hasNext())
+      {
+         ManagedConnection mc = (ManagedConnection)it.next();
+         if (mc instanceof Test2ManagedConnection)
+         {
+            result = mc;
+         }
+
+      }
+      return result;
+   }
+
+   /**
+    * Get the log writer for this ManagedConnectionFactory instance.
+    *
+    * @return PrintWriter
+    * @throws ResourceException generic exception
+    */
+   public PrintWriter getLogWriter() throws ResourceException
+   {
+      log.finest("getLogWriter()");
+      return logwriter;
+   }
+
+   /**
+    * Set the log writer for this ManagedConnectionFactory instance.
+    *
+    * @param out PrintWriter - an out stream for error logging and tracing
+    * @throws ResourceException generic exception
+    */
+   public void setLogWriter(PrintWriter out) throws ResourceException
+   {
+      log.finest("setLogWriter()");
+      logwriter = out;
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      log.finest("getResourceAdapter()");
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      log.finest("setResourceAdapter()");
+      this.ra = ra;
+   }
+
+   /** 
+    * Returns a hash code value for the object.
+    * @return A hash code value for this object.
+    */
+   @Override
+   public int hashCode()
+   {
+      int result = 17;
+      if (doubleProperty != null)
+         result += 31 * result + 7 * doubleProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      return result;
+   }
+
+   /** 
+    * Indicates whether some other object is equal to this one.
+    * @param other The reference object with which to compare.
+    * @return true if this object is the same as the obj argument, false otherwise.
+    */
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other == null)
+         return false;
+      if (other == this)
+         return true;
+      if (!(other instanceof Test2ManagedConnectionFactory))
+         return false;
+      Test2ManagedConnectionFactory obj = (Test2ManagedConnectionFactory)other;
+      boolean result = true; 
+      if (result)
+      {
+         if (doubleProperty == null)
+            result = obj.getDoubleProperty() == null;
+         else
+            result = doubleProperty.equals(obj.getDoubleProperty());
+      }
+      return result;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactory.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactory.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactory.java	(revision 0)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+import javax.resource.ResourceException;
+
+/**
+ * TestConnectionFactory
+ *
+ * @version $Revision: $
+ */
+public interface TestConnectionFactory extends Serializable, Referenceable
+{
+   /** 
+    * Get connection from factory
+    *
+    * @return TestConnection instance
+    * @exception ResourceException Thrown if a connection can't be obtained
+    */
+   public TestConnection getConnection() throws ResourceException;
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestResourceAdapter.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestResourceAdapter.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestResourceAdapter.java	(revision 0)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ActivationSpec;
+import javax.resource.spi.BootstrapContext;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.Connector;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterInternalException;
+import javax.resource.spi.TransactionSupport;
+import javax.resource.spi.endpoint.MessageEndpointFactory;
+import javax.transaction.xa.XAResource;
+
+/**
+ * TestResourceAdapter
+ *
+ * @version $Revision: $
+ */
+@Connector(reauthenticationSupport = false, 
+transactionSupport = TransactionSupport.TransactionSupportLevel.NoTransaction)
+public class TestResourceAdapter implements ResourceAdapter
+{
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestResourceAdapter");
+
+   /** The activations by activation spec */
+   private ConcurrentHashMap<TestActivationSpec, TestActivation> activations;
+
+   /** The activations by activation spec */
+   private ConcurrentHashMap<Test2ActivationSpec, Test2Activation> activations2;
+
+   /** stringProperty */
+   @ConfigProperty(defaultValue = "string")
+   private String stringProperty;
+
+   /** intProperty */
+   @ConfigProperty(defaultValue = "1")
+   private Integer intProperty;
+
+   /**
+    * Default constructor
+    */
+   public TestResourceAdapter()
+   {
+      this.activations = new ConcurrentHashMap<TestActivationSpec, TestActivation>();
+
+   }
+
+   /** 
+    * Set stringProperty
+    * @param stringProperty The value
+    */
+   public void setStringProperty(String stringProperty)
+   {
+      this.stringProperty = stringProperty;
+   }
+
+   /** 
+    * Get stringProperty
+    * @return The value
+    */
+   public String getStringProperty()
+   {
+      return stringProperty;
+   }
+
+   /** 
+    * Set intProperty
+    * @param intProperty The value
+    */
+   public void setIntProperty(Integer intProperty)
+   {
+      this.intProperty = intProperty;
+   }
+
+   /** 
+    * Get intProperty
+    * @return The value
+    */
+   public Integer getIntProperty()
+   {
+      return intProperty;
+   }
+
+   /**
+    * This is called during the activation of a message endpoint.
+    *
+    * @param endpointFactory A message endpoint factory instance.
+    * @param spec An activation spec JavaBean instance.
+    * @throws ResourceException generic exception 
+    */
+   public void endpointActivation(MessageEndpointFactory endpointFactory, ActivationSpec spec) throws ResourceException
+   {
+      if (endpointFactory == null || spec == null)
+         return;
+
+      if (spec instanceof TestActivation)
+      {
+         TestActivation activation = new TestActivation(this, endpointFactory, (TestActivationSpec) spec);
+         activations.put((TestActivationSpec) spec, activation);
+         activation.start();
+      }
+      else if (spec instanceof Test2Activation)
+      {
+         Test2Activation activation2 = new Test2Activation(this, endpointFactory, (Test2ActivationSpec) spec);
+         activations2.put((Test2ActivationSpec) spec, activation2);
+         activation2.start();
+      }
+
+      log.finest("endpointActivation()");
+   }
+
+   /**
+    * This is called when a message endpoint is deactivated. 
+    *
+    * @param endpointFactory A message endpoint factory instance.
+    * @param spec An activation spec JavaBean instance.
+    */
+   public void endpointDeactivation(MessageEndpointFactory endpointFactory, ActivationSpec spec)
+   {
+      if (endpointFactory == null || spec == null)
+         return;
+
+      if (spec instanceof TestActivation)
+      {
+         TestActivation activation = activations.remove(spec);
+         if (activation != null)
+            activation.stop();
+      }
+      else if (spec instanceof Test2Activation)
+      {
+         Test2Activation activation2 = activations2.remove(spec);
+         if (activation2 != null)
+            activation2.stop();
+      }
+
+      log.finest("endpointDeactivation()");
+   }
+
+   /**
+    * This is called when a resource adapter instance is bootstrapped.
+    *
+    * @param ctx A bootstrap context containing references 
+    * @throws ResourceAdapterInternalException indicates bootstrap failure.
+    */
+   public void start(BootstrapContext ctx) throws ResourceAdapterInternalException
+   {
+      log.finest("start()");
+   }
+
+   /**
+    * This is called when a resource adapter instance is undeployed or
+    * during application server shutdown. 
+    */
+   public void stop()
+   {
+      log.finest("stop()");
+   }
+
+   /**
+    * This method is called by the application server during crash recovery.
+    *
+    * @param specs An array of ActivationSpec JavaBeans 
+    * @throws ResourceException generic exception 
+    * @return An array of XAResource objects
+    */
+   public XAResource[] getXAResources(ActivationSpec[] specs) throws ResourceException
+   {
+      log.finest("getXAResources()");
+      return null;
+   }
+
+   /** 
+    * Returns a hash code value for the object.
+    * @return A hash code value for this object.
+    */
+   @Override
+   public int hashCode()
+   {
+      int result = 17;
+      if (stringProperty != null)
+         result += 31 * result + 7 * stringProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      if (intProperty != null)
+         result += 31 * result + 7 * intProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      return result;
+   }
+
+   /** 
+    * Indicates whether some other object is equal to this one.
+    * @param other The reference object with which to compare.
+    * @return true if this object is the same as the obj argument, false otherwise.
+    */
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other == null)
+         return false;
+      if (other == this)
+         return true;
+      if (!(other instanceof TestResourceAdapter))
+         return false;
+      TestResourceAdapter obj = (TestResourceAdapter) other;
+      boolean result = true;
+      if (result)
+      {
+         if (stringProperty == null)
+            result = obj.getStringProperty() == null;
+         else
+            result = stringProperty.equals(obj.getStringProperty());
+      }
+      if (result)
+      {
+         if (intProperty == null)
+            result = obj.getIntProperty() == null;
+         else
+            result = intProperty.equals(obj.getIntProperty());
+      }
+      return result;
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestMessageListener.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestMessageListener.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestMessageListener.java	(revision 0)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+/**
+ * TestMessageListener
+ *
+ * @version $Revision: $
+ */
+public interface TestMessageListener
+{
+   /**
+    * Receive message
+    * @param msg String.
+    */
+   public void onMessage(String msg);
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactoryImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactoryImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactoryImpl.java	(revision 0)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionManager;
+
+/**
+ * Test2ConnectionFactoryImpl
+ *
+ * @version $Revision: $
+ */
+public class Test2ConnectionFactoryImpl implements Test2ConnectionFactory
+{
+   /** The serial version UID */
+   private static final long serialVersionUID = 1L;
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("Test2ConnectionFactoryImpl");
+
+   /** Reference */
+   private Reference reference;
+
+   /** ManagedConnectionFactory */
+   private Test2ManagedConnectionFactory mcf;
+
+   /** ConnectionManager */
+   private ConnectionManager connectionManager;
+
+   /**
+    * Default constructor
+    */
+   public Test2ConnectionFactoryImpl()
+   {
+
+   }
+
+   /**
+    * Default constructor
+    * @param mcf ManagedConnectionFactory
+    * @param cxManager ConnectionManager
+    */
+   public Test2ConnectionFactoryImpl(Test2ManagedConnectionFactory mcf, ConnectionManager cxManager)
+   {
+      this.mcf = mcf;
+      this.connectionManager = cxManager;
+   }
+
+   /** 
+    * Get connection from factory
+    *
+    * @return Test2Connection instance
+    * @exception ResourceException Thrown if a connection can't be obtained
+    */
+   @Override
+   public Test2Connection getConnection() throws ResourceException
+   {
+      log.finest("getConnection()");
+      return (Test2Connection)connectionManager.allocateConnection(mcf, null);
+   }
+
+   /**
+    * Get the Reference instance.
+    *
+    * @return Reference instance
+    * @exception NamingException Thrown if a reference can't be obtained
+    */
+   @Override
+   public Reference getReference() throws NamingException
+   {
+      log.finest("getReference()");
+      return reference;
+   }
+
+   /**
+    * Set the Reference instance.
+    *
+    * @param reference A Reference instance
+    */
+   @Override
+   public void setReference(Reference reference)
+   {
+      log.finest("setReference()");
+      this.reference = reference;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ActivationSpec.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ActivationSpec.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ActivationSpec.java	(revision 0)
@@ -0,0 +1,114 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.resource.spi.Activation;
+import javax.resource.spi.ActivationSpec;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.InvalidPropertyException;
+import javax.resource.spi.ResourceAdapter;
+
+/**
+ * TestActivationSpec
+ *
+ * @version $Revision: $
+ */
+@Activation(messageListeners =
+      {org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.
+            Test2MessageListener.class })
+public class Test2ActivationSpec implements ActivationSpec
+{
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestActivationSpec");
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** charProperty */
+   @ConfigProperty(defaultValue = "3")
+   private Short shortProperty;
+
+   /**
+    * Default constructor
+    */
+   public Test2ActivationSpec()
+   {
+
+   }
+
+   /** 
+    * Set shortProperty
+    * 
+    * @param shortProperty 
+    */
+   public void setShortProperty(Short shortProperty)
+   {
+      this.shortProperty = shortProperty;
+   }
+
+   /** 
+    * Get shortProperty
+    * 
+    * @return The value
+    */
+   public short getShortProperty()
+   {
+      return shortProperty;
+   }
+
+   /**
+    * This method may be called by a deployment tool to validate the overall
+    * activation configuration information provided by the endpoint deployer.
+    *
+    * @throws InvalidPropertyException indicates invalid onfiguration property settings.
+    */
+   public void validate() throws InvalidPropertyException
+   {
+      log.finest("validate()");
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      log.finest("getResourceAdapter()");
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      log.finest("setResourceAdapter()");
+      this.ra = ra;
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnection.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnection.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnection.java	(revision 0)
@@ -0,0 +1,228 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.PrintWriter;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import javax.resource.NotSupportedException;
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionEvent;
+import javax.resource.spi.ConnectionEventListener;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.LocalTransaction;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionMetaData;
+
+import javax.security.auth.Subject;
+import javax.transaction.xa.XAResource;
+
+/**
+ * Test2ManagedConnection
+ *
+ * @version $Revision: $
+ */
+public class Test2ManagedConnection implements ManagedConnection
+{
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("Test2ManagedConnection");
+
+   /** The logwriter */
+   private PrintWriter logwriter;
+
+   /** ManagedConnectionFactory */
+   private Test2ManagedConnectionFactory mcf;
+
+   /** Listeners */
+   private List<ConnectionEventListener> listeners;
+
+   /** Connection */
+   private Object connection;
+
+   /**
+    * Default constructor
+    * @param mcf mcf
+    */
+   public Test2ManagedConnection(Test2ManagedConnectionFactory mcf)
+   {
+      this.mcf = mcf;
+      this.logwriter = null;
+      this.listeners = new ArrayList<ConnectionEventListener>(1);
+      this.connection = null;
+   }
+
+   /**
+    * Creates a new connection handle for the underlying physical connection 
+    * represented by the ManagedConnection instance. 
+    *
+    * @param subject Security context as JAAS subject
+    * @param cxRequestInfo ConnectionRequestInfo instance
+    * @return generic Object instance representing the connection handle. 
+    * @throws ResourceException generic exception if operation fails
+    */
+   public Object getConnection(Subject subject,
+      ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("getConnection()");
+      connection = new Test2ConnectionImpl(this, mcf);
+      return connection;
+   }
+
+   /**
+    * Used by the container to change the association of an 
+    * application-level connection handle with a ManagedConneciton instance.
+    *
+    * @param connection Application-level connection handle
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void associateConnection(Object connection) throws ResourceException
+   {
+      log.finest("associateConnection()");
+   }
+
+   /**
+    * Application server calls this method to force any cleanup on the ManagedConnection instance.
+    *
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void cleanup() throws ResourceException
+
+   {
+      log.finest("cleanup()");
+   }
+
+   /**
+    * Destroys the physical connection to the underlying resource manager.
+    *
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void destroy() throws ResourceException
+   {
+      log.finest("destroy()");
+   }
+
+   /**
+    * Adds a connection event listener to the ManagedConnection instance.
+    *
+    * @param listener A new ConnectionEventListener to be registered
+    */
+   public void addConnectionEventListener(ConnectionEventListener listener)
+   {
+      log.finest("addConnectionEventListener()");
+      if (listener == null)
+         throw new IllegalArgumentException("Listener is null");
+      listeners.add(listener);
+   }
+
+   /**
+    * Removes an already registered connection event listener from the ManagedConnection instance.
+    *
+    * @param listener already registered connection event listener to be removed
+    */
+   public void removeConnectionEventListener(ConnectionEventListener listener)
+   {
+      log.finest("removeConnectionEventListener()");
+      if (listener == null)
+         throw new IllegalArgumentException("Listener is null");
+      listeners.remove(listener);
+   }
+
+   /**
+    * Close handle
+    *
+    * @param handle The handle
+    */
+   public void closeHandle(Test2Connection handle)
+   {
+      ConnectionEvent event = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
+      event.setConnectionHandle(handle);
+      for (ConnectionEventListener cel : listeners)
+      {
+         cel.connectionClosed(event);
+      }
+
+   }
+
+   /**
+    * Gets the log writer for this ManagedConnection instance.
+    *
+    * @return Character ourput stream associated with this Managed-Connection instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public PrintWriter getLogWriter() throws ResourceException
+   {
+      log.finest("getLogWriter()");
+      return logwriter;
+   }
+
+   /**
+    * Sets the log writer for this ManagedConnection instance.
+    *
+    * @param out Character Output stream to be associated
+    * @throws ResourceException  generic exception if operation fails
+    */
+   public void setLogWriter(PrintWriter out) throws ResourceException
+   {
+      log.finest("setLogWriter()");
+      logwriter = out;
+   }
+
+   /**
+    * Returns an <code>javax.resource.spi.LocalTransaction</code> instance.
+    *
+    * @return LocalTransaction instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public LocalTransaction getLocalTransaction() throws ResourceException
+   {
+      throw new NotSupportedException("LocalTransaction not supported");
+   }
+
+   /**
+    * Returns an <code>javax.transaction.xa.XAresource</code> instance. 
+    *
+    * @return XAResource instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public XAResource getXAResource() throws ResourceException
+   {
+      throw new NotSupportedException("GetXAResource not supported not supported");
+   }
+
+   /**
+    * Gets the metadata information for this connection's underlying EIS resource manager instance. 
+    *
+    * @return ManagedConnectionMetaData instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public ManagedConnectionMetaData getMetaData() throws ResourceException
+   {
+      log.finest("getMetaData()");
+      return new Test2ManagedConnectionMetaData();
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnection.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnection.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnection.java	(revision 0)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+/**
+ * TestConnection
+ *
+ * @version $Revision: $
+ */
+public interface TestConnection
+{
+   /**
+    * Call me
+    */
+   public void callMe();
+
+   /**
+    * Close
+    */
+   public void close();
+
+   /**
+    * 
+    * @return mcf
+    */
+   public TestManagedConnectionFactory getMCF();
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionMetaData.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionMetaData.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ManagedConnectionMetaData.java	(revision 0)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+
+import javax.resource.spi.ManagedConnectionMetaData;
+
+/**
+ * Test2ManagedConnectionMetaData
+ *
+ * @version $Revision: $
+ */
+public class Test2ManagedConnectionMetaData implements ManagedConnectionMetaData
+{
+   /** The logger */
+   private static Logger log = Logger.getLogger("Test2ManagedConnectionMetaData");
+
+   /**
+    * Default constructor
+    */
+   public Test2ManagedConnectionMetaData()
+   {
+
+   }
+
+   /**
+    * Returns Product name of the underlying EIS instance connected through the ManagedConnection.
+    *
+    * @return Product name of the EIS instance
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getEISProductName() throws ResourceException
+   {
+      log.finest("getEISProductName()");
+      return null; //TODO
+   }
+
+   /**
+    * Returns Product version of the underlying EIS instance connected through the ManagedConnection.
+    *
+    * @return Product version of the EIS instance
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getEISProductVersion() throws ResourceException
+   {
+      log.finest("getEISProductVersion()");
+      return null; //TODO
+   }
+
+   /**
+    * Returns maximum limit on number of active concurrent connections 
+    *
+    * @return Maximum limit for number of active concurrent connections
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public int getMaxConnections() throws ResourceException
+   {
+      log.finest("getMaxConnections()");
+      return 0; //TODO
+   }
+
+   /**
+    * Returns name of the user associated with the ManagedConnection instance
+    *
+    * @return Name of the user
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getUserName() throws ResourceException
+   {
+      log.finest("getUserName()");
+      return null; //TODO
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectInterface.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectInterface.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectInterface.java	(revision 0)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+
+/**
+ * TestAdminObjectInterface
+ *
+ * @version $Revision: $
+ */
+public interface TestAdminObjectInterface extends Referenceable, Serializable
+{
+
+   /** 
+    * Set floatProperty
+    * @param floatProperty The value
+    */
+   public void setFloatProperty(Float floatProperty);
+
+   /** 
+    * Get floatProperty
+    * @return The value
+    */
+   public Float getFloatProperty();
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivation.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivation.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivation.java	(revision 0)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.endpoint.MessageEndpointFactory;
+
+/**
+ * TestActivation
+ *
+ * @version $Revision: $
+ */
+public class TestActivation
+{
+
+   /** The resource adapter */
+   private TestResourceAdapter ra;
+
+   /** Activation spec */
+   private TestActivationSpec spec;
+
+   /** The message endpoint factory */
+   private MessageEndpointFactory endpointFactory;
+
+   /**
+    * Default constructor
+    * @exception ResourceException Thrown if an error occurs
+    */
+   public TestActivation() throws ResourceException
+   {
+      this(null, null, null);
+   }
+
+   /**
+    * Constructor
+    * @param ra TestResourceAdapter
+    * @param endpointFactory MessageEndpointFactory
+    * @param spec TestActivationSpec
+    * @exception ResourceException Thrown if an error occurs
+    */
+   public TestActivation(TestResourceAdapter ra, MessageEndpointFactory endpointFactory, TestActivationSpec spec)
+      throws ResourceException
+
+   {
+      this.ra = ra;
+      this.endpointFactory = endpointFactory;
+      this.spec = spec;
+   }
+
+   /**
+    * Get activation spec class
+    * @return Activation spec
+    */
+   public TestActivationSpec getActivationSpec()
+   {
+      return spec;
+   }
+
+   /**
+    * Get message endpoint factory
+    * @return Message endpoint factory
+    */
+   public MessageEndpointFactory getMessageEndpointFactory()
+   {
+      return endpointFactory;
+   }
+
+   /**
+    * Start the activation
+    * @throws ResourceException Thrown if an error occurs
+    */
+   public void start() throws ResourceException
+   {
+
+   }
+
+   /**
+    * Stop the activation
+    */
+   public void stop()
+   {
+
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestAdminObjectImpl.java	(revision 0)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import javax.resource.Referenceable;
+import javax.resource.spi.AdministeredObject;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
+
+/**
+ * TestAdminObjectImpl
+ *
+ * @version $Revision: $
+ */
+@AdministeredObject(adminObjectInterfaces = { TestAdminObjectInterface.class })
+public class TestAdminObjectImpl implements TestAdminObjectInterface,
+   ResourceAdapterAssociation, Referenceable, Serializable
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = 1L;
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** Reference */
+   private Reference reference;
+
+   /** floatProperty */
+   @ConfigProperty(defaultValue = "1.1")
+   private Float floatProperty;
+
+   /**
+    * Default constructor
+    */
+   public TestAdminObjectImpl()
+   {
+
+   }
+
+   /** 
+    * Set floatProperty
+    * @param floatProperty The value
+    */
+   public void setFloatProperty(Float floatProperty)
+   {
+      this.floatProperty = floatProperty;
+   }
+
+   /** 
+    * Get floatProperty
+    * @return The value
+    */
+   public Float getFloatProperty()
+   {
+      return floatProperty;
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      this.ra = ra;
+   }
+
+   /**
+    * Get the Reference instance.
+    *
+    * @return Reference instance
+    * @exception NamingException Thrown if a reference can't be obtained
+    */
+   @Override
+   public Reference getReference() throws NamingException
+   {
+      return reference;
+   }
+
+   /**
+    * Set the Reference instance.
+    *
+    * @param reference A Reference instance
+    */
+   @Override
+   public void setReference(Reference reference)
+   {
+      this.reference = reference;
+   }
+
+   /** 
+    * Returns a hash code value for the object.
+    * @return A hash code value for this object.
+    */
+   @Override
+   public int hashCode()
+   {
+      int result = 17;
+      if (floatProperty != null)
+         result += 31 * result + 7 * floatProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      return result;
+   }
+
+   /** 
+    * Indicates whether some other object is equal to this one.
+    * @param other The reference object with which to compare.
+    * @return true if this object is the same as the obj argument, false otherwise.
+    */
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other == null)
+         return false;
+      if (other == this)
+         return true;
+      if (!(other instanceof TestAdminObjectImpl))
+         return false;
+      TestAdminObjectImpl obj = (TestAdminObjectImpl)other;
+      boolean result = true; 
+      if (result)
+      {
+         if (floatProperty == null)
+            result = obj.getFloatProperty() == null;
+         else
+            result = floatProperty.equals(obj.getFloatProperty());
+      }
+      return result;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestRaMetaData.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestRaMetaData.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestRaMetaData.java	(revision 0)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import javax.resource.cci.ResourceAdapterMetaData;
+
+/**
+ * TestRaMetaData
+ *
+ * @version $Revision: $
+ */
+public class TestRaMetaData implements ResourceAdapterMetaData
+{
+   /**
+    * Default constructor
+    */
+   public TestRaMetaData()
+   {
+
+   }
+
+   /**
+    * Gets the version of the resource adapter.
+    *
+    * @return String representing version of the resource adapter
+    */
+   @Override
+   public String getAdapterVersion()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Gets the name of the vendor that has provided the resource adapter.
+    *
+    * @return String representing name of the vendor 
+    */
+   @Override
+   public String getAdapterVendorName()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Gets a tool displayable name of the resource adapter.
+    *
+    * @return String representing the name of the resource adapter
+    */
+   @Override
+   public String getAdapterName()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Gets a tool displayable short desription of the resource adapter.
+    *
+    * @return String describing the resource adapter
+    */
+   @Override
+   public String getAdapterShortDescription()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Returns a string representation of the version
+    *
+    * @return String representing the supported version of the connector architecture
+    */
+   @Override
+   public String getSpecVersion()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Returns an array of fully-qualified names of InteractionSpec
+    *
+    * @return Array of fully-qualified class names of InteractionSpec classes
+    */
+   @Override
+   public String[] getInteractionSpecsSupported()
+   {
+      return null; //TODO
+   }
+
+   /**
+    * Returns true if the implementation class for the Interaction
+    *
+    * @return boolean Depending on method support
+    */
+   @Override
+   public boolean supportsExecuteWithInputAndOutputRecord()
+   {
+      return false; //TODO
+   }
+
+   /**
+    * Returns true if the implementation class for the Interaction
+    *
+    * @return boolean Depending on method support
+    */
+   @Override
+   public boolean supportsExecuteWithInputRecordOnly()
+   {
+      return false; //TODO
+   }
+
+   /**
+    * Returns true if the resource adapter implements the LocalTransaction
+    *
+    * @return true If resource adapter supports resource manager local transaction demarcation 
+    */
+   @Override
+   public boolean supportsLocalTransactionDemarcation()
+   {
+      return false; //TODO
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionImpl.java	(revision 0)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+/**
+ * Test2ConnectionImpl
+ *
+ * @version $Revision: $
+ */
+public class Test2ConnectionImpl implements Test2Connection
+{
+   /** The logger */
+   private static Logger log = Logger.getLogger("Test2ConnectionImpl");
+
+   /** ManagedConnection */
+   private Test2ManagedConnection mc;
+
+   /** ManagedConnectionFactory */
+   private Test2ManagedConnectionFactory mcf;
+
+   /**
+    * Default constructor
+    * @param mc Test2ManagedConnection
+    * @param mcf Test2ManagedConnectionFactory
+    */
+   public Test2ConnectionImpl(Test2ManagedConnection mc, Test2ManagedConnectionFactory mcf)
+   {
+      this.mc = mc;
+      this.mcf = mcf;
+   }
+
+   /**
+    * Call me
+    */
+   public void callMe()
+   {
+      log.finest("callMe()");
+   }
+
+   /**
+    * Close
+    */
+   public void close()
+   {
+      mc.closeHandle(this);
+   }
+
+   /**
+    * 
+    * @return mcf
+    */
+   public Test2ManagedConnectionFactory getMCF()
+   {
+      return mcf;
+   }
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionFactory.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionFactory.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionFactory.java	(revision 0)
@@ -0,0 +1,250 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.PrintWriter;
+import java.util.Iterator;
+import java.util.Set;
+
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.ConnectionDefinition;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
+
+import javax.security.auth.Subject;
+
+/**
+ * TestManagedConnectionFactory
+ *
+ * @version $Revision: $
+ */
+@ConnectionDefinition(connectionFactory = TestConnectionFactory.class,
+   connectionFactoryImpl = TestConnectionFactoryImpl.class,
+   connection = TestConnection.class,
+   connectionImpl = TestConnectionImpl.class)
+public class TestManagedConnectionFactory implements ManagedConnectionFactory, ResourceAdapterAssociation
+{
+
+   /** The serial version UID */
+   private static final long serialVersionUID = 1L;
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestManagedConnectionFactory");
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** The logwriter */
+   private PrintWriter logwriter;
+
+   /** byteProperty */
+   @ConfigProperty(defaultValue = "2")
+   private Byte byteProperty;
+
+   /**
+    * Default constructor
+    */
+   public TestManagedConnectionFactory()
+   {
+
+   }
+
+   /** 
+    * Set byteProperty
+    * @param byteProperty The value
+    */
+   public void setByteProperty(Byte byteProperty)
+   {
+      this.byteProperty = byteProperty;
+   }
+
+   /** 
+    * Get byteProperty
+    * @return The value
+    */
+   public Byte getByteProperty()
+   {
+      return byteProperty;
+   }
+
+   /**
+    * Creates a Connection Factory instance. 
+    *
+    * @param cxManager ConnectionManager to be associated with created EIS connection factory instance
+    * @return EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
+    * @throws ResourceException Generic exception
+    */
+   public Object createConnectionFactory(ConnectionManager cxManager) throws ResourceException
+   {
+      log.finest("createConnectionFactory()");
+      return new TestConnectionFactoryImpl(this, cxManager);
+   }
+
+   /**
+    * Creates a Connection Factory instance. 
+    *
+    * @return EIS-specific Connection Factory instance or javax.resource.cci.ConnectionFactory instance
+    * @throws ResourceException Generic exception
+    */
+   public Object createConnectionFactory() throws ResourceException
+   {
+      throw new ResourceException("This resource adapter doesn't support non-managed environments");
+   }
+
+   /**
+    * Creates a new physical connection to the underlying EIS resource manager.
+    *
+    * @param subject Caller's security information
+    * @param cxRequestInfo Additional resource adapter specific connection request information
+    * @throws ResourceException generic exception
+    * @return ManagedConnection instance 
+    */
+   public ManagedConnection createManagedConnection(Subject subject,
+         ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("createManagedConnection()");
+      return new TestManagedConnection(this);
+   }
+
+   /**
+    * Returns a matched connection from the candidate set of connections. 
+    *
+    * @param connectionSet Candidate connection set
+    * @param subject Caller's security information
+    * @param cxRequestInfo Additional resource adapter specific connection request information
+    * @throws ResourceException generic exception
+    * @return ManagedConnection if resource adapter finds an acceptable match otherwise null 
+    */
+   public ManagedConnection matchManagedConnections(Set connectionSet,
+         Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("matchManagedConnections()");
+      ManagedConnection result = null;
+      Iterator it = connectionSet.iterator();
+      while (result == null && it.hasNext())
+      {
+         ManagedConnection mc = (ManagedConnection)it.next();
+         if (mc instanceof TestManagedConnection)
+         {
+            result = mc;
+         }
+
+      }
+      return result;
+   }
+
+   /**
+    * Get the log writer for this ManagedConnectionFactory instance.
+    *
+    * @return PrintWriter
+    * @throws ResourceException generic exception
+    */
+   public PrintWriter getLogWriter() throws ResourceException
+   {
+      log.finest("getLogWriter()");
+      return logwriter;
+   }
+
+   /**
+    * Set the log writer for this ManagedConnectionFactory instance.
+    *
+    * @param out PrintWriter - an out stream for error logging and tracing
+    * @throws ResourceException generic exception
+    */
+   public void setLogWriter(PrintWriter out) throws ResourceException
+   {
+      log.finest("setLogWriter()");
+      logwriter = out;
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      log.finest("getResourceAdapter()");
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      log.finest("setResourceAdapter()");
+      this.ra = ra;
+   }
+
+   /** 
+    * Returns a hash code value for the object.
+    * @return A hash code value for this object.
+    */
+   @Override
+   public int hashCode()
+   {
+      int result = 17;
+      if (byteProperty != null)
+         result += 31 * result + 7 * byteProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      return result;
+   }
+
+   /** 
+    * Indicates whether some other object is equal to this one.
+    * @param other The reference object with which to compare.
+    * @return true if this object is the same as the obj argument, false otherwise.
+    */
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other == null)
+         return false;
+      if (other == this)
+         return true;
+      if (!(other instanceof TestManagedConnectionFactory))
+         return false;
+      TestManagedConnectionFactory obj = (TestManagedConnectionFactory)other;
+      boolean result = true; 
+      if (result)
+      {
+         if (byteProperty == null)
+            result = obj.getByteProperty() == null;
+         else
+            result = byteProperty.equals(obj.getByteProperty());
+      }
+      return result;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactoryImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactoryImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionFactoryImpl.java	(revision 0)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionManager;
+
+/**
+ * TestConnectionFactoryImpl
+ *
+ * @version $Revision: $
+ */
+public class TestConnectionFactoryImpl implements TestConnectionFactory
+{
+   /** The serial version UID */
+   private static final long serialVersionUID = 1L;
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestConnectionFactoryImpl");
+
+   /** Reference */
+   private Reference reference;
+
+   /** ManagedConnectionFactory */
+   private TestManagedConnectionFactory mcf;
+
+   /** ConnectionManager */
+   private ConnectionManager connectionManager;
+
+   /**
+    * Default constructor
+    */
+   public TestConnectionFactoryImpl()
+   {
+
+   }
+
+   /**
+    * Default constructor
+    * @param mcf ManagedConnectionFactory
+    * @param cxManager ConnectionManager
+    */
+   public TestConnectionFactoryImpl(TestManagedConnectionFactory mcf, ConnectionManager cxManager)
+   {
+      this.mcf = mcf;
+      this.connectionManager = cxManager;
+   }
+
+   /** 
+    * Get connection from factory
+    *
+    * @return TestConnection instance
+    * @exception ResourceException Thrown if a connection can't be obtained
+    */
+   @Override
+   public TestConnection getConnection() throws ResourceException
+   {
+      log.finest("getConnection()");
+      return (TestConnection)connectionManager.allocateConnection(mcf, null);
+   }
+
+   /**
+    * Get the Reference instance.
+    *
+    * @return Reference instance
+    * @exception NamingException Thrown if a reference can't be obtained
+    */
+   @Override
+   public Reference getReference() throws NamingException
+   {
+      log.finest("getReference()");
+      return reference;
+   }
+
+   /**
+    * Set the Reference instance.
+    *
+    * @param reference A Reference instance
+    */
+   @Override
+   public void setReference(Reference reference)
+   {
+      log.finest("setReference()");
+      this.reference = reference;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactory.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactory.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2ConnectionFactory.java	(revision 0)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+import javax.resource.ResourceException;
+
+/**
+ * Test2ConnectionFactory
+ *
+ * @version $Revision: $
+ */
+public interface Test2ConnectionFactory extends Serializable, Referenceable
+{
+   /** 
+    * Get connection from factory
+    *
+    * @return Test2Connection instance
+    * @exception ResourceException Thrown if a connection can't be obtained
+    */
+   public Test2Connection getConnection() throws ResourceException;
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivationSpec.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivationSpec.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestActivationSpec.java	(revision 0)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.resource.spi.Activation;
+import javax.resource.spi.ActivationSpec;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.InvalidPropertyException;
+import javax.resource.spi.ResourceAdapter;
+
+/**
+ * TestActivationSpec
+ *
+ * @version $Revision: $
+ */
+@Activation(messageListeners =
+      {org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno.
+            TestMessageListener.class })
+public class TestActivationSpec implements ActivationSpec
+{
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestActivationSpec");
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** charProperty */
+   @ConfigProperty(defaultValue = "a")
+   private Character charProperty;
+
+   /**
+    * Default constructor
+    */
+   public TestActivationSpec()
+   {
+
+   }
+
+   /** 
+    * Set charProperty
+    * @param charProperty The value
+    */
+   public void setCharProperty(Character charProperty)
+   {
+      this.charProperty = charProperty;
+   }
+
+   /** 
+    * Get charProperty
+    * @return The value
+    */
+   public Character getCharProperty()
+   {
+      return charProperty;
+   }
+
+   /**
+    * This method may be called by a deployment tool to validate the overall
+    * activation configuration information provided by the endpoint deployer.
+    *
+    * @throws InvalidPropertyException indicates invalid onfiguration property settings.
+    */
+   public void validate() throws InvalidPropertyException
+   {
+      log.finest("validate()");
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      log.finest("getResourceAdapter()");
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      log.finest("setResourceAdapter()");
+      this.ra = ra;
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2MessageListener.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2MessageListener.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2MessageListener.java	(revision 0)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+/**
+ * TestMessageListener
+ *
+ * @version $Revision: $
+ */
+public interface Test2MessageListener
+{
+   /**
+    * Receive message
+    * @param msg String.
+    */
+   public void onMessage(String msg);
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnection.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnection.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnection.java	(revision 0)
@@ -0,0 +1,228 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.PrintWriter;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import javax.resource.NotSupportedException;
+import javax.resource.ResourceException;
+import javax.resource.spi.ConnectionEvent;
+import javax.resource.spi.ConnectionEventListener;
+import javax.resource.spi.ConnectionRequestInfo;
+import javax.resource.spi.LocalTransaction;
+import javax.resource.spi.ManagedConnection;
+import javax.resource.spi.ManagedConnectionMetaData;
+
+import javax.security.auth.Subject;
+import javax.transaction.xa.XAResource;
+
+/**
+ * TestManagedConnection
+ *
+ * @version $Revision: $
+ */
+public class TestManagedConnection implements ManagedConnection
+{
+
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestManagedConnection");
+
+   /** The logwriter */
+   private PrintWriter logwriter;
+
+   /** ManagedConnectionFactory */
+   private TestManagedConnectionFactory mcf;
+
+   /** Listeners */
+   private List<ConnectionEventListener> listeners;
+
+   /** Connection */
+   private Object connection;
+
+   /**
+    * Default constructor
+    * @param mcf mcf
+    */
+   public TestManagedConnection(TestManagedConnectionFactory mcf)
+   {
+      this.mcf = mcf;
+      this.logwriter = null;
+      this.listeners = new ArrayList<ConnectionEventListener>(1);
+      this.connection = null;
+   }
+
+   /**
+    * Creates a new connection handle for the underlying physical connection 
+    * represented by the ManagedConnection instance. 
+    *
+    * @param subject Security context as JAAS subject
+    * @param cxRequestInfo ConnectionRequestInfo instance
+    * @return generic Object instance representing the connection handle. 
+    * @throws ResourceException generic exception if operation fails
+    */
+   public Object getConnection(Subject subject,
+      ConnectionRequestInfo cxRequestInfo) throws ResourceException
+   {
+      log.finest("getConnection()");
+      connection = new TestConnectionImpl(this, mcf);
+      return connection;
+   }
+
+   /**
+    * Used by the container to change the association of an 
+    * application-level connection handle with a ManagedConneciton instance.
+    *
+    * @param connection Application-level connection handle
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void associateConnection(Object connection) throws ResourceException
+   {
+      log.finest("associateConnection()");
+   }
+
+   /**
+    * Application server calls this method to force any cleanup on the ManagedConnection instance.
+    *
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void cleanup() throws ResourceException
+
+   {
+      log.finest("cleanup()");
+   }
+
+   /**
+    * Destroys the physical connection to the underlying resource manager.
+    *
+    * @throws ResourceException generic exception if operation fails
+    */
+   public void destroy() throws ResourceException
+   {
+      log.finest("destroy()");
+   }
+
+   /**
+    * Adds a connection event listener to the ManagedConnection instance.
+    *
+    * @param listener A new ConnectionEventListener to be registered
+    */
+   public void addConnectionEventListener(ConnectionEventListener listener)
+   {
+      log.finest("addConnectionEventListener()");
+      if (listener == null)
+         throw new IllegalArgumentException("Listener is null");
+      listeners.add(listener);
+   }
+
+   /**
+    * Removes an already registered connection event listener from the ManagedConnection instance.
+    *
+    * @param listener already registered connection event listener to be removed
+    */
+   public void removeConnectionEventListener(ConnectionEventListener listener)
+   {
+      log.finest("removeConnectionEventListener()");
+      if (listener == null)
+         throw new IllegalArgumentException("Listener is null");
+      listeners.remove(listener);
+   }
+
+   /**
+    * Close handle
+    *
+    * @param handle The handle
+    */
+   public void closeHandle(TestConnection handle)
+   {
+      ConnectionEvent event = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);
+      event.setConnectionHandle(handle);
+      for (ConnectionEventListener cel : listeners)
+      {
+         cel.connectionClosed(event);
+      }
+
+   }
+
+   /**
+    * Gets the log writer for this ManagedConnection instance.
+    *
+    * @return Character ourput stream associated with this Managed-Connection instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public PrintWriter getLogWriter() throws ResourceException
+   {
+      log.finest("getLogWriter()");
+      return logwriter;
+   }
+
+   /**
+    * Sets the log writer for this ManagedConnection instance.
+    *
+    * @param out Character Output stream to be associated
+    * @throws ResourceException  generic exception if operation fails
+    */
+   public void setLogWriter(PrintWriter out) throws ResourceException
+   {
+      log.finest("setLogWriter()");
+      logwriter = out;
+   }
+
+   /**
+    * Returns an <code>javax.resource.spi.LocalTransaction</code> instance.
+    *
+    * @return LocalTransaction instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public LocalTransaction getLocalTransaction() throws ResourceException
+   {
+      throw new NotSupportedException("LocalTransaction not supported");
+   }
+
+   /**
+    * Returns an <code>javax.transaction.xa.XAresource</code> instance. 
+    *
+    * @return XAResource instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public XAResource getXAResource() throws ResourceException
+   {
+      throw new NotSupportedException("GetXAResource not supported not supported");
+   }
+
+   /**
+    * Gets the metadata information for this connection's underlying EIS resource manager instance. 
+    *
+    * @return ManagedConnectionMetaData instance
+    * @throws ResourceException generic exception if operation fails
+    */
+   public ManagedConnectionMetaData getMetaData() throws ResourceException
+   {
+      log.finest("getMetaData()");
+      return new TestManagedConnectionMetaData();
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionMetaData.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionMetaData.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestManagedConnectionMetaData.java	(revision 0)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+import javax.resource.ResourceException;
+
+import javax.resource.spi.ManagedConnectionMetaData;
+
+/**
+ * TestManagedConnectionMetaData
+ *
+ * @version $Revision: $
+ */
+public class TestManagedConnectionMetaData implements ManagedConnectionMetaData
+{
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestManagedConnectionMetaData");
+
+   /**
+    * Default constructor
+    */
+   public TestManagedConnectionMetaData()
+   {
+
+   }
+
+   /**
+    * Returns Product name of the underlying EIS instance connected through the ManagedConnection.
+    *
+    * @return Product name of the EIS instance
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getEISProductName() throws ResourceException
+   {
+      log.finest("getEISProductName()");
+      return null; //TODO
+   }
+
+   /**
+    * Returns Product version of the underlying EIS instance connected through the ManagedConnection.
+    *
+    * @return Product version of the EIS instance
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getEISProductVersion() throws ResourceException
+   {
+      log.finest("getEISProductVersion()");
+      return null; //TODO
+   }
+
+   /**
+    * Returns maximum limit on number of active concurrent connections 
+    *
+    * @return Maximum limit for number of active concurrent connections
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public int getMaxConnections() throws ResourceException
+   {
+      log.finest("getMaxConnections()");
+      return 0; //TODO
+   }
+
+   /**
+    * Returns name of the user associated with the ManagedConnection instance
+    *
+    * @return Name of the user
+    * @throws ResourceException Thrown if an error occurs
+    */
+   @Override
+   public String getUserName() throws ResourceException
+   {
+      log.finest("getUserName()");
+      return null; //TODO
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/package.html
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/package.html	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/package.html	(revision 0)
@@ -0,0 +1,3 @@
+<body>
+Test cases about deployers.
+</body>
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectInterface.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectInterface.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectInterface.java	(revision 0)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+
+/**
+ * Test1AdminObjectInterface
+ *
+ * @version $Revision: $
+ */
+public interface Test1AdminObjectInterface extends Referenceable, Serializable
+{
+
+   /** 
+    * Set booleanProperty
+    * @param booleanProperty The value
+    */
+   public void setBooleanProperty(Boolean booleanProperty);
+
+   /** 
+    * Get booleanProperty
+    * @return The value
+    */
+   public Boolean getBooleanProperty();
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Connection.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Connection.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Connection.java	(revision 0)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+/**
+ * Test2Connection
+ *
+ * @version $Revision: $
+ */
+public interface Test2Connection
+{
+   /**
+    * Call me
+    */
+   public void callMe();
+
+   /**
+    * Close
+    */
+   public void close();
+
+   /**
+    *     
+    * @return mcf
+    */
+   public Test2ManagedConnectionFactory getMCF();
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/TestConnectionImpl.java	(revision 0)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.util.logging.Logger;
+
+/**
+ * TestConnectionImpl
+ *
+ * @version $Revision: $
+ */
+public class TestConnectionImpl implements TestConnection
+{
+   /** The logger */
+   private static Logger log = Logger.getLogger("TestConnectionImpl");
+
+   /** ManagedConnection */
+   private TestManagedConnection mc;
+
+   /** ManagedConnectionFactory */
+   private TestManagedConnectionFactory mcf;
+
+   /**
+    * Default constructor
+    * @param mc TestManagedConnection
+    * @param mcf TestManagedConnectionFactory
+    */
+   public TestConnectionImpl(TestManagedConnection mc, TestManagedConnectionFactory mcf)
+   {
+      this.mc = mc;
+      this.mcf = mcf;
+   }
+
+   /**
+    * Call me
+    */
+   public void callMe()
+   {
+      log.finest("callMe()");
+   }
+
+   /**
+    * Close
+    */
+   public void close()
+   {
+      mc.closeHandle(this);
+   }
+
+   /**
+    * 
+    * @return mcf
+    */
+   public TestManagedConnectionFactory getMCF()
+   {
+      return mcf;
+   }
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectImpl.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectImpl.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test1AdminObjectImpl.java	(revision 0)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import java.io.Serializable;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import javax.resource.Referenceable;
+import javax.resource.spi.AdministeredObject;
+import javax.resource.spi.ConfigProperty;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
+
+/**
+ * Test1AdminObjectImpl
+ *
+ * @version $Revision: $
+ */
+@AdministeredObject(adminObjectInterfaces = { Test1AdminObjectInterface.class })
+public class Test1AdminObjectImpl implements Test1AdminObjectInterface,
+   ResourceAdapterAssociation, Referenceable, Serializable
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = 1L;
+
+   /** The resource adapter */
+   private ResourceAdapter ra;
+
+   /** Reference */
+   private Reference reference;
+
+   /** booleanProperty */
+   @ConfigProperty(defaultValue = "true")
+   private Boolean booleanProperty;
+
+   /**
+    * Default constructor
+    */
+   public Test1AdminObjectImpl()
+   {
+
+   }
+
+   /** 
+    * Set booleanProperty
+    * @param booleanProperty The value
+    */
+   public void setBooleanProperty(Boolean booleanProperty)
+   {
+      this.booleanProperty = booleanProperty;
+   }
+
+   /** 
+    * Get booleanProperty
+    * @return The value
+    */
+   public Boolean getBooleanProperty()
+   {
+      return booleanProperty;
+   }
+
+   /**
+    * Get the resource adapter
+    *
+    * @return The handle
+    */
+   public ResourceAdapter getResourceAdapter()
+   {
+      return ra;
+   }
+
+   /**
+    * Set the resource adapter
+    *
+    * @param ra The handle
+    */
+   public void setResourceAdapter(ResourceAdapter ra)
+   {
+      this.ra = ra;
+   }
+
+   /**
+    * Get the Reference instance.
+    *
+    * @return Reference instance
+    * @exception NamingException Thrown if a reference can't be obtained
+    */
+   @Override
+   public Reference getReference() throws NamingException
+   {
+      return reference;
+   }
+
+   /**
+    * Set the Reference instance.
+    *
+    * @param reference A Reference instance
+    */
+   @Override
+   public void setReference(Reference reference)
+   {
+      this.reference = reference;
+   }
+
+   /** 
+    * Returns a hash code value for the object.
+    * @return A hash code value for this object.
+    */
+   @Override
+   public int hashCode()
+   {
+      int result = 17;
+      if (booleanProperty != null)
+         result += 31 * result + 7 * booleanProperty.hashCode();
+      else
+         result += 31 * result + 7;
+      return result;
+   }
+
+   /** 
+    * Indicates whether some other object is equal to this one.
+    * @param other The reference object with which to compare.
+    * @return true if this object is the same as the obj argument, false otherwise.
+    */
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other == null)
+         return false;
+      if (other == this)
+         return true;
+      if (!(other instanceof Test1AdminObjectImpl))
+         return false;
+      Test1AdminObjectImpl obj = (Test1AdminObjectImpl)other;
+      boolean result = true; 
+      if (result)
+      {
+         if (booleanProperty == null)
+            result = obj.getBooleanProperty() == null;
+         else
+            result = booleanProperty.equals(obj.getBooleanProperty());
+      }
+      return result;
+   }
+
+
+}
Index: deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Activation.java
===================================================================
--- deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Activation.java	(revision 0)
+++ deployers/src/test/java/org/jboss/jca/test/deployers/spec/rars/ra16inoutijmultianno/Test2Activation.java	(revision 0)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.test.deployers.spec.rars.ra16inoutijmultianno;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.endpoint.MessageEndpointFactory;
+
+/**
+ * TestActivation
+ *
+ * @version $Revision: $
+ */
+public class Test2Activation
+{
+
+   /** The resource adapter */
+   private TestResourceAdapter ra;
+
+   /** Activation spec */
+   private Test2ActivationSpec spec;
+
+   /** The message endpoint factory */
+   private MessageEndpointFactory endpointFactory;
+
+   /**
+    * Default constructor
+    * @exception ResourceException Thrown if an error occurs
+    */
+   public Test2Activation() throws ResourceException
+   {
+      this(null, null, null);
+   }
+
+   /**
+    * Constructor
+    * @param ra TestResourceAdapter
+    * @param endpointFactory MessageEndpointFactory
+    * @param spec TestActivationSpec
+    * @exception ResourceException Thrown if an error occurs
+    */
+   public Test2Activation(TestResourceAdapter ra, MessageEndpointFactory endpointFactory, Test2ActivationSpec spec)
+      throws ResourceException
+
+   {
+      this.ra = ra;
+      this.endpointFactory = endpointFactory;
+      this.spec = spec;
+   }
+
+   /**
+    * Get activation spec class
+    * @return Activation spec
+    */
+   public Test2ActivationSpec getActivationSpec()
+   {
+      return spec;
+   }
+
+   /**
+    * Get message endpoint factory
+    * @return Message endpoint factory
+    */
+   public MessageEndpointFactory getMessageEndpointFactory()
+   {
+      return endpointFactory;
+   }
+
+   /**
+    * Start the activation
+    * @throws ResourceException Thrown if an error occurs
+    */
+   public void start() throws ResourceException
+   {
+
+   }
+
+   /**
+    * Stop the activation
+    */
+   public void stop()
+   {
+
+   }
+
+}
