[jboss-cvs] JBossAS SVN: r100091 - in projects/javaee/trunk: jboss-connector-api_1.5_spec and 29 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jan 28 17:28:16 EST 2010


Author: smcgowan at redhat.com
Date: 2010-01-28 17:28:11 -0500 (Thu, 28 Jan 2010)
New Revision: 100091

Added:
   projects/javaee/trunk/jboss-connector-api_1.5_spec/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/pom.xml
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/NotSupportedException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/Referenceable.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/ResourceException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Connection.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionSpec.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/IndexedRecord.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Interaction.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/InteractionSpec.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/LocalTransaction.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MappedRecord.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MessageListener.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Record.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/RecordFactory.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceWarning.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSet.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSetInfo.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Streamable.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/package.html
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/package.html
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ActivationSpec.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/BootstrapContext.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/CommException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEvent.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEventListener.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/EISSystemException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/IllegalStateException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/InvalidPropertyException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransaction.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransactionException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapter.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAllocationException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SecurityException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SharingViolationException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/UnavailableException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/XATerminator.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/package.html
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/package.html
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/GenericCredential.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/PasswordCredential.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/package.html
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/ExecutionContext.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/Work.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkAdapter.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkCompletedException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkEvent.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkListener.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkManager.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkRejectedException.java
   projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/package.html
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableUnavailableException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/HintsContext.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/RetryableWorkRejectedException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/SecurityContext.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/TransactionContext.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/pom.xml
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/default.mf
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Generated.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PostConstruct.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PreDestroy.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resource.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resources.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DeclareRoles.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DenyAll.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/PermitAll.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RolesAllowed.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RunAs.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/AccessLocalException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ActivationConfigProperty.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ApplicationException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ConcurrentAccessException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/CreateException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/DuplicateKeyException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJB.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBAccessException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBContext.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBHome.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalHome.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalObject.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBMetaData.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBObject.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRequiredException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRolledbackException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBs.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EnterpriseBean.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityBean.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityContext.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/FinderException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Handle.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/HomeHandle.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Init.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Local.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/LocalHome.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDriven.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenBean.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenContext.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEJBException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEntityException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchObjectLocalException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ObjectNotFoundException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PostActivate.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PrePassivate.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remote.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoteHome.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remove.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoveException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionBean.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionContext.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionSynchronization.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateful.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateless.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimedObject.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timeout.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timer.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerHandle.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerService.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttribute.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttributeType.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagement.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagementType.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRequiredLocalException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRolledbackLocalException.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/spi/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/spi/HandleDelegate.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/AroundInvoke.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeClassInterceptors.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeDefaultInterceptors.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/Interceptors.java
   projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/InvocationContext.java
   projects/javaee/trunk/jboss-el-api_2.2_spec/
Removed:
   projects/javaee/trunk/jboss-el-api_1.2_spec/
Modified:
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/NotSupportedException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/Referenceable.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/ResourceException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Connection.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionSpec.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/IndexedRecord.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Interaction.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/InteractionSpec.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/LocalTransaction.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MappedRecord.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MessageListener.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Record.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/RecordFactory.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceWarning.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSet.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSetInfo.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Streamable.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Activation.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ActivationSpec.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AdministeredObject.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AuthenticationMechanism.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/BootstrapContext.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/CommException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConfigProperty.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinition.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinitions.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEvent.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEventListener.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Connector.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/EISSystemException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/IllegalStateException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/InvalidPropertyException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransaction.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransactionException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnection.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapter.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAllocationException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityPermission.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SharingViolationException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/TransactionSupport.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/UnavailableException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/XATerminator.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/GenericCredential.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/PasswordCredential.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWork.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWorkManager.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/ExecutionContext.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/Work.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkAdapter.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkCompletedException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContext.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextErrorCodes.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextLifecycleListener.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextProvider.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkEvent.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkListener.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkManager.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkRejectedException.java
   projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/package.html
   projects/javaee/trunk/jboss-ejb-api_3.1_spec/pom.xml
   projects/javaee/trunk/jboss-el-api_2.2_spec/pom.xml
   projects/javaee/trunk/jboss-spec-parent/pom.xml
   projects/javaee/trunk/jboss-transaction-api_1.0_spec/pom.xml
   projects/javaee/trunk/pom.xml
Log:
JBEE-15 - add jboss-ejb-api_3.0_spec, jboss-connector-api_1.5_spec, adjust el spec version

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/pom.xml	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.spec</groupId>
+    <artifactId>jboss-spec-parent</artifactId>
+    <version>6.0.0-SNAPSHOT</version>
+    <relativePath>../jboss-spec-parent/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.spec.javax.resource</groupId>
+  <artifactId>jboss-connector-api_1.5_spec</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>JBoss J2EE Connector Architecture 1.5 API</name>
+  <url>http://www.jboss.org</url>
+  <description>The J2EE Connector Architecture 1.5 API classes</description>
+  <build>
+      <plugins>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+          </configuration>
+        </plugin>
+      </plugins>
+  </build>
+
+  <dependencies>
+    <!-- For SerialVersion -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-common-core</artifactId>
+    </dependency>  
+    <dependency>
+      <groupId>org.jboss.spec.javax.transaction</groupId>
+      <artifactId>jboss-transaction-api_1.0_spec</artifactId>
+    </dependency> 
+  </dependencies>
+</project>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/NotSupportedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/NotSupportedException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/NotSupportedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,83 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource;
+
+/**
+ * A NotSupportedException is thrown to indicate that the callee (resource
+ * adapter or application server for system contracts) cannot execute an
+ * operation because the operation is not a supported feature. For example, if
+ * the transaction support level for a resource adapter is NO_TRANSACTION, an
+ * invocation of ManagedConnection.getXAResource method should throw
+ * NotSupportedException exception.
+ */
+public class NotSupportedException extends ResourceException
+{
+   /**
+	 * Create a not supported exception.
+	 */
+   public NotSupportedException()
+   {
+      super();
+   }
+
+   /**
+	 * Create a not supported exception with a reason.
+	 * 
+	 * @param reason the reason
+	 */
+   public NotSupportedException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create a not supported exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param errorCode the error code
+	 */
+   public NotSupportedException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create a not supported exception with a reason and an error.
+	 * 
+	 * @param reason the reason
+	 * @param throwable the error
+	 */
+   public NotSupportedException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+	 * Create a not supported exception with an error.
+	 * 
+	 * @param throwable the error
+	 */
+   public NotSupportedException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/Referenceable.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/Referenceable.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/Referenceable.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource;
+
+import javax.naming.Reference;
+
+/**
+ * The Referenceable interface extends the javax.naming.Referenceable
+ * interface. It enables support for the JNDI Reference mechanism for the
+ * registration of the connection factory in the JNDI name space. Note that the
+ * implementation and structure of a Reference is specific to an application
+ * server.
+ * 
+ * The implementation class for a connection factory interface is required to
+ * implement both the java.io.Serializable and the javax.resource.Referenceable
+ * interfaces to support JNDI registration.
+ */
+public interface Referenceable extends javax.naming.Referenceable
+{
+   /**
+	 * Sets the reference instance
+	 * 
+	 * @param reference the reference
+	 */
+   void setReference(Reference reference);
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/ResourceException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/ResourceException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/ResourceException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,167 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource;
+
+import org.jboss.util.id.SerialVersion;
+
+/**
+ * This is the root exception for the exception hierarchy defined for the
+ * connector architecture.
+ * 
+ * A ResourceException contains three items, the first two of which are set
+ * from the constructor. The first is a standard message string which is
+ * accessed via the getMessage() method. The second is an errorCode which is
+ * accessed via the getErrorCode() method. The third is a linked exception
+ * which provides more information from a lower level in the resource manager.
+ * Linked exceptions are accessed via get/setLinkedException.
+ */
+public class ResourceException extends Exception
+{
+   /** @since 4.0.2 */
+   static final long serialVersionUID;
+   static
+   {
+      if (SerialVersion.version == SerialVersion.LEGACY)
+         serialVersionUID = 4770679801401540475L;
+      else
+         serialVersionUID = 547071213627824490L;
+   }
+   
+   /** The error code */
+   private String errorCode;
+
+   /** The linked exception */
+   private Exception linkedException;
+
+   /**
+	 * Create an exception with a null reason.
+	 */
+   public ResourceException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an exception with a reason.
+	 * 
+	 * @param reason the reason
+	 */
+   public ResourceException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param errorCode the error code
+	 */
+   public ResourceException(String reason, String errorCode)
+   {
+      super(reason);
+      this.errorCode = errorCode;
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param throwable the linked error
+	 */
+   public ResourceException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 * 
+	 * @param throwable the linked error
+	 */
+   public ResourceException(Throwable throwable)
+   {
+      super(throwable);
+   }
+
+   /**
+	 * Get the error code.
+	 * 
+	 * @return the error code
+	 */
+   public String getErrorCode()
+   {
+      return errorCode;
+   }
+
+   /**
+	 * Get any linked exception.
+	 * 
+	 * @return the linked exception
+	 */
+   public Exception getLinkedException()
+   {
+      return linkedException;
+   }
+
+   /**
+    * Get the message composed of the reason and error code.
+    * 
+    * @return message composed of the reason and error code.
+    */
+   public String getMessage()
+   {
+      String msg = super.getMessage();
+      String ec = getErrorCode();
+      if ((msg == null) && (ec == null))
+      {
+         return null;
+      }
+      if ((msg != null) && (ec != null))
+      {
+         return (msg + ", error code: " + ec);
+      }
+      return ((msg != null) ? msg : ("error code: " + ec));
+   }
+
+   /**
+	 * Set the error code.
+	 * 
+	 * @param errorCode code the error code
+	 */
+   public void setErrorCode(String errorCode)
+   {
+      this.errorCode = errorCode;
+   }
+
+   /**
+	 * Set a linked exception.
+	 * 
+	 * @deprecated use initCause
+	 * @param linkedException the linked exception
+	 */
+   public void setLinkedException(Exception linkedException)
+   {
+      this.linkedException = linkedException;
+      initCause(linkedException);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Connection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Connection.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Connection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,62 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The Connection provides a handle for use by the application to access an
+ * underlying physical connection.
+ * 
+ * The client calls the getConnection() method on a ConnectionFactory object to
+ * get a Connection.
+ */
+public interface Connection
+{
+   /**
+	 * Closes a connection
+	 */
+   public void close() throws ResourceException;
+
+   /**
+	 * Creates a new interaction associated with this connection.
+	 */
+   public Interaction createInteraction() throws ResourceException;
+
+   /**
+	 * Gets a LocalTransaction object which allows the client to manage local
+	 * transactions for the connection.
+	 */
+   public LocalTransaction getLocalTransaction() throws ResourceException;
+
+   /**
+	 * Gets meta data for the underlying resource represented by this
+	 * connection.
+	 */
+   public ConnectionMetaData getMetaData() throws ResourceException;
+
+   /**
+	 * Gets information on ResultSet functionality supported by the underlying
+	 * resource for the connection.
+	 */
+   public ResultSetInfo getResultSetInfo() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionFactory.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,65 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import java.io.Serializable;
+
+import javax.resource.Referenceable;
+import javax.resource.ResourceException;
+
+/**
+ * The ConnectionFactory provides an interface for getting a Connection from
+ * the Resource adapter.
+ * 
+ * The application retrieves a reference to the ConnectionFactory through a
+ * JNDI lookup.
+ * 
+ * ConnectionFactory extends java.io.Serializable and
+ * javax.resource.Referenceable in order to support JNDI lookup.
+ */
+public interface ConnectionFactory extends Serializable, Referenceable
+{
+   /**
+	 * Gets a connection from the resource adapter. When using this method the
+	 * client does not pass any security information, and wants the container to
+	 * manage sign-on. This is called container managed sign-on.
+	 */
+   public Connection getConnection() throws ResourceException;
+
+   /**
+	 * Gets a connection from the resource adapter. When using this method the
+	 * client passes in the security information. This is called component
+	 * managed sign-on.
+	 */
+   public Connection getConnection(ConnectionSpec properties) throws ResourceException;
+
+   /**
+	 * Gets a RecordFactory instance for use in creating Record objects.
+	 */
+   public RecordFactory getRecordFactory() throws ResourceException;
+
+   /**
+	 * Gets metadata for the resource adapter. This call does not require an
+	 * active connection.
+	 */
+   public ResourceAdapterMetaData getMetaData() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionMetaData.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,54 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The ConnectionMetaData provides information about the underlying resources
+ * for the connection.
+ */
+public interface ConnectionMetaData
+{
+   /**
+	 * Gets the product name of the underlying resource for the connection.
+	 * 
+	 * @return Product name of underlying resource.
+	 */
+   public String getEISProductName() throws ResourceException;
+
+   /**
+	 * Gets the product version of the underlying resource for the connection.
+	 * 
+	 * @return Product version name of underlying resource.
+	 */
+   public String getEISProductVersion() throws ResourceException;
+
+   /**
+	 * Gets the user name for the connection to the underlying resource as known
+	 * to the underlying resource. This name corresponds to the principal under
+	 * whose context the connection was first made.
+	 * 
+	 * @return Product name of underlying resource.
+	 */
+   public String getUserName() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionSpec.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ConnectionSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+/**
+ * An ConnectionSpec holds connection specific properties for use by a
+ * ConnectionFactory in creating a Connection.n Connection in order to execute
+ * a function on the underlying resource.
+ * 
+ * The ConnectionSpec interface should be implemented as a JavaBean in order
+ * for ease of tool support.
+ * 
+ * A standard set of properties are defined in the specification. In addition
+ * an implementation may implement additional properties.
+ */
+public interface ConnectionSpec
+{
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/IndexedRecord.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/IndexedRecord.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/IndexedRecord.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,30 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+/**
+ * The IndexedRecord interface is used for list oriented representations of the
+ * Record elements.
+ */
+public interface IndexedRecord extends Record, java.util.List, java.io.Serializable
+{
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Interaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Interaction.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Interaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,88 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The Interaction enables a component to execute functions on the underlying
+ * resource. An object implementing the Interaction interface supports two
+ * execute() methods for interacting with the underlying resource.
+ * 
+ * An Interaction is created from a Connection and maintains an association
+ * with the Connection for its entire lifetime.
+ * @version $Revision: 37459 $
+ */
+public interface Interaction
+{
+   /**
+	 * Clears all warnings reported by this Interaction.
+	 * 
+	 * @exception ResourceException Thrown if operation fails.
+	 */
+   public void clearWarnings() throws ResourceException;
+
+   /**
+	 * Closes an interaction
+	 * 
+	 * @exception ResourceException Thrown if operation fails.
+	 */
+   public void close() throws ResourceException;
+
+   /**
+	 * Executes the interaction specified by the InteractionSpec with the
+	 * specified input.
+	 * 
+	 * @param spec Represents the target function on the underlying resource.
+	 * @param input Input Record @returns Record Output if successful, null if
+	 *           not.
+	 * @exception ResourceException Thrown if Interaction fails.
+	 */
+   public Record execute(InteractionSpec spec, Record input) throws ResourceException;
+
+   /**
+	 * Executes the interaction specified by the InteractionSpec with the
+	 * specified input.
+	 * 
+	 * @param spec Represents the target function on the underlying resource.
+	 * @param input Input Record
+	 * @param output Output record @returns boolean True if successful, false if
+	 *           not
+	 * @exception ResourceException Thrown if Interaction fails.
+	 */
+   public boolean execute(InteractionSpec spec, Record input, Record output) throws ResourceException;
+
+   /**
+	 * Gets the connection associated with this interaction.
+    * @returns Connection Associated connection
+	 * 
+	 */
+   public Connection getConnection();
+
+   /**
+	 * Gets the first warning for this interaction. @returns ResourceWarning
+	 * First warning.
+	 * 
+	 * @exception ResourceException Thrown if operation fails.
+	 */
+   public ResourceWarning getWarnings() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/InteractionSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/InteractionSpec.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/InteractionSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import java.io.Serializable;
+
+/**
+ * An InteractionSpec holds properties for use by an Interaction in order to
+ * execute a function on the underlying resource.
+ * 
+ * There is a set of standard properties which are used to give hints to an
+ * Interaction object about the requirements of a ResultSet.
+ * 
+ * FetchSize, FetchDirection, MaxFieldSize, ResultSetType, ResultSetConcurrency
+ * 
+ * A specific implementation may implement additional properties.
+ */
+public interface InteractionSpec extends Serializable
+{
+   /**
+	 * Execution requires only a send to the underlying resource.
+	 */
+   public static final int SYNC_SEND = 0;
+
+   /**
+	 * Execution requires only a send to the underlying resource.
+	 */
+   public static final int SYNC_SEND_RECEIVE = 1;
+
+   /**
+	 * Execution results in a synchronous receive of the output Record
+	 */
+   public static final int SYNC_RECEIVE = 2;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/LocalTransaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/LocalTransaction.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/LocalTransaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The LocalTransaction interface is the transaction demarcation interface for
+ * transactions local to the resource manager. This interface is used for
+ * application level transaction demarcation, the spi.LocalTransaction
+ * interface is used for transaction management within a resource adapter.
+ * 
+ * Implementation of this interface is optional for a resource manager.
+ */
+public interface LocalTransaction
+{
+   /**
+	 * Begins a local transaction on the userlying resource.
+	 */
+   public void begin() throws ResourceException;
+
+   /**
+	 * Commits a local transaction on the userlying resource.
+	 */
+   public void commit() throws ResourceException;
+
+   /**
+	 * Rolls back a local transaction on the userlying resource.
+	 */
+   public void rollback() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MappedRecord.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MappedRecord.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MappedRecord.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,33 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * The MappedRecord interface is used for key-value map based representation of
+ * the Record elements.
+ */
+public interface MappedRecord extends Record, Map, Serializable
+{
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MessageListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MessageListener.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/MessageListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * A request/response message listener that message driven beans may implement
+ */
+public interface MessageListener
+{
+   /**
+    * Request response style message listener
+    *
+    * @param inputData the input data
+    * @return the response or null
+    * @throws ResourceException for any error
+    */
+   Record onMessage(Record inputData) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Record.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Record.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Record.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import java.io.Serializable;
+
+/**
+ * The Record interface is the base interface for representing input and output
+ * for an Interaction.
+ * 
+ * A Record can be extended in several ways:
+ * <ul>
+ * <li>MappedRecord based on a Map
+ * <li>IndexedRecord based on a List
+ * <li>ResultSet based on a java.sql.ResultSet
+ * <li>Arbitrary JavaBean
+ * </ul>
+ * 
+ * Both MappedRecord and IndexedRecord support heirarchical structures of
+ * Records with Records within Records.
+ */
+public interface Record extends Cloneable, Serializable
+{
+   /**
+	 * Creae a copy of this Record
+	 */
+   public Object clone() throws CloneNotSupportedException;
+
+   /**
+	 * Compare two Records for equality
+	 */
+   public boolean equals(Object other);
+
+   /*
+	 * Return a hashcode for this Record
+	 */
+   public int hashCode();
+
+   /**
+	 * Get the name of this Record.
+	 */
+   public String getRecordName();
+
+   /**
+	 * Set the name of this Record.
+	 */
+   public void setRecordName(String name);
+
+   /**
+	 * Get the short description of this Record
+	 */
+   public String getRecordShortDescription();
+
+   /**
+	 * Set the short description of this Record
+	 */
+   public void setRecordShortDescription(String description);
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/RecordFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/RecordFactory.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/RecordFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The RecordFactory interface is used for creating MappedRecord and
+ * IndexedRecord instances.
+ */
+public interface RecordFactory
+{
+   /**
+	 * Creates a MappedRecord with the specified name. The name is used as a key
+	 * into the MetaData.
+	 */
+   public MappedRecord createMappedRecord(String recordName) throws ResourceException;
+
+   /**
+	 * Creates a IndexedRecord with the specified name. The name is used as a
+	 * key into the MetaData.
+	 */
+   public IndexedRecord createIndexedRecord(String recordName) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,96 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+/**
+ * The ResourceAdaptetMetaData provides information about the resource adapters
+ * implementation.
+ * 
+ * The resource adapter does not require an active connection to exist in order
+ * for the client to retrieve and use this data.
+ * @version $Revision: 37459 $
+ */
+public interface ResourceAdapterMetaData
+{
+   /**
+	 * Gets the resource adapter's name.
+	 * 
+	 * @return Resource adapter name.
+	 */
+   public String getAdapterName();
+
+   /**
+	 * Gets the resource adapter's short description.
+	 * 
+	 * @return Resource adapter short description.
+	 */
+   public String getAdapterShortDescription();
+
+   /**
+	 * Gets the resource adapter vendor's name.
+	 * 
+	 * @return Resource adapter vendor name.
+	 */
+   public String getAdapterVendorName();
+
+   /**
+	 * Gets the resource adapter version.
+	 * 
+	 * @return Resource adapter version.
+	 */
+   public String getAdapterVersion();
+
+   /**
+	 * Gets information on the InteractionSpec types supported by this resource
+	 * adapter.
+	 * 
+	 * @return Array of InteractionSpec names supported.
+	 */
+   public String[] getInteractionSpecsSupported();
+
+   /**
+	 * Gets the Connector specification version supported by this adapter.
+	 * 
+	 * @return Connector specification version.
+	 */
+   public String getSpecVersion();
+
+   /**
+	 * Returns true if the resource adapter Interaction implementation supports
+	 * the method boolean execute( InteractionSpec spec, Record input, Record
+	 * output ), otherwise returns false
+	 */
+   public boolean supportsExecuteWithInputAndOutputRecord();
+
+   /**
+	 * Returns true if the resource adapter Interaction implementation supports
+	 * the method boolean execute( InteractionSpec spec, Record input ),
+	 * otherwise returns false
+	 */
+   public boolean supportsExecuteWithInputRecordOnly();
+
+   /**
+	 * Returns true if the resource adapter implementation implements the
+	 * LocalTransaction interface and supports local transaction demarcation.
+	 */
+   public boolean supportsLocalTransactionDemarcation();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceWarning.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceWarning.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResourceWarning.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,96 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * ResourceWarning provides information on warnings generated by the underlying
+ * resource. They are chained to an Interaction object for later retrieval.
+ */
+public class ResourceWarning extends ResourceException
+{
+   /**
+    * Create a warning
+    */
+   public ResourceWarning()
+   {
+      super();
+   }
+
+   /**
+	 * Create a warning with a reason.
+	 */
+   public ResourceWarning(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create a warning with a reason and an errorCode.
+	 */
+   public ResourceWarning(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create a warning with a reason and an error.
+    * 
+    * @param reason the reason
+    * @param throwable the error
+    */
+   public ResourceWarning(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+    * Create a warning with an error.
+    * 
+    * @param throwable the error
+    */
+   public ResourceWarning(Throwable throwable)
+   {
+      super(throwable);
+   }
+   
+   /**
+	 * Set a linked warning.
+    * 
+    * @deprecated use initCause()
+	 */
+   public void setLinkedWarning(ResourceWarning linkedWarning)
+   {
+      setLinkedException(linkedWarning);
+   }
+
+   /**
+	 * Get any linked warning.
+    * 
+    * @deprecated use getCause()
+	 */
+   public ResourceWarning getLinkedWarning()
+   {
+      return (ResourceWarning) getLinkedException();
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSet.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSet.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSet.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,32 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+/**
+ * A ResultSet represents tabular data returned from the underlying resource by
+ * the execution of an interaction. The cci.ResultSet is based on the JDBC
+ * result set.
+ * @version $Revision: 37459 $
+ */
+public interface ResultSet extends Record, java.sql.ResultSet
+{
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSetInfo.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSetInfo.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/ResultSetInfo.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,92 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import javax.resource.ResourceException;
+
+/**
+ * The interface ResultSetInfo provides information on the support for the
+ * ResultSet interface by an underlying resource. A component can retrieve a
+ * ResultSetInfo from a Connection instance.
+ * 
+ * A resource only needs to support this interface if it also supports the
+ * ResultSet interface.
+ */
+public interface ResultSetInfo
+{
+   /**
+	 * Indicates whether or not a visible row delete can be detected.
+	 */
+   public boolean deletesAreDetected(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether or not a visible row insert can be detected.
+	 */
+   public boolean insertsAreDetected(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether deletes made by others are visible.
+	 */
+   public boolean othersDeletesAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether inserts made by others are visible.
+	 */
+   public boolean othersInsertsAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether updates made by others are visible.
+	 */
+   public boolean othersUpdatesAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether deletes made by self are visible.
+	 */
+   public boolean ownDeletesAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether inserts made by self are visible.
+	 */
+   public boolean ownInsertsAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether updates made by self are visible.
+	 */
+   public boolean ownUpdatesAreVisible(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether or not an resource adapter supports the specified type
+	 * of ResultSet.
+	 */
+   public boolean supportsResultSetType(int type) throws ResourceException;
+
+   /**
+	 * Indicates whether or not a resource adapter supports the concurrency type
+	 * in combination with the given ResultSet type.
+	 */
+   public boolean supportsResultTypeConcurrency(int type, int concurrency) throws ResourceException;
+
+   /**
+	 * Indicates whether or not a visible row update can be detected.
+	 */
+   public boolean updatesAreDetected(int type) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Streamable.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Streamable.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/Streamable.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.cci;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * The Streamable interface allows a resource adapter to interact with a Record
+ * as a stream of bytes.
+ * 
+ * The Streamable interface is used by a resource adapter.
+ */
+public interface Streamable
+{
+   /**
+	 * Read the Streamable from the specified InputStream.
+	 */
+   public void read(InputStream istream) throws IOException;
+
+   /**
+	 * Write the Streamable to the specified OutputStream.
+	 */
+   public void write(OutputStream ostream) throws IOException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/cci/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API - Common Client Interface.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ActivationSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ActivationSpec.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ActivationSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+/**
+ * A marker interface holding the configuration of a message endpoint.
+ * 
+ * An instance must be a javabean and be serializable.
+ */
+public interface ActivationSpec extends ResourceAdapterAssociation
+{
+   /**
+	 * Optional method that can be used to check configuration by a deployment
+	 * tool.
+	 * 
+	 * @throws InvalidPropertyException for invalid configuration
+	 */
+   void validate() throws InvalidPropertyException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,82 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A ApplicationServerInternalException is thrown to indicate error conditions
+ * specific to the Applcation server. This could include such errors as
+ * configuration related or implementation mechanism related errors.
+ */
+public class ApplicationServerInternalException extends ResourceException
+{
+   /**
+    * Create an exception.
+    */
+   public ApplicationServerInternalException()
+   {
+      super();
+   }
+   
+   /**
+	 * Create an exception with a reason.
+    * 
+    * @param reason the reason
+	 */
+   public ApplicationServerInternalException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+    * 
+    * @param reason the reason
+    * @param errorCode the error code
+	 */
+   public ApplicationServerInternalException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and cause.
+    * 
+    * @param reason the reason
+    * @param cause the cause
+    */
+   public ApplicationServerInternalException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+    * Create an exception with a cause.
+    * 
+    * @param cause the cause
+    */
+   public ApplicationServerInternalException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/BootstrapContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/BootstrapContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/BootstrapContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,57 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.util.Timer;
+
+import javax.resource.spi.work.WorkManager;
+
+/**
+ * Used to pass context to the resource adapter start(BootstrapContext) method.
+ */
+public interface BootstrapContext
+{
+   /**
+	 * Creates a new Timer that can be used to perform period work.
+	 * 
+	 * @return the timer instance
+	 * @throws UnavailableException when not timer is available. It can be
+	 *            retried later.
+	 */
+   Timer createTimer() throws UnavailableException;
+
+   /**
+	 * Get the work manager, the resource adapter should use this for all work
+	 * on new threads.
+	 * 
+	 * @return the work manager
+	 */
+   WorkManager getWorkManager();
+
+   /**
+	 * Get the XATerminator. The resource adapter should use this to gain access
+	 * to the transaction and crash recovery.
+	 * 
+	 * @return the XATerminator
+	 */
+   XATerminator getXATerminator();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/CommException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/CommException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/CommException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A CommException indicates error conditions related to failed or interrupted
+ * communication with an underlying resource. examples include: communication
+ * protocol error or connection loss due to server failure.
+ */
+public class CommException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public CommException()
+   {
+      super();
+   }
+   
+   /**
+	 * Create an exception with a reason.
+	 */
+   public CommException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public CommException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and cause.
+    * 
+    * @param reason the reason
+    * @param cause the cause
+    */
+   public CommException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+    * Create an exception with a cause.
+    * 
+    * @param cause the cause
+    */
+   public CommException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEvent.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEvent.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEvent.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,224 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.io.Serializable;
+import java.io.ObjectStreamField;
+import java.io.ObjectInputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.util.EventObject;
+
+import org.jboss.util.id.SerialVersion;
+
+/**
+ * The ConnectionEvent class provides information about the source of a
+ * Connection related event. A ConnectionEvent contains:
+ * <ul>
+ * 
+ * <li>Type of connection event.</li>
+ * <li>Managed connection instance that generated the event.</li>
+ * <li>Connection handle associated with the managed connection.</li>
+ * <li>Optionally an exception indicating an error.</li>
+ * </ul>
+ * <p>
+ * This class is used for the following types of notifications:
+ * <ul>
+ * 
+ * <li>Connection closed</li>
+ * <li>Local transaction started</li>
+ * <li>Local transaction commited</li>
+ * <li>Local transaction rolled back</li>
+ * <li>Connection error occurred</li>
+ * </ul>
+ * @version $Revision: 37459 $
+ */
+public class ConnectionEvent extends EventObject
+{
+   /** @since 4.0.2 */
+   static final long serialVersionUID;
+
+   // Constants -----------------------------------------------------
+   /**
+    * These field names match the j2ee 1.4.1 ri version names
+    */
+   private static final ObjectStreamField[] serialPersistentFields;
+   private static final int ID_IDX = 0;
+   private static final int EXCEPTION_IDX = 1;
+   private static final int CONN_HANDLE_IDX = 2;
+
+   static
+   {
+      if (SerialVersion.version == SerialVersion.LEGACY)
+      {
+         serialVersionUID = 2776168349823367611L;
+         serialPersistentFields = new ObjectStreamField[] {
+         /** @serialField id int */
+         new ObjectStreamField("id", int.class),
+         /** @serialField e Exception */
+         new ObjectStreamField("e", Exception.class),
+         /** @serialField connectionHandle Object */
+         new ObjectStreamField("connectionHandle", Object.class)
+         };
+      }
+      else
+      {
+         // j2ee 1.4.1 RI values
+         serialVersionUID = 5611772461379563249L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField id int */
+            new ObjectStreamField("id", int.class),
+            /** @serialField exception Exception */
+            new ObjectStreamField("exception", Exception.class),
+            /** @serialField connectionHandle Object */
+            new ObjectStreamField("connectionHandle", Object.class)
+         };         
+      }
+   }
+
+   /**
+	 * Connection has been closed
+	 */
+   public static final int CONNECTION_CLOSED = 1;
+
+   /**
+	 * Local transaction has been started
+	 */
+   public static final int LOCAL_TRANSACTION_STARTED = 2;
+
+   /**
+	 * Local transaction has been committed
+	 */
+   public static final int LOCAL_TRANSACTION_COMMITTED = 3;
+
+   /**
+	 * Local transaction has been rolled back
+	 */
+   public static final int LOCAL_TRANSACTION_ROLLEDBACK = 4;
+
+   /**
+	 * Connection error has occurred
+	 */
+   public static final int CONNECTION_ERROR_OCCURRED = 5;
+
+   /** Type of event */
+   protected int id;
+
+   /** The exception */
+   private Exception e = null;
+   /** The connectionHandle */
+   private Object connectionHandle = null;
+
+   /**
+    * Create a new ConnectionEvent
+    *
+    * @param source the source of the event
+    * @param eid the event id
+    */
+   public ConnectionEvent(ManagedConnection source, int eid)
+   {
+      super(source);
+      id = eid;
+   }
+
+   /**
+    * Create a new ConnectionEvent
+    *
+    * @param source the source of the event
+    * @param eid the event id
+    * @param exception the exception associated with the event
+    */
+   public ConnectionEvent(ManagedConnection source, int eid, Exception exception)
+   {
+      super(source);
+      id = eid;
+      e = exception;
+   }
+
+   /**
+	 * Get the event type
+    * 
+    * @return the event id
+	 */
+   public int getId()
+   {
+      return id;
+   }
+
+   /**
+	 * Get the exception
+    * 
+    * @return the exception
+	 */
+   public Exception getException()
+   {
+      return e;
+   }
+
+   /**
+	 * Set the ConnectionHandle
+    * 
+    * @param connectionHandle the connection handle
+	 */
+   public void setConnectionHandle(Object connectionHandle)
+   {
+      this.connectionHandle = connectionHandle;
+   }
+
+   /**
+	 * Get the ConnectionHandle
+    * 
+    * @return the connection handle
+	 */
+   public Object getConnectionHandle()
+   {
+      return connectionHandle;
+   }
+
+   // Private -------------------------------------------------------
+   private void readObject(ObjectInputStream ois)
+      throws ClassNotFoundException, IOException
+   {
+      ObjectInputStream.GetField fields = ois.readFields();
+      String name = serialPersistentFields[ID_IDX].getName();
+      this.id = fields.get(name, CONNECTION_ERROR_OCCURRED);
+      name = serialPersistentFields[EXCEPTION_IDX].getName();
+      this.e = (Exception) fields.get(name, null);
+      name = serialPersistentFields[CONN_HANDLE_IDX].getName();
+      this.connectionHandle = fields.get(name, null);
+   }
+
+   private void writeObject(ObjectOutputStream oos)
+      throws IOException
+   {
+      // Write j2ee 1.4.1 RI field names
+      ObjectOutputStream.PutField fields =  oos.putFields();
+      String name = serialPersistentFields[ID_IDX].getName();
+      fields.put(name, id);
+      name = serialPersistentFields[EXCEPTION_IDX].getName();
+      fields.put(name, e);
+      name = serialPersistentFields[CONN_HANDLE_IDX].getName();
+      fields.put(name, connectionHandle);
+      oos.writeFields();
+   }
+
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEventListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEventListener.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionEventListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.util.EventListener;
+
+/**
+ * The ConnectionEventListener interface provides for a callback mechanism to
+ * enable objects to listen for events of the ConnectionEvent class.
+ * 
+ * An Application server uses these events to manage its connection pools.
+ */
+public interface ConnectionEventListener extends EventListener
+{
+
+   /**
+	 * Notifies the listener that a connection has been closed
+    * 
+    * @param event the closed event
+	 */
+   void connectionClosed(ConnectionEvent event);
+
+   /**
+	 * Local transaction has been started
+    * 
+    * @param event the local transaction started event
+	 */
+   void localTransactionStarted(ConnectionEvent event);
+
+   /**
+	 * Local transaction has been committed
+    * 
+    * @param event the local transaction committed event
+	 */
+   void localTransactionCommitted(ConnectionEvent event);
+
+   /**
+	 * Local transaction has been rolled back
+    * 
+    * @param the local transaction rolled back event
+	 */
+   void localTransactionRolledback(ConnectionEvent event);
+
+   /**
+	 * Connection error has occurred
+    * 
+    * @param the connection error event
+	 */
+   void connectionErrorOccurred(ConnectionEvent event);
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionManager.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,52 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.io.Serializable;
+
+import javax.resource.ResourceException;
+
+/**
+ * The ConnectionManager interface provides the hook which allows a resource
+ * adapter to pass a connection to the Application Server. The Application
+ * Server implements this interface in order to control QoS services to the
+ * resource adapter for connection pools.
+ */
+
+public interface ConnectionManager extends Serializable
+{
+   /**
+	 * Gets called by the resource adapter's connection factory. The resource adapter
+    * uses this method to pass its managed connection factory to the connection manager.
+    * 
+    * @param mcf the managed connection factory
+    * @param cxRequestInfo the connection request info
+    * @return the connection handle
+    * @throws ResourceException for an generic error
+    * @throws ApplicationServerInternalException for problems in the application server
+    * @throws SecurityException for security problems
+    * @throws ResourceAllocationException for problems allocating resources
+    * @throws ResourceAdapterInternalException for errors from the resource adapter 
+	 */
+   public Object allocateConnection(ManagedConnectionFactory mcf, ConnectionRequestInfo cxRequestInfo)
+         throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+/**
+ * The ConnectionRequestInfo allows a resource adapter to pass its own
+ * information along with a request for a connection. In order to make use of
+ * this functionality, a resource adapter needs to extend this interface and
+ * add it's information.
+ */
+public interface ConnectionRequestInfo
+{
+   /**
+	 * Tests object for equality
+    * 
+    * @param other the object to test
+    * @return true when equal, false otherwise
+	 */
+   public boolean equals(Object other);
+
+   /**
+	 * Generates a hashCode for this object
+    * 
+    * @return the hash code
+	 */
+   public int hashCode();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A marker interface for connections that support the lazy connection
+ * association optimization.
+ */
+public interface DissociatableManagedConnection
+{
+   /**
+	 * Invoked by the application server to dissociate the managed connection
+	 * from all handles.
+	 * 
+	 * @throws ResourceException for any error
+	 * @throws ResourceAdapterInternalException for an internal error in the
+	 *            resource adapter
+	 * @throws IllegalStateException if the state cannot be cleaned up, e.g. a
+	 *            transaction is in progress
+	 */
+   void dissociateConnections() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/EISSystemException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/EISSystemException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/EISSystemException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A EISSystemException is used to indicate EIS specific error conditios.
+ * Common error conditions are failure of the EIS, communication failure or an
+ * EIS specific failure during creation of a new connection.
+ */
+public class EISSystemException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public EISSystemException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an exception with a reason.
+	 */
+   public EISSystemException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public EISSystemException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an exception with a reason and cause.
+	 * 
+	 * @param reason the reason
+	 * @param cause the cause
+	 */
+   public EISSystemException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+	 * Create an exception with a cause.
+	 * 
+	 * @param cause the cause
+	 */
+   public EISSystemException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/IllegalStateException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/IllegalStateException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/IllegalStateException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,75 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A IllegalStateException is thrown when a method has been invoked on an
+ * object which is in the wrong state to execute the method.
+ */
+public class IllegalStateException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public IllegalStateException()
+   {
+      super();
+   }
+   /**
+	 * Create an exception with a reason.
+	 */
+   public IllegalStateException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public IllegalStateException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and cause.
+    * 
+    * @param reason the reason
+    * @param cause the cause
+    */
+   public IllegalStateException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+    * Create an exception with a cause.
+    * 
+    * @param cause the cause
+    */
+   public IllegalStateException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/InvalidPropertyException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/InvalidPropertyException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/InvalidPropertyException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,117 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.beans.PropertyDescriptor;
+
+import javax.resource.ResourceException;
+
+import org.jboss.util.id.SerialVersion;
+
+/**
+ * Represents invalid configuration properties
+ */
+public class InvalidPropertyException extends ResourceException
+{
+   /** @since 4.0.2 */ 
+   static final long serialVersionUID;
+   static
+   {
+      if (SerialVersion.version == SerialVersion.LEGACY)
+         serialVersionUID = -2395559483586818078L;
+      else
+         serialVersionUID = -485903720300735741L;
+   }
+
+   /** The invalidProperties */
+   PropertyDescriptor[] invalidProperties;
+   
+   /**
+	 * Create an invalid property exception.
+	 */
+   public InvalidPropertyException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an invalid property exception with a reason.
+	 * 
+	 * @param reason the reason
+	 */
+   public InvalidPropertyException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an invalid property exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param errorCode the error code
+	 */
+   public InvalidPropertyException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an invalid property exception with a reason and an error.
+	 * 
+	 * @param reason the reason
+	 * @param throwable the error
+	 */
+   public InvalidPropertyException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+	 * Create an invalid property exception with an error.
+	 * 
+	 * @param throwable the error
+	 */
+   public InvalidPropertyException(Throwable throwable)
+   {
+      super(throwable);
+   }
+
+   /**
+    * Get the invalid property descriptors
+    *
+    * @return an array of invalid property descriptors
+    */
+   public PropertyDescriptor[] getInvalidPropertyDescriptors()
+   {
+      return invalidProperties;
+   }
+
+   /**
+    * Set the invalid property descriptors
+    *
+    * @param an array of invalid property descriptors
+    */
+   public void setInvalidPropertyDescriptors(PropertyDescriptor[] invalidProperties)
+   {
+      this.invalidProperties = invalidProperties;
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * An optioanl mixin interface for connection managers that support the lazy connection
+ * association optimization.
+ */
+public interface LazyAssociatableConnectionManager
+{
+   /**
+    * Invoked by a resource adapter to lazily associate a connection handle with the managed connection
+    *
+    * @param connection the connection handle
+    * @param mcf the managed connection factory
+    * @param cxRequestInfo the connection request info
+    * @throws ResourceException for an generic error
+    * @throws ApplicationServerInternalException for problems in the application server
+    * @throws SecurityException for security problems
+    * @throws ResourceAllocationException for problems allocating resources
+    * @throws ResourceAdapterInternalException for errors from the resource adapter 
+    */
+   void associateConnection(Object connection, ManagedConnectionFactory mcf, ConnectionRequestInfo cxReqInfo) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * An optioanl mixin interface for connection managers that support the lazy connection
+ * enlistment optimization.
+ */
+public interface LazyEnlistableConnectionManager
+{
+   /**
+    * Invoked by a resource adapter to lazily enlist a connection handle with the managed connection
+    *
+    * @param mc the managed connection
+    * @throws ResourceException for an generic error
+    * @throws ApplicationServerInternalException for problems in the application server
+    * @throws ResourceAllocationException for problems allocating resources
+    * @throws ResourceAdapterInternalException for errors from the resource adapter 
+    */
+   void lazyEnlist(ManagedConnection mc) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,30 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+/**
+ * A marker interface for connections that support the lazy connection
+ * enlistment optimization.
+ */
+public interface LazyEnlistableManagedConnection
+{
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransaction.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,64 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * The LocalTransaction interface is for transactions which are managed locally
+ * to the underlying resource and don't need an external transaction manager.
+ * 
+ * If a resource implements the LocalTransaction interface then the Application
+ * Server can choose to do local transacton optimization.
+ */
+public interface LocalTransaction
+{
+   /**
+	 * Begins a local transaction on the userlying resource.
+    * 
+    * @throws ResourceException for a generic error
+    * @throws LocalTransactionException for an error in transaciton management
+    * @throws ResourceAdapterInternalException for an internal error in the resource adapter
+    * @throws EISSystemException for an EIS specific exception 
+	 */
+   public void begin() throws ResourceException;
+
+   /**
+	 * Commits a local transaction on the userlying resource.
+    * 
+    * @throws ResourceException for a generic error
+    * @throws LocalTransactionException for an error in transaciton management
+    * @throws ResourceAdapterInternalException for an internal error in the resource adapter
+    * @throws EISSystemException for an EIS specific exception 
+	 */
+   public void commit() throws ResourceException;
+
+   /**
+	 * Rolls back a local transaction on the userlying resource.
+    * 
+    * @throws ResourceException for a generic error
+    * @throws LocalTransactionException for an error in transaciton management
+    * @throws ResourceAdapterInternalException for an internal error in the resource adapter
+    * @throws EISSystemException for an EIS specific exception 
+	 */
+   public void rollback() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransactionException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransactionException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/LocalTransactionException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,79 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A LocalTransactionException represents various error conditions related to
+ * local transaction management. Common error conditions which are indicated by
+ * this exception include failure to commit, attempt to start a transaction
+ * while inside a transaction, or any resource adapter transaction related
+ * error condition.
+ */
+public class LocalTransactionException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public LocalTransactionException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an exception with a reason.
+	 */
+   public LocalTransactionException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public LocalTransactionException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an exception with a reason and cause.
+	 * 
+	 * @param reason the reason
+	 * @param cause the cause
+	 */
+   public LocalTransactionException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+	 * Create an exception with a cause.
+	 * 
+	 * @param cause the cause
+	 */
+   public LocalTransactionException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnection.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,143 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.io.PrintWriter;
+
+import javax.resource.ResourceException;
+import javax.security.auth.Subject;
+import javax.transaction.xa.XAResource;
+
+/**
+ * A ManagedConnection instance represents a connection to the underlying
+ * recource. A ManagedConnection provides access to the two transaction
+ * interfaces, XAResource and LocalTransaction. These interfaces are used to
+ * manage transactions on the resource.
+ */
+public interface ManagedConnection
+{
+   /**
+	 * Creates a new connection handle for the underlying connection.
+	 * 
+	 * @param subject the subject
+	 * @param cxRequestInfo the connection request info
+	 * @throws ResourceException for a generic error 
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    * @throws SecurityException for a security problem
+    * @throws CommException for a communication failure with the EIS
+    * @throws EISSystemException for an error from the EIS
+	 */
+   public Object getConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException;
+
+   /**
+    * Destroys the connection to the underlying resource.
+    * 
+    * @throws ResourceException for a generic error
+    * @throws IllegalStateException if the connection is not a legal state for destruction 
+    */
+   public void destroy() throws ResourceException;
+
+   /**
+    * Application server calls this to force cleanup of connection.
+    * @throws ResourceException for a generic error
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    * @throws IllegalStateException if the connection is not a legal state for cleanup 
+    */
+   public void cleanup() throws ResourceException;
+
+   /**
+    * Associates a new application level connection handle with the connection.
+    * 
+    * @param connection the connection
+    * @throws ResourceException for a generic error
+    * @throws IllegalStateException for an illegal state
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    */
+   public void associateConnection(Object connection) throws ResourceException;
+   
+   /**
+	 * Adds a connection event listener
+	 * 
+	 * @param listener the listener
+	 */
+   public void addConnectionEventListener(ConnectionEventListener listener);
+
+   /**
+	 * Removes a connection event listener
+	 * 
+	 * @param listener the listener
+	 */
+   public void removeConnectionEventListener(ConnectionEventListener listener);
+
+   /**
+    * Returns an XAResource instance.
+    * 
+    * @return the XAResource
+    * @throws ResourceException for a generic error
+    * @throws NotSupportedException if not supported
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    */
+   public XAResource getXAResource() throws ResourceException;
+   
+   /**
+	 * Returns a LocalTransaction instance.
+    * 
+    * @return the local transaction
+    * @throws ResourceException for a generic error
+    * @throws NotSupportedException if not supported
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+	 */
+   public LocalTransaction getLocalTransaction() throws ResourceException;
+
+   /**
+    * Gets metadata inormation for this instances underlying resource manager
+    * instance.
+    * 
+    * @return the managed connection meta data
+    * @throws ResourceException for a generic error
+    * @throws NotSupportedException if not supported
+    */
+   public ManagedConnectionMetaData getMetaData() throws ResourceException;
+   
+   /**
+	 * Gets the logwriter for this instance.
+    * 
+    * @return the log writer
+    * @throws ResourceException for a generic error
+	 */
+   public PrintWriter getLogWriter() throws ResourceException;
+
+   /**
+	 * Sets the logwriter for this instance.
+    * 
+    * @param out the writer
+    * @throws ResourceException for a generic error
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+	 */
+   public void setLogWriter(PrintWriter out) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,125 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.util.Set;
+
+import javax.resource.ResourceException;
+import javax.security.auth.Subject;
+
+/**
+ * A ManagedConnectionFactory is a factory for the creation of
+ * ManagedConnection objects and ConnectionFactory objects. It provides methods
+ * which can be used to match ManagedConnetions.
+ */
+public interface ManagedConnectionFactory extends Serializable
+{
+   /**
+	 * Creates a connection factory instance. The connection manager is provided
+    * by the resource adapter.
+    * 
+    * @return the connection factory
+    * @throws ResourceException for a generic error 
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+	 */
+   public Object createConnectionFactory() throws ResourceException;
+
+   /**
+	 * Creates a connection factory instance. the connection manager is provided
+    * by the application server
+    * 
+    * @param cxManager the connection manager
+    * @return the connection factory
+    * @throws ResourceException for a generic error 
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+	 */
+   public Object createConnectionFactory(ConnectionManager cxManager) throws ResourceException;
+
+   /**
+	 * Creates a new ManagedConnection
+    * 
+    * @param subject the subject
+    * @param cxRequestInfo the connection request info
+    * @return the managed connection
+    * @throws ResourceException for a generic error 
+    * @throws ResourceAllocationException for an error allocting resources
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    * @throws SecurityException for a security problem
+    * @throws EISSystemException for an error from the EIS
+	 */
+   public ManagedConnection createManagedConnection(Subject subject, ConnectionRequestInfo cxRequestInfo)
+         throws ResourceException;
+
+   /**
+    * Returns a matching connection from the set.
+    * 
+    * @param connectionSet the connection set
+    * @param subject the subject
+    * @param cxRequestInfo the connection request info
+    * @return the managed connection
+    * @throws ResourceException for a generic error 
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    * @throws SecurityException for a security problem
+    * @throws NotSupportedException if not supported
+    */
+   public ManagedConnection matchManagedConnections(Set connectionSet, Subject subject,
+                                                    ConnectionRequestInfo cxRequestInfo) throws ResourceException;
+
+   /**
+    * Gets the logwriter for this instance.
+    * 
+    * @return the log writer
+    * @throws ResourceException for a generic error 
+    */
+   public PrintWriter getLogWriter() throws ResourceException;
+   
+   /**
+    * Sets the logwriter for this instance.
+    * 
+    * @param out the log writer
+    * @throws ResourceException for a generic error 
+    * @throws ResourceAdapterInternalException for an internal error in the
+    *            resource adapter
+    */
+   public void setLogWriter(PrintWriter out) throws ResourceException;
+   
+   /**
+	 * Tests object for equality
+    * 
+    * @param other the other object
+    * @return true when equals, false otherwise
+	 */
+   public boolean equals(Object other);
+
+   /**
+	 * Generates a hashCode for this object
+    * 
+    * @return the hash code
+	 */
+   public int hashCode();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,66 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * The ManagedConnectionMetaData interface provides information about the
+ * underlying resource associated with a ManagedConnetion. The Application
+ * Server can use this information to get information at runtime from the
+ * underlying resource.
+ */
+public interface ManagedConnectionMetaData
+{
+   /**
+	 * Returns product name of the underlying resource.
+    * 
+    * @return the product name
+    * @throws ResourceException for a generic error 
+	 */
+   public String getEISProductName() throws ResourceException;
+
+   /**
+	 * Returns product version of the underlying resource.
+    * 
+    * @return the product version
+    * @throws ResourceException for a generic error 
+	 */
+   public String getEISProductVersion() throws ResourceException;
+
+   /**
+	 * Returns the maximum supported number of connections allowed to the
+	 * underlying resource.
+    * 
+    * @return the maximum number of connections
+    * @throws ResourceException for a generic error 
+	 */
+   public int getMaxConnections() throws ResourceException;
+
+   /**
+	 * Returns user name associated with the underlying connection.
+    * 
+    * @return the user name
+    * @throws ResourceException for a generic error 
+	 */
+   public String getUserName() throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapter.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapter.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapter.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,73 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.endpoint.MessageEndpointFactory;
+import javax.transaction.xa.XAResource;
+
+/**
+ * Operations for lifecycle management and message endpoint configuration.
+ * Implementations of this interface must be javabeans
+ */
+public interface ResourceAdapter
+{
+   /**
+    * Used to bootstrap the resource adapter
+    *
+    * @param ctx the bootstrap context
+    * @throws ResourceAdapterInternalException for a bootstrap failure
+    */
+   void start(BootstrapContext ctx) throws ResourceAdapterInternalException;
+
+   /**
+    * Used to stop the resource adapter
+    */
+   void stop();
+   
+   /**
+    * Activates the endpoint factory
+    *
+    * @param endpointFactory the endpoint factory
+    * @param spec the activation spec
+    * @throws ResourceException for a generic error
+    * @throws NotSupportedException for incorrect activation
+    */
+   void endpointActivation(MessageEndpointFactory endpointFactory, ActivationSpec spec) throws ResourceException;
+   
+   /**
+    * Deactivates the endpoint
+    *
+    * @param endpointFactory the endpoint factory
+    * @param spec the activation spec
+    */
+   void endpointDeactivation(MessageEndpointFactory endpointFactory, ActivationSpec spec);
+   
+   /**
+    * Called by the application server during recovery
+    *
+    * @param specs the activation specs
+    * @return the XAResources used to perform the recovery
+    * @throws ResourceException for a generic error
+    */
+   XAResource[] getXAResources(ActivationSpec[] specs) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * Interface used to associate the resource adapter with objects that implement
+ * this interface.
+ */
+public interface ResourceAdapterAssociation
+{
+   /**
+    * Retrieve the resource adapter
+    *
+    * @return the resource adapter
+    */
+   ResourceAdapter getResourceAdapter();
+
+   /**
+    * Set the resource adapter
+    *
+    * @param the resource adapter
+    * @throws ResourceException for any error
+    * @throws ResourceAdapterInternalException for an error in the resource adapter
+    * @throws IllegalStateException if invoked more than once
+    */
+   void setResourceAdapter(ResourceAdapter ra) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,78 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A ResourceAdapterInternalException indicates any system level error
+ * conditions related to a resource adapter. Examples are invalid
+ * configuration, failure to create a connection to an underlying resource,
+ * other error condition internal to the resource adapter.
+ */
+public class ResourceAdapterInternalException extends ResourceException
+{
+   /**
+    * Create an exception.
+    */
+   public ResourceAdapterInternalException()
+   {
+      super();
+   }
+   
+   /**
+	 * Create an exception with a reason.
+	 */
+   public ResourceAdapterInternalException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public ResourceAdapterInternalException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and cause.
+    * 
+    * @param reason the reason
+    * @param cause the cause
+    */
+   public ResourceAdapterInternalException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+    * Create an exception with a cause.
+    * 
+    * @param cause the cause
+    */
+   public ResourceAdapterInternalException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAllocationException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAllocationException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ResourceAllocationException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,75 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A ResourceAllocationException can be thrown to indicate a failure to
+ * allocate system resources such as threads or physical connections.
+ */
+public class ResourceAllocationException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public ResourceAllocationException()
+   {
+      super();
+   }
+   /**
+	 * Create an exception with a reason.
+	 */
+   public ResourceAllocationException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public ResourceAllocationException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an exception with a reason and cause.
+	 * 
+	 * @param reason the reason
+	 * @param cause the cause
+	 */
+   public ResourceAllocationException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+	 * Create an exception with a cause.
+	 * 
+	 * @param cause the cause
+	 */
+   public ResourceAllocationException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SecurityException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SecurityException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SecurityException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,78 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * A SecurityException indicates error conditions related to the security
+ * contract between an application server and a resource adapter. Common types
+ * of conditions represented by this exception include: invalid security
+ * information - subject, failure to connect, failure to authenticate, access
+ * control exception.
+ */
+public class SecurityException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public SecurityException()
+   {
+      super();
+   }
+   /**
+	 * Create an exception with a reason.
+	 */
+   public SecurityException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 */
+   public SecurityException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an exception with a reason and cause.
+	 * 
+	 * @param reason the reason
+	 * @param cause the cause
+	 */
+   public SecurityException(String reason, Throwable cause)
+   {
+      super(reason, cause);
+   }
+
+   /**
+	 * Create an exception with a cause.
+	 * 
+	 * @param cause the cause
+	 */
+   public SecurityException(Throwable cause)
+   {
+      super(cause);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SharingViolationException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SharingViolationException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/SharingViolationException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * Thrown when a shared connection is used in an unshareable manner.
+ */
+public class SharingViolationException extends ResourceException
+{
+   /**
+	 * Create an exception.
+	 */
+   public SharingViolationException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an exception with a reason.
+	 * 
+	 * @param reason the reason
+	 */
+   public SharingViolationException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param errorCode the error code
+	 */
+   public SharingViolationException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an exception with a reason and an error.
+	 * 
+	 * @param reason the reason
+	 * @param throwable the error
+	 */
+   public SharingViolationException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+	 * Create an exception with an error.
+	 * 
+	 * @param throwable the error
+	 */
+   public SharingViolationException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/UnavailableException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/UnavailableException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/UnavailableException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.resource.ResourceException;
+
+/**
+ * Thrown when a service is unavailable
+ */
+public class UnavailableException extends ResourceException
+{
+   /**
+	 * Create an unavailable exception.
+	 */
+   public UnavailableException()
+   {
+      super();
+   }
+
+   /**
+	 * Create an unavailable exception with a reason.
+	 * 
+	 * @param reason the reason
+	 */
+   public UnavailableException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+	 * Create an unavailable exception with a reason and an errorCode.
+	 * 
+	 * @param reason the reason
+	 * @param errorCode the error code
+	 */
+   public UnavailableException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+	 * Create an unavailable exception with a reason and an error.
+	 * 
+	 * @param reason the reason
+	 * @param throwable the error
+	 */
+   public UnavailableException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+	 * Create an unavailable exception with an error.
+	 * 
+	 * @param throwable the error
+	 */
+   public UnavailableException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import java.util.Set;
+
+import javax.resource.ResourceException;
+
+/**
+ * A mixin interface for connection factories that can validate their managed connections
+ */
+public interface ValidatingManagedConnectionFactory
+{
+   /**
+    * Returns the invalid connections in a set
+    *
+    * @param connectionSet the set of connections to validate
+    * @return the set of invalid connections
+    * @throws ResourceException for a generic error
+    */
+   Set getInvalidConnections(Set connectionSet) throws ResourceException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/XATerminator.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/XATerminator.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/XATerminator.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,73 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.Xid;
+
+/**
+ * Transaction completion and crash recovery
+ */
+public interface XATerminator
+{
+   /**
+    * Commit the transaction
+    *
+    * @param xid the xid
+    * @param onePhase true for one phase commit, false for two phase
+    * @throws XAException for an error
+    */
+   void commit(Xid xid, boolean onePhase) throws XAException;
+
+   /**
+    * Forget the transaction
+    *
+    * @param xid the xid
+    * @throws XAException for an error
+    */
+   void forget(Xid xid) throws XAException;
+
+   /**
+    * Prepare the transaction
+    *
+    * @param xid the xid
+    * @return Either XA_RDONLY or XA_OK
+    * @throws XAException for an error
+    */
+   int prepare(Xid xid) throws XAException;
+
+   /**
+    * Rollback the transaction
+    *
+    * @param xid the xid
+    * @throws XAException for an error
+    */
+   void rollback(Xid xid) throws XAException;
+   
+   /**
+    * Retrieve xids that are recoverable
+    *
+    * @param flag the recovery option
+    * @throws XAException for an error
+    */
+   Xid[] recover(int flag) throws XAException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,63 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.endpoint;
+
+import java.lang.reflect.Method;
+
+import javax.resource.ResourceException;
+
+/**
+ * A factory for message end points
+ */
+public interface MessageEndpoint
+{
+   /**
+	 * Invoked before delivery
+	 * 
+	 * @param method the method on the endpoint
+	 * @throws NoSuchMethodException when there is no such method
+	 * @throws ResourceException for a generic error
+	 * @throws ApplicationServerInternalException for an error in the
+	 *            application server
+	 * @throws IllegalStateException when not in the correct state, eg. before
+	 *            and after delivery are not paired
+    * @throws UnavailableException when the endpoint is unavailable
+	 */
+   void beforeDelivery(Method method) throws NoSuchMethodException, ResourceException;
+
+   /**
+	 * Invoked after delivery
+	 * 
+	 * @throws ResourceException for a generic error
+    * @throws ApplicationServerInternalException for an error in the
+    *            application server
+    * @throws IllegalStateException when not in the correct state, eg. before
+    *            and after delivery are not paired
+    * @throws UnavailableException when the endpoint is unavailable
+	 */
+   void afterDelivery() throws ResourceException;
+
+   /**
+    * Release the endpoint
+    */
+   void release();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,51 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.endpoint;
+
+import java.lang.reflect.Method;
+
+import javax.resource.spi.UnavailableException;
+import javax.transaction.xa.XAResource;
+
+/**
+ * A factory for message end points
+ */
+public interface MessageEndpointFactory
+{
+   /**
+    * Creates a message endpoint
+    *
+    * @param resource the xa resource
+    * @return the message endpoint
+    * @throws UnavailableException a transient failure in the endpoint
+    */
+   MessageEndpoint createEndpoint(XAResource resource) throws UnavailableException;
+
+   /**
+    * Tests whether the delivery is transactional for the given method
+    *
+    * @param method the method to test
+    * @return true for transacted delivery, false otherwise
+    * @throws NoSuchMethodException if there is no such method for the endpoint
+    */
+   boolean isDeliveryTransacted(Method method) throws NoSuchMethodException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/endpoint/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API - Message Endpoint.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API - System Programmer Interface.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/GenericCredential.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/GenericCredential.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/GenericCredential.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,74 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.security;
+
+import javax.resource.spi.SecurityException;
+
+/**
+ * The interface GenericCredential defines a method of representing a security
+ * credential for a resource which is independent of the security mechanism. It
+ * can be used to wrap any type of underlying credentials, for example it could
+ * be used to wrap Kerberos credentials. This allows the resource adapter to
+ * utilize the credentials for sign-on to the EIS.
+ * 
+ * @deprecated Use org.ietf.jgss.GSSCredential
+ */
+public interface GenericCredential
+{
+   /**
+	 * Gets security data from the credential.
+	 * 
+	 * @deprecated Use org.ietf.jgss.GSSCredential
+	 * @return Credential data
+	 */
+   public byte[] getCredentialData() throws SecurityException;
+
+   /**
+	 * Returns the mechanism type for the credential
+	 * 
+	 * @deprecated Use org.ietf.jgss.GSSCredential
+	 * @return Mechanism Type
+	 */
+   public String getMechType();
+
+   /**
+	 * Returns the name of the principal associated with the credential
+	 * 
+	 * @deprecated Use org.ietf.jgss.GSSCredential
+	 * @return Principal name
+	 */
+   public String getName();
+
+   /**
+	 * Tests object for equality
+	 * 
+	 * @deprecated Use org.ietf.jgss.GSSCredential
+	 */
+   public boolean equals(Object other);
+
+   /**
+	 * Generates a hashCode for this object
+	 * 
+	 * @deprecated Use org.ietf.jgss.GSSCredential
+	 */
+   public int hashCode();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/PasswordCredential.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/PasswordCredential.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/PasswordCredential.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,115 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.security;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+import javax.resource.spi.ManagedConnectionFactory;
+
+/**
+ * The class PasswordCredential is a placeholder for username and password.
+ * @version $Revision: 37459 $
+ */
+public final class PasswordCredential implements Serializable
+{
+   static final long serialVersionUID = -1770833344350711674L;
+
+   /** The userName */
+   private String userName;
+   /** The password */
+   private char[] password;
+
+   /** The managed connection factory */
+   private ManagedConnectionFactory mcf = null;
+
+   /**
+	 * Constructor, creates a new password credential
+	 * 
+	 * @param userName the user name
+	 * @param password the password
+	 */
+   public PasswordCredential(String userName, char[] password)
+   {
+      this.userName = userName;
+      this.password = password;
+   }
+
+   /**
+	 * Returns the username
+	 * 
+	 * @return Username
+	 */
+   public String getUserName()
+   {
+      return userName;
+   }
+
+   /**
+	 * Returns the password
+	 * 
+	 * @return password
+	 */
+   public char[] getPassword()
+   {
+      return password;
+   }
+
+   /**
+	 * Get the managed connection factory associated with this username password
+	 * pair.
+    * 
+    * @return the managed connection factory
+	 */
+   public ManagedConnectionFactory getManagedConnectionFactory()
+   {
+      return mcf;
+   }
+
+   /**
+	 * Set the managed connection factory associated with this username password
+	 * pair.
+    * 
+    * @param mcf the managed connection factory
+	 */
+   public void setManagedConnectionFactory(ManagedConnectionFactory mcf)
+   {
+      this.mcf = mcf;
+   }
+
+   public boolean equals(Object other)
+   {
+      if (this == other)
+         return true;
+      if (other == null || getClass() != other.getClass())
+         return false;
+      final PasswordCredential otherCredential = (PasswordCredential) other;
+      if( userName == null && userName != otherCredential.userName )
+         return false;
+      return userName.equals(otherCredential.userName) && Arrays.equals(password, otherCredential.password);
+   }
+
+   public int hashCode()
+   {
+      return userName.hashCode();
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/security/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API - Security.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/ExecutionContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/ExecutionContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/ExecutionContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,81 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import javax.resource.NotSupportedException;
+import javax.transaction.xa.Xid;
+
+/**
+ * An execution context provides context information for work, e.g.
+ * transaction, security, etc.
+ */
+public class ExecutionContext
+{
+   /** The xid */
+   private Xid xid;
+   /** The timeout */
+   private long timeout = WorkManager.UNKNOWN;
+
+   /**
+	 * Get the xid
+	 * 
+	 * @return the xid
+	 */
+   public Xid getXid()
+   {
+      return xid;
+   }
+
+   /**
+	 * Set the xid
+	 * 
+	 * @param xid the xid
+	 */
+   public void setXid(Xid xid)
+   {
+      this.xid = xid;
+   }
+
+   /**
+	 * Get the transaction timeout
+	 * 
+	 * @return the transaction timeout or WorkManager.UNKNOWN for an invalid or
+	 *         unspecified value
+	 */
+   public long getTransactionTimeout()
+   {
+      return timeout;
+   }
+
+   /**
+	 * Set the transaction timeout
+	 * 
+	 * @param timeout the timeout
+	 * @throws NotSupportedException for an invalid timeout
+	 */
+   public void setTransactionTimeout(long timeout) throws NotSupportedException
+   {
+      if (timeout < 0)
+         throw new NotSupportedException("Illegal timeout " + timeout);
+      this.timeout = timeout;
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/Work.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/Work.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/Work.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,33 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+/**
+ * Work submitted to a work manager
+ */
+public interface Work extends Runnable
+{
+   /**
+    * Invoked by the work manager as a hint to stop processing
+    */
+   void release();
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkAdapter.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkAdapter.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkAdapter.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+/**
+ * A helper for work listener implementations
+ */
+public class WorkAdapter implements WorkListener
+{
+   public void workAccepted(WorkEvent e)
+   {
+   }
+
+   public void workCompleted(WorkEvent e)
+   {
+   }
+
+   public void workRejected(WorkEvent e)
+   {
+   }
+
+   public void workStarted(WorkEvent e)
+   {
+   }
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkCompletedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkCompletedException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkCompletedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import javax.resource.ResourceException;
+
+/**
+ * An error thrown when work is completed.
+ */
+public class WorkCompletedException extends WorkException
+{
+   /**
+    * Create an exception.
+    */
+   public WorkCompletedException()
+   {
+      super();
+   }
+
+   /**
+    * Create an exception with a reason.
+    *
+    * @param reason the reason
+    */
+   public WorkCompletedException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+    * Create an exception with a reason and an errorCode.
+    *
+    * @param reason the reason
+    * @param errorCode the error code
+    */
+   public WorkCompletedException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and an error.
+    *
+    * @param reason the reason
+    * @param throwable the error
+    */
+   public WorkCompletedException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+    * Create an exception with an error.
+    *
+    * @param throwable the error
+    */
+   public WorkCompletedException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkEvent.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkEvent.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkEvent.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,203 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import java.util.EventObject;
+import java.io.ObjectStreamField;
+import java.io.ObjectInputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+
+import org.jboss.util.id.SerialVersion;
+
+/**
+ * Events that occur on work
+ * @version $Revision: 37459 $
+ */
+public class WorkEvent extends EventObject
+{
+   /** @since 4.0.2 */
+   static final long serialVersionUID;
+
+   // Constants -----------------------------------------------------
+   /**
+    * These field names match the j2ee 1.4.1 ri version names
+    */
+   private static final ObjectStreamField[] serialPersistentFields;
+   private static final int TYPE_IDX = 0;
+   private static final int WORK_IDX = 1;
+   private static final int EXCPEPTION_IDX = 2;
+   private static final int DURATION_IDX = 2;
+
+   /** The WORK_ACCEPTED value */
+   public static final int WORK_ACCEPTED = 1;
+   /** The WORK_REJECTED value */
+   public static final int WORK_REJECTED = 2;
+   /** The WORK_STARTED  value */
+   public static final int WORK_STARTED = 3;
+   /** The WORK_COMPLETED value */
+   public static final int WORK_COMPLETED = 4;
+   
+   static
+   {
+      if (SerialVersion.version == SerialVersion.LEGACY)
+      {
+         serialVersionUID = 6971276136970053051L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField type int */
+            new ObjectStreamField("type", int.class),
+            /** @serialField work Work */
+            new ObjectStreamField("work", Work.class),
+            /** @serialField exception WorkException */
+            new ObjectStreamField("e", WorkException.class),
+            /** @serialField startDuration long */
+            new ObjectStreamField("startDuration", long.class)
+         };
+      }
+      else
+      {
+         // j2ee 1.4.1 RI values
+         serialVersionUID = -3063612635015047218L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField type int */
+            new ObjectStreamField("type", int.class),
+            /** @serialField work Work */
+            new ObjectStreamField("work", Work.class),
+            /** @serialField exception WorkException */
+            new ObjectStreamField("exception", WorkException.class),
+            /** @serialField startDuration long */
+            new ObjectStreamField("startDuration", long.class)
+         };         
+      }
+   }
+
+   /** The event type */
+   private int type;
+   /** The work */
+   private Work work;
+   /** The exception */
+   private WorkException e;
+   /** The start delay in millis */
+   private long startDuration;
+   
+   /**
+    * Create a new WorkEvent
+    *
+    * @param source the source of the event
+    * @param type the type
+    * @param work the work
+    * @param e the exception
+    */
+   public WorkEvent(Object source, int type, Work work, WorkException e)
+   {
+      this(source, type, work, e, 0l);
+   }
+   
+   /**
+    * Create a new WorkEvent
+    *
+    * @param source the source of the event
+    * @param type the type
+    * @param work the work
+    * @param e the exception
+    * @param startDuration the delay in the start in milliseconds
+    */
+   public WorkEvent(Object source, int type, Work work, WorkException e, long startDuration)
+   {
+      super(source);
+      this.type = type;
+      this.work = work;
+      this.e = e;
+      this.startDuration = startDuration;
+   }
+   
+   /**
+    * Get the type
+    *
+    * @return the type
+    */
+   public int getType()
+   {
+      return type;
+   }
+   
+   /**
+    * Get the work
+    *
+    * @return the work
+    */
+   public Work getWork()
+   {
+      return work;
+   }
+   
+   /**
+    * Get the exception
+    *
+    * @return the work exception
+    */
+   public WorkException getException()
+   {
+      return e;
+   }
+   
+   /**
+    * Get the start duration
+    *
+    * @return the start duration
+    */
+   public long getStartDuration()
+   {
+      return startDuration;
+   }
+
+   // Private -------------------------------------------------------
+   private void readObject(ObjectInputStream ois)
+      throws ClassNotFoundException, IOException
+   {
+      ObjectInputStream.GetField fields = ois.readFields();
+      String name = serialPersistentFields[TYPE_IDX].getName();
+      this.type = fields.get(name, 0);
+      name = serialPersistentFields[WORK_IDX].getName();
+      this.work = (Work) fields.get(name, null);
+      name = serialPersistentFields[EXCPEPTION_IDX].getName();
+      this.e = (WorkException) fields.get(name, null);
+      name = serialPersistentFields[DURATION_IDX].getName();
+      this.startDuration = fields.get(name, 0L);
+   }
+
+   private void writeObject(ObjectOutputStream oos)
+      throws IOException
+   {
+      // Write j2ee 1.4.1 RI field names
+      ObjectOutputStream.PutField fields =  oos.putFields();
+      String name = serialPersistentFields[TYPE_IDX].getName();
+      fields.put(name, type);
+      name = serialPersistentFields[WORK_IDX].getName();
+      fields.put(name, work);
+      name = serialPersistentFields[EXCPEPTION_IDX].getName();
+      fields.put(name, e);
+      name = serialPersistentFields[DURATION_IDX].getName();
+      fields.put(name, startDuration);
+      oos.writeFields();
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,91 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import javax.resource.ResourceException;
+
+/**
+ * Thrown when there is an error handling work.
+ */
+public class WorkException extends ResourceException
+{
+   /** An internal error */
+   public static final String INTERNAL = "-1";
+   /** An undefined error */
+   public static final String UNDEFINED = "0";
+   /** Expiration before work was started */
+   public static final String START_TIMED_OUT = "1";
+   /** Not allowed to do concurrent work on a transaction */
+   public static final String TX_CONCURRENT_WORK_DISALLOWED = "2";
+   /** Could not recreate the transaction context */
+   public static final String TX_RECREATE_FAILED = "3";
+
+   /**
+    * Create an exception.
+    */
+   public WorkException()
+   {
+      super();
+   }
+
+   /**
+    * Create an exception with a reason.
+    *
+    * @param reason the reason
+    */
+   public WorkException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+    * Create an exception with a reason and an errorCode.
+    *
+    * @param reason the reason
+    * @param errorCode the error code
+    */
+   public WorkException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and an error.
+    *
+    * @param reason the reason
+    * @param throwable the error
+    */
+   public WorkException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+    * Create an exception with an error.
+    *
+    * @param throwable the error
+    */
+   public WorkException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkListener.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,59 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import java.util.EventListener;
+
+/**
+ * Listens to events on work
+ * @version $Revision: 37459 $
+ */
+public interface WorkListener extends EventListener
+{
+   /**
+    * Invoked when work is accepted
+    *
+    * @param e the event
+    */
+   void workAccepted(WorkEvent e);
+
+   /**
+    * Invoked when work is rejected
+    *
+    * @param e the event
+    */
+   void workRejected(WorkEvent e);
+
+   /**
+    * Invoked when work is started
+    *
+    * @param e the event
+    */
+   void workStarted(WorkEvent e);
+
+   /**
+    * Invoked when work is completed
+    *
+    * @param e the event
+    */
+   void workCompleted(WorkEvent e);
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkManager.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,105 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+
+/**
+ * Interface used to associate the resource adapter with objects that implement
+ * this interface.
+ */
+public interface WorkManager
+{
+   /** Unknown/unspecified start delay */
+   static final long UNKNOWN = -1l;
+   /** No start delay */
+   static final long IMMEDIATE = 0l;
+   /** Indefinite start delay */
+   static final long INDEFINITE = Long.MAX_VALUE;
+   
+   /**
+    * Executes the work, the call blocks until the work completes
+    *
+    * @param work the work
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    * @throws WorkCompletedException if the work completes with an exception 
+    */
+   void doWork(Work work) throws WorkException;
+   
+   /**
+    * Executes the work, the call blocks until the work completes
+    *
+    * @param work the work
+    * @param startTimeout the wait before execution
+    * @param ctx the execution context
+    * @param listener the work listener
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    * @throws WorkCompletedException if the work completes with an exception 
+    */
+   void doWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException;
+   
+   /**
+    * Executes the work, the call blocks until the work starts
+    *
+    * @param work the work
+    * @return the time elapsed until the work starts
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    */
+   long startWork(Work work) throws WorkException;
+   
+   
+   /**
+    * Executes the work, the call blocks until the work starts
+    *
+    * @param work the work
+    * @param startTimeout the wait before execution
+    * @param ctx the execution context
+    * @param listener the work listener
+    * @return the time elapsed until the work starts
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    */
+   long startWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException;
+   
+   /**
+    * Executes the work, the call returns immediatley
+    *
+    * @param work the work
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    */
+   void scheduleWork(Work work) throws WorkException;
+   
+   /**
+    * Executes the work, the call returns immediately
+    *
+    * @param work the work
+    * @param startTimeout the wait before execution
+    * @param ctx the execution context
+    * @param listener the work listener
+    * @throws WorkException a generic error
+    * @throws WorkRejectedException if the work is rejected
+    */
+   void scheduleWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException;
+}
\ No newline at end of file

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkRejectedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkRejectedException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/WorkRejectedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,80 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.resource.spi.work;
+
+import javax.resource.ResourceException;
+
+/**
+ * Thrown when a work is rejected.
+ */
+public class WorkRejectedException extends WorkException
+{
+   /**
+    * Create an exception.
+    */
+   public WorkRejectedException()
+   {
+      super();
+   }
+
+   /**
+    * Create an exception with a reason.
+    *
+    * @param reason the reason
+    */
+   public WorkRejectedException(String reason)
+   {
+      super(reason);
+   }
+
+   /**
+    * Create an exception with a reason and an errorCode.
+    *
+    * @param reason the reason
+    * @param errorCode the error code
+    */
+   public WorkRejectedException(String reason, String errorCode)
+   {
+      super(reason, errorCode);
+   }
+
+   /**
+    * Create an exception with a reason and an error.
+    *
+    * @param reason the reason
+    * @param throwable the error
+    */
+   public WorkRejectedException(String reason, Throwable throwable)
+   {
+      super(reason, throwable);
+   }
+
+   /**
+    * Create an exception with an error.
+    *
+    * @param throwable the error
+    */
+   public WorkRejectedException(Throwable throwable)
+   {
+      super(throwable);
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/package.html	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.5_spec/src/main/javax/resource/spi/work/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <!-- $Id: package.html 18252 2003-12-18 17:14:00Z ejort $ -->
+    <!--
+
+    JBoss: The OpenSource J2EE WebOS 
+
+    Distributable under LGPL license.
+    See terms of license at gnu.org.
+
+    -->
+  </head>
+
+  <body bgcolor="white">
+    <p>J2EE Connector API - Work Management.
+
+    <h2>Package Specification</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/1.4/docs/api/index.html">Specified javadocs</a>
+    </ul>
+      
+    <h2>Related Documentation</h2>
+    <ul>
+      <li><a href="http://java.sun.com/j2ee/connector/download.html">The specification</a>
+    </ul>
+
+    <h2>Package Status</h2>
+    <ul>
+      <li><font color="green"><b>STABLE</b></font>
+    </ul>
+
+    <!-- Put @see and @since tags down here. -->
+
+  </body>
+</html>

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/NotSupportedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/NotSupportedException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/NotSupportedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * A <code>NotSupportedException</code> is thrown to indicate that 
  * callee (resource adapter
@@ -38,50 +40,89 @@
  * @author Ram Jeyaraman
  */
 
-public class NotSupportedException extends javax.resource.ResourceException {
-    
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public NotSupportedException() { super(); }
+public class NotSupportedException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public NotSupportedException(String message) {
-	super(message);
-    }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public NotSupportedException(Throwable cause) {
-	super(cause);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 1510031578141681454L;
+      }
+      else
+      {
+         serialVersionUID = -5433838894743521833L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public NotSupportedException() 
+   { 
+      super(); 
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public NotSupportedException(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public NotSupportedException(String message, Throwable cause) {
-	super(message, cause);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public NotSupportedException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public NotSupportedException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public NotSupportedException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public NotSupportedException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/Referenceable.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/Referenceable.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/Referenceable.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource;
 
@@ -39,18 +39,16 @@
  *
 **/
 
-public interface Referenceable extends javax.naming.Referenceable {
-
-  /** Sets the Reference instance. This method is called by the
-   *  deployment code to set the Reference that can be later
-   *  returned by the getReference method (as defined in the
-   *  javax.naming.Referenceable interface).
-   *
-   *  @param   reference  A Reference instance
-   *  @see     javax.naming.Referenceable#getReference
-   *
-  **/
-  public 
-  void setReference(Reference reference);
-
+public interface Referenceable extends javax.naming.Referenceable 
+{
+   /** Sets the Reference instance. This method is called by the
+    *  deployment code to set the Reference that can be later
+    *  returned by the getReference method (as defined in the
+    *  javax.naming.Referenceable interface).
+    *
+    *  @param   reference  A Reference instance
+    *  @see     javax.naming.Referenceable#getReference
+    *
+    **/
+   public void setReference(Reference reference);
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/ResourceException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/ResourceException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/ResourceException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * This is the root interface of the exception hierarchy defined
  * for the Connector architecture.
@@ -31,13 +33,13 @@
  * <UL>
  *   <LI> A resource adapter vendor specific string describing the error.
  *        This string is a standard Java exception message and is available
- *        through getMessage() method.
- *   <LI> resource adapter vendor specific error code.
+ *        through getMessage() method.</LI>
+ *   <LI> resource adapter vendor specific error code.</LI>
  *   <LI> reference to another exception. Often a resource exception
  *        will be result of a lower level problem. If appropriate, this
  *        lower level exception can be linked to the ResourceException.
  *        Note, this has been deprecated in favor of J2SE release 1.4 exception
- *        chaining facility.
+ *        chaining facility.</LI>
  * </UL>
  *
  * @version 1.0
@@ -45,121 +47,167 @@
  * @author Ram Jeyaraman
  */
 
-public class ResourceException extends java.lang.Exception {
+public class ResourceException extends Exception 
+{
+   /** Serial version UID */
+   private static final long serialVersionUID;
 
-    /** Vendor specific error code */
-    private String errorCode;
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /** reference to another exception */
-    private Exception linkedException;
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 4770679801401540475L;
+      }
+      else
+      {
+         serialVersionUID = 547071213627824490L;
+      }
+   }
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public ResourceException() { super(); }
-
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public ResourceException(String message) {
-	super(message);
-    }
-
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Create a new throwable with the specified message and error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public ResourceException(String message, String errorCode) {
-	super(message);
-	this.errorCode = errorCode;
-    }    
-
-    /**
-     * Set the error code.
-     *
-     * @param errorCode the error code.
-     */
-    public void setErrorCode(String errorCode) {
-	this.errorCode = errorCode;
-    }
-
-    /**
-     * Get the error code.
-     *
-     * @return the error code.
-     */
-    public String getErrorCode() {
-	return this.errorCode;
-    }
-
-    /**
-     * Get the exception linked to this ResourceException
-     *
-     * @return         linked Exception, null if none
-     *
-     * @deprecated J2SE release 1.4 supports a chained exception facility 
-     * that allows any throwable to know about another throwable, if any,
-     * that caused it to get thrown. Refer to <code>getCause</code> and 
-     * <code>initCause</code> methods of the 
-     * <code>java.lang.Throwable</code> class..
-     */
-    public Exception getLinkedException() {
-	return (linkedException);
-    }
-
-    /**
-     * Add a linked Exception to this ResourceException.
-     *
-     * @param ex       linked Exception
-     *
-     * @deprecated J2SE release 1.4 supports a chained exception facility 
-     * that allows any throwable to know about another throwable, if any,
-     * that caused it to get thrown. Refer to <code>getCause</code> and 
-     * <code>initCause</code> methods of the 
-     * <code>java.lang.Throwable</code> class.
-     */
-    public void setLinkedException(Exception ex) {
-	linkedException = ex;
-    }
-
-    /**
-     * Returns a detailed message string describing this exception.
-     *
-     * @return a detailed message string.
-     */
-    public String getMessage() {
-	String msg = super.getMessage();
-	String ec = getErrorCode();
-	if ((msg == null) && (ec == null)) {
-	    return null;
-	}
-	if ((msg != null) && (ec != null)) {
-	    return (msg + ", error code: " + ec);
-	}
-	return ((msg != null) ? msg : ("error code: " + ec));
-    }
+   /** Vendor specific error code */
+   private String errorCode;
+   
+   /** reference to another exception */
+   private Exception linkedException;
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public ResourceException()
+   { 
+      super();
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public ResourceException(String message)
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Create a new throwable with the specified message and error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public ResourceException(String message, String errorCode) 
+   {
+      super(message);
+      this.errorCode = errorCode;
+   }    
+   
+   /**
+    * Set the error code.
+    *
+    * @param errorCode the error code.
+    */
+   public void setErrorCode(String errorCode) 
+   {
+      this.errorCode = errorCode;
+   }
+   
+   /**
+    * Get the error code.
+    *
+    * @return the error code.
+    */
+   public String getErrorCode() 
+   {
+      return this.errorCode;
+   }
+   
+   /**
+    * Get the exception linked to this ResourceException
+    *
+    * @return         linked Exception, null if none
+    *
+    * @deprecated J2SE release 1.4 supports a chained exception facility 
+    * that allows any throwable to know about another throwable, if any,
+    * that caused it to get thrown. Refer to <code>getCause</code> and 
+    * <code>initCause</code> methods of the 
+    * <code>java.lang.Throwable</code> class..
+    */
+   public Exception getLinkedException() 
+   {
+      return linkedException;
+   }
+   
+   /**
+    * Add a linked Exception to this ResourceException.
+    *
+    * @param ex       linked Exception
+    *
+    * @deprecated J2SE release 1.4 supports a chained exception facility 
+    * that allows any throwable to know about another throwable, if any,
+    * that caused it to get thrown. Refer to <code>getCause</code> and 
+    * <code>initCause</code> methods of the 
+    * <code>java.lang.Throwable</code> class.
+    */
+   public void setLinkedException(Exception ex) 
+   {
+      linkedException = ex;
+   }
+   
+   /**
+    * Returns a detailed message string describing this exception.
+    *
+    * @return a detailed message string.
+    */
+   public String getMessage() 
+   {
+      String msg = super.getMessage();
+      String ec = getErrorCode();
+      if ((msg == null) && (ec == null)) 
+      {
+         return null;
+      }
+      if ((msg != null) && (ec != null)) 
+      {
+         return (msg + ", error code: " + ec);
+      }
+      return ((msg != null) ? msg : ("error code: " + ec));
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Connection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Connection.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Connection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,28 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
 
 
 /** A Connection represents an application-level handle that is used 
@@ -42,78 +41,70 @@
  *  @see     javax.resource.cci.Interaction
  **/
 
-public interface Connection {
+public interface Connection 
+{
   
-  /** Creates an Interaction associated with this Connection. An
-   *  Interaction enables an application to execute EIS functions. 
-   *
-   *  @return  Interaction instance  
-   *  @throws  ResourceException     Failed to create an Interaction
-  **/
-  public
-  Interaction createInteraction() 
-			    throws ResourceException;
+   /** Creates an Interaction associated with this Connection. An
+    *  Interaction enables an application to execute EIS functions. 
+    *
+    *  @return  Interaction instance  
+    *  @throws  ResourceException     Failed to create an Interaction
+    **/
+   public Interaction createInteraction() throws ResourceException;
 
-  /** Returns an LocalTransaction instance that enables a component to
-   *  demarcate resource manager local transactions on the Connection.
-   *  If a resource adapter does not allow a component to demarcate 
-   *  local transactions on an Connection using LocalTransaction 
-   *  interface, then the method getLocalTransaction should throw a 
-   *  NotSupportedException.
-   *
-   *  @return   LocalTransaction instance
-   *           
-   *  @throws   ResourceException   Failed to return a LocalTransaction
-   *                                instance because of a resource
-   *                                adapter error
-   *  @throws   NotSupportedException Demarcation of Resource manager 
-   *                                local transactions is not supported
-   *                                on this Connection
-   *  @see javax.resource.cci.LocalTransaction
-  **/
-
-  public
-  LocalTransaction getLocalTransaction() throws ResourceException;
+   /** Returns an LocalTransaction instance that enables a component to
+    *  demarcate resource manager local transactions on the Connection.
+    *  If a resource adapter does not allow a component to demarcate 
+    *  local transactions on an Connection using LocalTransaction 
+    *  interface, then the method getLocalTransaction should throw a 
+    *  NotSupportedException.
+    *
+    *  @return   LocalTransaction instance
+    *           
+    *  @throws   ResourceException   Failed to return a LocalTransaction
+    *                                instance because of a resource
+    *                                adapter error
+    *  @throws   javax.resource.NotSupportedException Demarcation of Resource manager 
+    *                                local transactions is not supported
+    *                                on this Connection
+    *  @see javax.resource.cci.LocalTransaction
+    **/
+   public LocalTransaction getLocalTransaction() throws ResourceException;
   
-  /** Gets the information on the underlying EIS instance represented
-   *  through an active connection.
-   *
-   *  @return   ConnectionMetaData instance representing information 
-   *            about the EIS instance
-   *  @throws   ResourceException  
-   *                        Failed to get information about the 
-   *                        connected EIS instance. Error can be
-   *                        resource adapter-internal, EIS-specific
-   *                        or communication related.
-  **/
-  public
-  ConnectionMetaData getMetaData() throws ResourceException;
+   /** Gets the information on the underlying EIS instance represented
+    *  through an active connection.
+    *
+    *  @return   ConnectionMetaData instance representing information 
+    *            about the EIS instance
+    *  @throws   ResourceException  
+    *                        Failed to get information about the 
+    *                        connected EIS instance. Error can be
+    *                        resource adapter-internal, EIS-specific
+    *                        or communication related.
+    **/
+   public ConnectionMetaData getMetaData() throws ResourceException;
 
-  /** Gets the information on the ResultSet functionality supported by
-   *  a connected EIS instance.
-   *
-   *  @return   ResultSetInfo instance
-   *  @throws   ResourceException     Failed to get ResultSet related 
-   *                                  information
-   *  @throws   NotSupportedException ResultSet functionality is not
-   *                                  supported
-  **/
-  public
-  ResultSetInfo getResultSetInfo() throws ResourceException;
+   /** Gets the information on the ResultSet functionality supported by
+    *  a connected EIS instance.
+    *
+    *  @return   ResultSetInfo instance
+    *  @throws   ResourceException     Failed to get ResultSet related 
+    *                                  information
+    *  @throws   javax.resource.NotSupportedException ResultSet functionality is not
+    *                                  supported
+    **/
+   public ResultSetInfo getResultSetInfo() throws ResourceException;
   
-  
-  /** Initiates close of the connection handle at the application level.
-   *  A client should not use a closed connection to interact with 
-   *  an EIS.
-   *  
-   *  @throws  ResourceException  Exception thrown if close
-   *                              on a connection handle fails.
-   *           <p>Any invalid connection close invocation--example,
-   *              calling close on a connection handle that is 
-   *              already closed--should also throw this exception.
-   *  
-  **/
-  public
-  void close() throws ResourceException;
-
+   /** Initiates close of the connection handle at the application level.
+    *  A client should not use a closed connection to interact with 
+    *  an EIS.
+    *  
+    *  @throws  ResourceException  Exception thrown if close
+    *                              on a connection handle fails.
+    *           <p>Any invalid connection close invocation--example,
+    *              calling close on a connection handle that is 
+    *              already closed--should also throw this exception.
+    *  
+    **/
+   public void close() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionFactory.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,33 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-
-import java.io.PrintWriter;
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
 
-
 /** <code>ConnectionFactory</code> provides an interface for getting
  *  connection to an EIS instance. An implementation of ConnectionFactory
  *  interface is provided by a resource adapter.
@@ -45,98 +41,92 @@
  *  @see     javax.resource.cci.Connection
  *  @see     javax.resource.Referenceable
  **/
-public interface ConnectionFactory 
-                    extends java.io.Serializable, 
-                            javax.resource.Referenceable {
-  
-  /** Gets a connection to an EIS instance. This getConnection variant
-   *  should be used when a component wants the container to manage EIS 
-   *  sign-on. This case is termed container-managed sign-on. The 
-   *  component does not pass any security information.
-   *
-   *
-   *  @return   Connection instance
-   *  @throws   ResourceException   Failed to get a connection to
-   *                                the EIS instance. Examples of
-   *                                error cases are:
-   *          <UL>
-   *          <LI> Invalid configuration of ManagedConnectionFactory--
-   *               example: invalid server name
-   *          <LI> Application server-internal error--example:
-   *               connection pool related error
-   *          <LI> Communication error 
-   *          <LI> EIS-specific error--example: EIS not active
-   *          <LI> Resource adapter-internal error
-   *          <LI> Security related error; example: invalid user
-   *          <LI> Failure to allocate system resources
-   *         </UL>                        
-  **/
-  public 
-  Connection getConnection() throws ResourceException;
+public interface ConnectionFactory  extends java.io.Serializable, javax.resource.Referenceable 
+{
+   
+   /** Gets a connection to an EIS instance. This getConnection variant
+    *  should be used when a component wants the container to manage EIS 
+    *  sign-on. This case is termed container-managed sign-on. The 
+    *  component does not pass any security information.
+    *
+    *
+    *  @return   Connection instance
+    *  @throws   ResourceException   Failed to get a connection to
+    *                                the EIS instance. Examples of
+    *                                error cases are:
+    *          <UL>
+    *          <LI> Invalid configuration of ManagedConnectionFactory--
+    *               example: invalid server name
+    *          <LI> Application server-internal error--example:
+    *               connection pool related error
+    *          <LI> Communication error 
+    *          <LI> EIS-specific error--example: EIS not active
+    *          <LI> Resource adapter-internal error
+    *          <LI> Security related error; example: invalid user
+    *          <LI> Failure to allocate system resources
+    *         </UL>                        
+    **/
+   public Connection getConnection() throws ResourceException;
 
-  /** Gets a connection to an EIS instance. A component should use 
-   *  the getConnection variant with javax.resource.cci.ConnectionSpec
-   *  parameter, if it needs to pass any resource adapter specific 
-   *  security information and connection parameters. In the component-
-   *  managed sign-on case, an application component passes security 
-   *  information (example: username, password) through the 
-   *  ConnectionSpec instance.
-   * 
-   *  <p>It is important to note that the properties passed through 
-   *  the getConnection method should be client-specific (example: 
-   *  username, password, language) and not related to the 
-   *  configuration of a target EIS instance (example: port number, 
-   *  server name). The ManagedConnectionFactory instance is configured
-   *  with complete set of properties required for the creation of a 
-   *  connection to an EIS instance. 
-   *
-   *  @param  properties          Connection parameters and security
-   *                              information specified as 
-   *                              ConnectionSpec instance
-   *  @return Connection instance
-   *
-   *  @throws ResourceException   Failed to get a connection to
-   *                              the EIS instance. Examples of
-   *                              error cases are:
-   *          <UL>
-   *          <LI> Invalid specification of input parameters
-   *          <LI> Invalid configuration of ManagedConnectionFactory--
-   *               example: invalid server name
-   *          <LI> Application server-internal error--example:
-   *               connection pool related error
-   *          <LI> Communication error 
-   *          <LI> EIS-specific error--example: EIS not active
-   *          <LI> Resource adapter-internal error
-   *          <LI> Security related error; example: invalid user
-   *          <LI> Failure to allocate system resources
-   *         </UL>                        
-   *  @see     javax.resource.cci.ConnectionSpec
-  **/
-  public 
-  Connection getConnection(ConnectionSpec properties) 
-                       throws ResourceException;
+   /** Gets a connection to an EIS instance. A component should use 
+    *  the getConnection variant with javax.resource.cci.ConnectionSpec
+    *  parameter, if it needs to pass any resource adapter specific 
+    *  security information and connection parameters. In the component-
+    *  managed sign-on case, an application component passes security 
+    *  information (example: username, password) through the 
+    *  ConnectionSpec instance.
+    * 
+    *  <p>It is important to note that the properties passed through 
+    *  the getConnection method should be client-specific (example: 
+    *  username, password, language) and not related to the 
+    *  configuration of a target EIS instance (example: port number, 
+    *  server name). The ManagedConnectionFactory instance is configured
+    *  with complete set of properties required for the creation of a 
+    *  connection to an EIS instance. 
+    *
+    *  @param  properties          Connection parameters and security
+    *                              information specified as 
+    *                              ConnectionSpec instance
+    *  @return Connection instance
+    *
+    *  @throws ResourceException   Failed to get a connection to
+    *                              the EIS instance. Examples of
+    *                              error cases are:
+    *          <UL>
+    *          <LI> Invalid specification of input parameters
+    *          <LI> Invalid configuration of ManagedConnectionFactory--
+    *               example: invalid server name
+    *          <LI> Application server-internal error--example:
+    *               connection pool related error
+    *          <LI> Communication error 
+    *          <LI> EIS-specific error--example: EIS not active
+    *          <LI> Resource adapter-internal error
+    *          <LI> Security related error; example: invalid user
+    *          <LI> Failure to allocate system resources
+    *         </UL>                        
+    *  @see     javax.resource.cci.ConnectionSpec
+    **/
+   public Connection getConnection(ConnectionSpec properties) 
+      throws ResourceException;
 
-  /** Gets a RecordFactory instance. The RecordFactory is used for
-   *  the creation of generic Record instances.
-   *
-   *  @return RecordFactory         RecordFactory instance
-   *
-   *  @throws ResourceException     Failed to create a RecordFactory
-   *  @throws NotSupportedException Operation not supported
-  **/
-  public
-  RecordFactory getRecordFactory() throws ResourceException;
+   /** Gets a RecordFactory instance. The RecordFactory is used for
+    *  the creation of generic Record instances.
+    *
+    *  @return RecordFactory         RecordFactory instance
+    *
+    *  @throws ResourceException     Failed to create a RecordFactory
+    *  @throws javax.resource.NotSupportedException Operation not supported
+    **/
+   public RecordFactory getRecordFactory() throws ResourceException;
 
-  /** Gets metadata for the Resource Adapter. Note that the metadata
-   *  information is about the ResourceAdapter and not the EIS instance.
-   *  An invocation of this method does not require that an active
-   *  connection to an EIS instance should have been established.
-   *
-   *  @return  ResourceAdapterMetaData instance
-   *  @throws   ResourceException Failed to get metadata information 
-   *                              about the resource adapter
-  **/
-  public
-  ResourceAdapterMetaData getMetaData() throws ResourceException;
-
+   /** Gets metadata for the Resource Adapter. Note that the metadata
+    *  information is about the ResourceAdapter and not the EIS instance.
+    *  An invocation of this method does not require that an active
+    *  connection to an EIS instance should have been established.
+    *
+    *  @return  ResourceAdapterMetaData instance
+    *  @throws   ResourceException Failed to get metadata information 
+    *                              about the resource adapter
+    **/
+   public ResourceAdapterMetaData getMetaData() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionMetaData.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -36,36 +36,34 @@
  *  @see         javax.resource.cci.ResultSetInfo
 **/
 
-public interface ConnectionMetaData {
+public interface ConnectionMetaData 
+{
 
-  /** Returns product name of the underlying EIS instance connected
-   *  through the Connection that produced this metadata.
-   *
-   *  @return   Product name of the EIS instance
-   *  @throws   ResourceException  Failed to get the information for
-   *                               the EIS instance
-  **/
-  public
-  String getEISProductName() throws ResourceException;
+   /** Returns product name of the underlying EIS instance connected
+    *  through the Connection that produced this metadata.
+    *
+    *  @return   Product name of the EIS instance
+    *  @throws   ResourceException  Failed to get the information for
+    *                               the EIS instance
+    **/
+   public String getEISProductName() throws ResourceException;
 
-  /** Returns product version of the underlying EIS instance.
-   *
-   *  @return   Product version of an EIS instance. 
-   *  @throws   ResourceException  Failed to get the information for
-   *                               the EIS instance
-  **/
-  public
-  String getEISProductVersion() throws ResourceException;
+   /** Returns product version of the underlying EIS instance.
+    *
+    *  @return   Product version of an EIS instance. 
+    *  @throws   ResourceException  Failed to get the information for
+    *                               the EIS instance
+    **/
+   public String getEISProductVersion() throws ResourceException;
 
-  /** Returns the user name for an active connection as known to 
-   *  the underlying EIS instance. The name corresponds the resource
-   *  principal under whose security context a connection to the
-   *  EIS instance has been established.
-   *
-   *  @return   String representing the user name
-   *  @throws   ResourceException  Failed to get the information for
-   *                               the EIS instance           
-  **/
-  public
-  String getUserName() throws ResourceException;
+   /** Returns the user name for an active connection as known to 
+    *  the underlying EIS instance. The name corresponds the resource
+    *  principal under whose security context a connection to the
+    *  EIS instance has been established.
+    *
+    *  @return   String representing the user name
+    *  @throws   ResourceException  Failed to get the information for
+    *                               the EIS instance           
+    **/
+   public String getUserName() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionSpec.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ConnectionSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -42,6 +42,7 @@
  *  @see     javax.resource.cci.ConnectionFactory
  **/
 
-public interface ConnectionSpec {
+public interface ConnectionSpec 
+{
 
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/IndexedRecord.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/IndexedRecord.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/IndexedRecord.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -30,7 +30,7 @@
  *  @author  Rahul Sharma
  *  @since   0.8
 **/
-public interface IndexedRecord extends Record, java.util.List, 
-                                       java.io.Serializable {
+public interface IndexedRecord extends Record, java.util.List, java.io.Serializable 
+{
 
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Interaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Interaction.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Interaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,28 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
 
 
 /** The <code>javax.resource.cci.Interaction</code> enables a component to 
@@ -51,112 +50,105 @@
  *  @see     java.sql.ResultSet
 **/
 
-public interface Interaction {
+public interface Interaction 
+{
   
-  /** Closes the current Interaction and release all the resources
-   *  held for this instance by the resource adapter. The close of an 
-   *  Interaction instance does not close the associated Connection 
-   *  instance. It is recommended that Interaction instances be
-   *  closed explicitly to free any held resources.
-   *
-   *  @throws  ResourceException Failed to close the Interaction
-   *                             instance. Invoking close on an 
-   *                             already closed Interaction should 
-   *                             also throw this exception. 
-  **/
-  public
-  void close() throws ResourceException;
+   /** Closes the current Interaction and release all the resources
+    *  held for this instance by the resource adapter. The close of an 
+    *  Interaction instance does not close the associated Connection 
+    *  instance. It is recommended that Interaction instances be
+    *  closed explicitly to free any held resources.
+    *
+    *  @throws  ResourceException Failed to close the Interaction
+    *                             instance. Invoking close on an 
+    *                             already closed Interaction should 
+    *                             also throw this exception. 
+    **/
+   public void close() throws ResourceException;
 
+   /** Gets the Connection associated with the Interaction.
+    *
+    *  @return   Connection instance associated with the Interaction
+    **/
+   public Connection getConnection();
 
-  /** Gets the Connection associated with the Interaction.
-   *
-   *  @return   Connection instance associated with the Interaction
-  **/
-  public
-  Connection getConnection();
-
-  /** Executes an interaction represented by the InteractionSpec.
-   *  This form of invocation takes an input Record and updates
-   *  the output Record. 
-   *  
-   *  @param   ispec   InteractionSpec representing a target EIS 
-   *                   data/function module   
-   *  @param   input   Input Record
-   *  @param   output  Output Record
-   * 
-   *  @return  true if execution of the EIS function has been 
-   *           successful and output Record has been updated; false
-   *           otherwise
-   *
-   *  @throws  ResourceException   Exception if execute operation
-   *                               fails. Examples of error cases
-   *                               are:
-   *         <UL>
-   *           <LI> Resource adapter internal, EIS-specific or 
-   *                communication error 
-   *           <LI> Invalid specification of an InteractionSpec, 
-   *                input or output record structure
-   *           <LI> Errors in use of input or output Record
-   *           <LI> Invalid connection associated with this 
-   *                Interaction
-   *	     </UL>
-   *  @throws NotSupportedException Operation not supported 
-   *                             
-  **/
-  public
-  boolean execute(InteractionSpec ispec, 
-		  Record input, 
-		  Record output) throws ResourceException;
-
-  /** Executes an interaction represented by the InteractionSpec.
-   *  This form of invocation takes an input Record and returns an 
-   *  output Record if the execution of the Interaction has been
-   *  successfull.
-   *  
-   *  @param   ispec   InteractionSpec representing a target EIS 
-   *                   data/function module   
-   *  @param   input   Input Record
-
-   *  @return  output Record if execution of the EIS function has been 
-   *           successful; null otherwise
-   *
-   *  @throws  ResourceException   Exception if execute operation
-   *                               fails. Examples of error cases
-   *                               are:
-   *         <UL>
-   *           <LI> Resource adapter internal, EIS-specific or 
-   *                communication error 
-   *           <LI> Invalid specification of an InteractionSpec 
-   *                or input record structure
-   *           <LI> Errors in use of input Record or creation
-   *                of an output Record
-   *           <LI> Invalid connection associated with this 
-   *                Interaction
-   *	     </UL>
-   *  @throws NotSupportedException Operation not supported 
-  **/
-  public
-  Record execute(InteractionSpec ispec, 
-		 Record input) throws ResourceException;
-
-  /** Gets the first ResourceWarning from the chain of warnings
-   *  associated with this Interaction instance.
-   *
-   *  @return   ResourceWarning at top of the warning chain
-   *  @throws   ResourceException  Failed to get ResourceWarnings
-   *                               associated with Interaction  
-   **/
-  public
-  ResourceWarning getWarnings()  throws ResourceException;
-
-  /** Clears all the warning reported by this Interaction instance. After 
-   *  a call to this method, the method getWarnings will return null 
-   *  until a new warning is reported for this Interaction.
-   * 
-   *  @throws   ResourceException  Failed to clear ResourceWarnings
-   *                               associated with Interaction  
- **/
-  public 
-  void clearWarnings() throws ResourceException;
-
+   /** Executes an interaction represented by the InteractionSpec.
+    *  This form of invocation takes an input Record and updates
+    *  the output Record. 
+    *  
+    *  @param   ispec   InteractionSpec representing a target EIS 
+    *                   data/function module   
+    *  @param   input   Input Record
+    *  @param   output  Output Record
+    * 
+    *  @return  true if execution of the EIS function has been 
+    *           successful and output Record has been updated; false
+    *           otherwise
+    *
+    *  @throws  ResourceException   Exception if execute operation
+    *                               fails. Examples of error cases
+    *                               are:
+    *         <UL>
+    *           <LI> Resource adapter internal, EIS-specific or 
+    *                communication error 
+    *           <LI> Invalid specification of an InteractionSpec, 
+    *                input or output record structure
+    *           <LI> Errors in use of input or output Record
+    *           <LI> Invalid connection associated with this 
+    *                Interaction
+    *         </UL>
+    *  @throws javax.resource.NotSupportedException Operation not supported 
+    *                             
+    **/
+   public boolean execute(InteractionSpec ispec, 
+                          Record input, 
+                          Record output) throws ResourceException;
+   
+   /** Executes an interaction represented by the InteractionSpec.
+    *  This form of invocation takes an input Record and returns an 
+    *  output Record if the execution of the Interaction has been
+    *  successfull.
+    *  
+    *  @param   ispec   InteractionSpec representing a target EIS 
+    *                   data/function module   
+    *  @param   input   Input Record
+    *  @return  output Record if execution of the EIS function has been 
+    *           successful; null otherwise
+    *
+    *  @throws  ResourceException   Exception if execute operation
+    *                               fails. Examples of error cases
+    *                               are:
+    *         <UL>
+    *           <LI> Resource adapter internal, EIS-specific or 
+    *                communication error 
+    *           <LI> Invalid specification of an InteractionSpec 
+    *                or input record structure
+    *           <LI> Errors in use of input Record or creation
+    *                of an output Record
+    *           <LI> Invalid connection associated with this 
+    *                Interaction
+    *         </UL>
+    *  @throws javax.resource.NotSupportedException Operation not supported 
+    **/
+   public Record execute(InteractionSpec ispec, 
+                         Record input) 
+      throws ResourceException;
+   
+   /** Gets the first ResourceWarning from the chain of warnings
+    *  associated with this Interaction instance.
+    *
+    *  @return   ResourceWarning at top of the warning chain
+    *  @throws   ResourceException  Failed to get ResourceWarnings
+    *                               associated with Interaction  
+    **/
+   public ResourceWarning getWarnings()  throws ResourceException;
+   
+   /** Clears all the warning reported by this Interaction instance. After 
+    *  a call to this method, the method getWarnings will return null 
+    *  until a new warning is reported for this Interaction.
+    * 
+    *  @throws   ResourceException  Failed to clear ResourceWarnings
+    *                               associated with Interaction  
+    **/
+   public void clearWarnings() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/InteractionSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/InteractionSpec.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/InteractionSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -75,28 +75,29 @@
  *  @see     javax.resource.cci.Interaction
 **/
 
-public interface InteractionSpec extends java.io.Serializable {
+public interface InteractionSpec extends Serializable 
+{
   
-  /**Interaction Verb type: The execution of an Interaction does only a 
-   * send to the target EIS instance. The input record is sent to the
-   * EIS instance without any synchronous response in terms of an 
-   * output Record or ResultSet.
-   */
-  public static final int SYNC_SEND = 0;
-
-  /**Interaction Verb type: The execution of an Interaction sends a 
-   * request to the EIS instance and receives response synchronously. 
-   * The input record is sent to the EIS instance with the output 
-   * received either as Record or CCIResultSet.
-   **/
-  public static final int SYNC_SEND_RECEIVE = 1;
-
-  /**The execution of an Interaction results in a synchronous 
-   * receive of an output Record. An example is: a session bean gets
-   * a method invocation and it uses this SEND_RECEIVE form of 
-   * interaction to retrieve messages that have been delivered to a 
-   * message queue. 
-   **/
-  public static final int SYNC_RECEIVE = 2;
-
+   /**Interaction Verb type: The execution of an Interaction does only a 
+    * send to the target EIS instance. The input record is sent to the
+    * EIS instance without any synchronous response in terms of an 
+    * output Record or ResultSet.
+    */
+   public static final int SYNC_SEND = 0;
+   
+   /**Interaction Verb type: The execution of an Interaction sends a 
+    * request to the EIS instance and receives response synchronously. 
+    * The input record is sent to the EIS instance with the output 
+    * received either as Record or CCIResultSet.
+    **/
+   public static final int SYNC_SEND_RECEIVE = 1;
+   
+   /**The execution of an Interaction results in a synchronous 
+    * receive of an output Record. An example is: a session bean gets
+    * a method invocation and it uses this SEND_RECEIVE form of 
+    * interaction to retrieve messages that have been delivered to a 
+    * message queue. 
+    **/
+   public static final int SYNC_RECEIVE = 2;
+   
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/LocalTransaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/LocalTransaction.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/LocalTransaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
 import javax.resource.ResourceException;
+
 /** The LocalTransaction defines a transaction demarcation interface for
  *  resource manager local transactions. Note that this interface is 
  *  used for application level local transaction demarcation. The
@@ -48,60 +49,56 @@
  *  @see     javax.resource.cci.Connection
 **/
 
-public interface LocalTransaction {
+public interface LocalTransaction 
+{
+   
+   /** Begins a local transaction on an EIS instance.
+    *
+    *  @throws  ResourceException  Failed to begin a local
+    *                              transaction. Examples of
+    *                              error cases are:
+    *           <UL>
+    *             <LI>Resource adapter internal or EIS-specific
+    *                 error
+    *             <LI>Connection is already participating in a 
+    *                 local or JTA transaction 
+    *           </UL> 
+    **/
+   public void begin() throws ResourceException;
 
-  /** Begins a local transaction on an EIS instance.
-   *
-   *  @throws  ResourceException  Failed to begin a local
-   *                              transaction. Examples of
-   *                              error cases are:
-   *           <UL>
-   *             <LI>Resource adapter internal or EIS-specific
-   *                 error
-   *             <LI>Connection is already participating in a 
-   *                 local or JTA transaction 
-   *           </UL> 
-  **/
-  public 
-  void begin() throws ResourceException;
+   /** Commits the current local transaction and release all locks held 
+    *  by the underlying EIS instance.
+    *
+    *  @throws  ResourceException  Failed to commit a local
+    *                              transaction. Examples of
+    *                              error cases are:
+    *          <UL>
+    *            <LI> Resource adapter internal or EIS-specific error
+    *            <LI> Violation of integrity constraints, deadlock 
+    *                 detection, communication failure during 
+    *                 transaction completion, or any retry requirement
+    *            <LI> Connection is participating in an active JTA
+    *                 transaction 
+    *            <LI> Invalid transaction context; commit
+    *                 operation invoked without an active
+    *                 transaction context
+    *         </UL> 
+    **/
+   public void commit() throws ResourceException;
 
-
-  /** Commits the current local transaction and release all locks held 
-   *  by the underlying EIS instance.
-   *
-   *  @throws  ResourceException  Failed to commit a local
-   *                              transaction. Examples of
-   *                              error cases are:
-   *          <UL>
-   *            <LI> Resource adapter internal or EIS-specific error
-   *            <LI> Violation of integrity constraints, deadlock 
-   *                 detection, communication failure during 
-   *                 transaction completion, or any retry requirement
-   *            <LI> Connection is participating in an active JTA
-   *                 transaction 
-   *            <LI> Invalid transaction context; commit
-   *                 operation invoked without an active
-   *                 transaction context
-   *         </UL> 
-  **/
-  public 
-  void commit() throws ResourceException;
-
-  /** Rollbacks the current resource manager local transaction.
-   *
-   *  @throws  ResourceException  Failed to rollback a local
-   *                              transaction. Examples of
-   *                              error cases are:
-   *           <UL>
-   *             <LI> Resource adapter internal or EIS-specific error
-   *             <LI> Connection is participating in an active JTA 
-   *                  transaction 
-   *             <LI> Invalid transaction context; rollback
-   *                  operation invoked without an active
-   *                  transaction context
-   *          </UL> 
-
-  **/
-  public
-  void rollback() throws ResourceException;
+   /** Rollbacks the current resource manager local transaction.
+    *
+    *  @throws  ResourceException  Failed to rollback a local
+    *                              transaction. Examples of
+    *                              error cases are:
+    *           <UL>
+    *             <LI> Resource adapter internal or EIS-specific error
+    *             <LI> Connection is participating in an active JTA 
+    *                  transaction 
+    *             <LI> Invalid transaction context; rollback
+    *                  operation invoked without an active
+    *                  transaction context
+    *          </UL> 
+    **/
+   public void rollback() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MappedRecord.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MappedRecord.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MappedRecord.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -30,7 +30,7 @@
  *  @author  Rahul Sharma
  *  @version   0.8
 **/
-public interface MappedRecord extends Record, java.util.Map,
-                                       java.io.Serializable {
+public interface MappedRecord extends Record, java.util.Map, java.io.Serializable 
+{
 
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MessageListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MessageListener.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/MessageListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -32,17 +32,17 @@
  *  @author  Ram Jeyaraman
  *  @version 1.0
  */    
-public interface MessageListener {
-
-    /**
-     * This method allows an EIS to call a message endpoint using a 
-     * request-response style communication.
-     *
-     * @param inputData a <code>Record</code> instance.
-     *
-     * @return a <code>Record</code> instance or null.
-     *
-     * @throws ResourceException indicates an exceptional condition.
-     */
-    Record onMessage(Record inputData) throws ResourceException;
+public interface MessageListener
+{
+   /**
+    * This method allows an EIS to call a message endpoint using a 
+    * request-response style communication.
+    *
+    * @param inputData a <code>Record</code> instance.
+    *
+    * @return a <code>Record</code> instance or null.
+    *
+    * @throws ResourceException indicates an exceptional condition.
+    */
+   Record onMessage(Record inputData) throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Record.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Record.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Record.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
@@ -54,64 +54,56 @@
  *  @see     javax.resource.cci.Interaction
  *  @see     java.sql.ResultSet
 **/    
-public interface Record extends java.lang.Cloneable, java.io.Serializable {
+public interface Record extends java.lang.Cloneable, java.io.Serializable 
+{
  
-  /** Gets the name of the Record.
-   *  
-   *  @return  String representing name of the Record
-  **/
-  public
-  String getRecordName();
+   /** Gets the name of the Record.
+    *  
+    *  @return  String representing name of the Record
+    **/
+   public String getRecordName();
   
-  /** Sets the name of the Record.
-   *  
-   *  @param   name           Name of the Record
-  **/
-  public
-  void setRecordName(String name);
+   /** Sets the name of the Record.
+    *  
+    *  @param   name           Name of the Record
+    **/
+   public void setRecordName(String name);
   
-  /** Sets a short description string for the Record. This property
-   *  is used primarily by application development tools.
-   *
-   *  @param   description    Description of the Record
-  **/
-  public
-  void setRecordShortDescription(String description);
+   /** Sets a short description string for the Record. This property
+    *  is used primarily by application development tools.
+    *
+    *  @param   description    Description of the Record
+    **/
+   public void setRecordShortDescription(String description);
 
-  /** Gets a short description string for the Record. This property
-   *  is used primarily by application development tools.
-   *
-   *  @return  String representing a short description of the Record
-  **/
-  public
-  String getRecordShortDescription();
+   /** Gets a short description string for the Record. This property
+    *  is used primarily by application development tools.
+    *
+    *  @return  String representing a short description of the Record
+    **/
+   public String getRecordShortDescription();
 
-  /** Check if this instance is equal to another Record.
-   *
-   *  @return  true if two instances are equal
-  **/
-  public
-  boolean equals(Object other);
+   /** Check if this instance is equal to another Record.
+    *  @param other The other object
+    *  @return  true if two instances are equal
+    **/
+   public boolean equals(Object other);
 
+   /** Returns the hash code for the Record instance.
+    * 
+    *  @return  hash code
+    **/
+   public int hashCode();
 
-  /** Returns the hash code for the Record instance.
-   * 
-   *  @return  hash code
-  **/
-  public
-  int hashCode();
-
-  /** Creates and returns a copy of this object. The precise 
-   *  meaning of "copy" may depend on the class of the object.
-   *
-   *  @return a clone of this instance.
-   *  @throws  CloneNotSupportedException 
-   *           If the object's class does not support the 
-   *           Cloneable interface Subclasses that override the 
-   *           clone method can also throw this exception to 
-   *           indicate that an instance cannot be cloned.
-  **/
-  public
-  Object clone() throws CloneNotSupportedException;
-
+   /** Creates and returns a copy of this object. The precise 
+    *  meaning of "copy" may depend on the class of the object.
+    *
+    *  @return a clone of this instance.
+    *  @throws  CloneNotSupportedException 
+    *           If the object's class does not support the 
+    *           Cloneable interface Subclasses that override the 
+    *           clone method can also throw this exception to 
+    *           indicate that an instance cannot be cloned.
+    **/
+   public Object clone() throws CloneNotSupportedException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/RecordFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/RecordFactory.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/RecordFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,28 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-import java.util.Map;
-import java.util.Collection;
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
 
 
 /** The RecordFactory interface is used for creating MappedRecord and 
@@ -38,50 +35,47 @@
  *  @see      javax.resource.cci.IndexedRecord
  *  @see      javax.resource.cci.MappedRecord
 **/
-public interface RecordFactory {
+public interface RecordFactory 
+{
   
-  /** Creates a MappedRecord. The method takes the name of the record
-   *  that is to be created by the RecordFactory. The name of the 
-   *  record acts as a pointer to the meta information (stored in 
-   *  the metadata repository) for a specific record type.
-   *
-   *  @param  recordName   Name of the Record
-   *  @return MappedRecord
-   *  @throws ResourceException  Failed to create a MappedRecord.
-   *                             Example error cases are:
-   *                              
-   *          <UL>
-   *             <LI> Invalid specification of record name
-   *             <LI> Resource adapter internal error
-   *             <LI> Failed to access metadata repository
-   *          </UL>
-   *  @throws NotSupportedException Operation not supported          
-   *                            
-  **/
-  public
-  MappedRecord createMappedRecord(String recordName) 
-                  throws ResourceException;
+   /** Creates a MappedRecord. The method takes the name of the record
+    *  that is to be created by the RecordFactory. The name of the 
+    *  record acts as a pointer to the meta information (stored in 
+    *  the metadata repository) for a specific record type.
+    *
+    *  @param  recordName   Name of the Record
+    *  @return MappedRecord
+    *  @throws ResourceException  Failed to create a MappedRecord.
+    *                             Example error cases are:
+    *                              
+    *          <UL>
+    *             <LI> Invalid specification of record name
+    *             <LI> Resource adapter internal error
+    *             <LI> Failed to access metadata repository
+    *          </UL>
+    *  @throws javax.resource.NotSupportedException Operation not supported          
+    *                            
+    **/
+   public MappedRecord createMappedRecord(String recordName) 
+      throws ResourceException;
 
-  /** Creates a IndexedRecord. The method takes the name of the record
-   *  that is to be created by the RecordFactory. The name of the 
-   *  record acts as a pointer to the meta information (stored in 
-   *  the metadata repository) for a specific record type.
-   *
-   *  @param  recordName   Name of the Record
-   *  @return IndexedRecord
-   *  @throws ResourceException  Failed to create an IndexedRecord.
-   *                             Example error cases are:
-   *                              
-   *          <UL>
-   *             <LI> Invalid specification of record name
-   *             <LI> Resource adapter internal error
-   *             <LI> Failed to access metadata repository
-   *          </UL>
-   *  @throws NotSupportedException Operation not supported          
- **/
-  public
-  IndexedRecord createIndexedRecord(String recordName) 
-                  throws ResourceException;
-
+   /** Creates a IndexedRecord. The method takes the name of the record
+    *  that is to be created by the RecordFactory. The name of the 
+    *  record acts as a pointer to the meta information (stored in 
+    *  the metadata repository) for a specific record type.
+    *
+    *  @param  recordName   Name of the Record
+    *  @return IndexedRecord
+    *  @throws ResourceException  Failed to create an IndexedRecord.
+    *                             Example error cases are:
+    *                              
+    *          <UL>
+    *             <LI> Invalid specification of record name
+    *             <LI> Resource adapter internal error
+    *             <LI> Failed to access metadata repository
+    *          </UL>
+    *  @throws javax.resource.NotSupportedException Operation not supported          
+    **/
+   public IndexedRecord createIndexedRecord(String recordName) 
+      throws ResourceException;
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceAdapterMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-import javax.resource.ResourceException;
-
 /** The interface <code>javax.resource.cci.ResourceAdapterMetaData</code> 
  *  provides information about capabilities of a resource adapter 
  *  implementation. Note that this interface does not provide information 
@@ -43,100 +41,89 @@
  *  @see     javax.resource.cci.ConnectionFactory
 **/
 
-public interface ResourceAdapterMetaData {
+public interface ResourceAdapterMetaData 
+{
 
-  /** Gets the version of the resource adapter.
-   *
-   *  @return   String representing version of the resource adapter
-  **/
-  public 
-  String getAdapterVersion();
-	
-  /** Gets the name of the vendor that has provided the resource 
-   *  adapter.
-   *
-   *  @return   String representing name of the vendor that has 
-   *            provided the resource adapter
-  **/
-  public 
-  String getAdapterVendorName();
+   /** Gets the version of the resource adapter.
+    *
+    *  @return   String representing version of the resource adapter
+    **/
+   public String getAdapterVersion();
+   
+   /** Gets the name of the vendor that has provided the resource 
+    *  adapter.
+    *
+    *  @return   String representing name of the vendor that has 
+    *            provided the resource adapter
+    **/
+   public String getAdapterVendorName();
   
-  /** Gets a tool displayable name of the resource adapter.
-   *
-   *  @return   String representing the name of the resource adapter
-  **/
-  public 
-  String getAdapterName();
-	
-  /** Gets a tool displayable short desription of the resource
-   *  adapter.
-   *
-   *  @return   String describing the resource adapter
-  **/
-  public 
-  String getAdapterShortDescription();
+   /** Gets a tool displayable name of the resource adapter.
+    *
+    *  @return   String representing the name of the resource adapter
+    **/
+   public String getAdapterName();
+        
+   /** Gets a tool displayable short desription of the resource
+    *  adapter.
+    *
+    *  @return   String describing the resource adapter
+    **/
+   public String getAdapterShortDescription();
 
-  /** Returns a string representation of the version of the 
-   *  connector architecture specification that is supported by
-   *  the resource adapter.
-   *
-   *  @return   String representing the supported version of 
-   *            the connector architecture
-  **/
-  public 
-  String getSpecVersion();
+   /** Returns a string representation of the version of the 
+    *  connector architecture specification that is supported by
+    *  the resource adapter.
+    *
+    *  @return   String representing the supported version of 
+    *            the connector architecture
+    **/
+   public String getSpecVersion();
 
-  /** Returns an array of fully-qualified names of InteractionSpec
-   *  types supported by the CCI implementation for this resource
-   *  adapter. Note that the fully-qualified class name is for 
-   *  the implementation class of an InteractionSpec. This method 
-   *  may be used by tools vendor to find information on the 
-   *  supported InteractionSpec types. The method should return 
-   *  an array of length 0 if the CCI implementation does not 
-   *  define specific InteractionSpec types.
-   *
-   *  @return   Array of fully-qualified class names of
-   *            InteractionSpec classes supported by this
-   *            resource adapter's CCI implementation
-   *  @see      javax.resource.cci.InteractionSpec
-  **/
-  public 
-  String[] getInteractionSpecsSupported();
+   /** Returns an array of fully-qualified names of InteractionSpec
+    *  types supported by the CCI implementation for this resource
+    *  adapter. Note that the fully-qualified class name is for 
+    *  the implementation class of an InteractionSpec. This method 
+    *  may be used by tools vendor to find information on the 
+    *  supported InteractionSpec types. The method should return 
+    *  an array of length 0 if the CCI implementation does not 
+    *  define specific InteractionSpec types.
+    *
+    *  @return   Array of fully-qualified class names of
+    *            InteractionSpec classes supported by this
+    *            resource adapter's CCI implementation
+    *  @see      javax.resource.cci.InteractionSpec
+    **/
+   public String[] getInteractionSpecsSupported();
 
+   /** Returns true if the implementation class for the Interaction 
+    *  interface implements public boolean execute(InteractionSpec 
+    *  ispec, Record input, Record output) method; otherwise the 
+    *  method returns false.
+    *
+    *  @return   boolean depending on method support
+    *  @see      javax.resource.cci.Interaction
+    **/
+   public boolean supportsExecuteWithInputAndOutputRecord();
 
-  /** Returns true if the implementation class for the Interaction 
-   *  interface implements public boolean execute(InteractionSpec 
-   *  ispec, Record input, Record output) method; otherwise the 
-   *  method returns false.
-   *
-   *  @return   boolean depending on method support
-   *  @see      javax.resource.cci.Interaction
-  **/
-  public 
-  boolean supportsExecuteWithInputAndOutputRecord();
+   /** Returns true if the implementation class for the Interaction
+    *  interface implements public Record execute(InteractionSpec
+    *  ispec, Record input) method; otherwise the method returns 
+    *  false.
+    *
+    *  @return   boolean depending on method support
+    *  @see      javax.resource.cci.Interaction
+    **/
+   public boolean supportsExecuteWithInputRecordOnly();
 
-
-  /** Returns true if the implementation class for the Interaction
-   *  interface implements public Record execute(InteractionSpec
-   *  ispec, Record input) method; otherwise the method returns 
-   *  false.
-   *
-   *  @return   boolean depending on method support
-   *  @see      javax.resource.cci.Interaction
-  **/
-  public 
-  boolean supportsExecuteWithInputRecordOnly();
-
-
-  /** Returns true if the resource adapter implements the LocalTransaction
-   *  interface and supports local transaction demarcation on the 
-   *  underlying EIS instance through the LocalTransaction interface.
-   *
-   *  @return  true if resource adapter supports resource manager
-   *           local transaction demarcation through LocalTransaction
-   *           interface; false otherwise
-   *  @see     javax.resource.cci.LocalTransaction
-  **/
-  public
-  boolean supportsLocalTransactionDemarcation();
+   /** Returns true if the resource adapter implements the LocalTransaction
+    *  interface and supports local transaction demarcation on the 
+    *  underlying EIS instance through the LocalTransaction interface.
+    *
+    *  @return  true if resource adapter supports resource manager
+    *           local transaction demarcation through LocalTransaction
+    *           interface; false otherwise
+    *  @see     javax.resource.cci.LocalTransaction
+    **/
+   public boolean supportsLocalTransactionDemarcation();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceWarning.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceWarning.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResourceWarning.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * A <code>ResourceWarning</code> provides information on warnings related to
  * execution of an interaction with an EIS. Warnings are silently 
@@ -29,88 +32,131 @@
  *
  * @see Interaction#getWarnings
  */
-public class ResourceWarning extends javax.resource.ResourceException {
+public class ResourceWarning extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public ResourceWarning() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public ResourceWarning(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 4883365394555743885L;
+      }
+      else
+      {
+         serialVersionUID = 1233859030030360576L;
+      }
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public ResourceWarning(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public ResourceWarning() 
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public ResourceWarning(String message, Throwable cause) {
-	super(message, cause);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public ResourceWarning(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and 
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public ResourceWarning(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public ResourceWarning(Throwable cause) 
+   {
+      super(cause);
+   }
+
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public ResourceWarning(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+
+   /**
+    * Constructs a new throwable with the specified detail message and 
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public ResourceWarning(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
   
-    /**
-     * Retrieves the warning chained to this <code>ResourceWarning</code>
-     * object.
-     *
-     * @return next <code>ResourceWarning</code> in the chain; null if none.
-     *
-     * @deprecated J2SE release 1.4 supports a chained exception facility 
-     * that allows any throwable to know about another throwable, if any,
-     * that caused it to get thrown. Refer to <code>getCause</code> and 
-     * <code>initCause</code> methods of the 
-     * <code>java.lang.Throwable</code> class.
-     */
-    public ResourceWarning getLinkedWarning() {
-	try {
-	    return ((ResourceWarning)getLinkedException());
-	} 
-	catch (ClassCastException ex) {
-	    return null;
-	}
-    }
+   /**
+    * Retrieves the warning chained to this <code>ResourceWarning</code>
+    * object.
+    *
+    * @return next <code>ResourceWarning</code> in the chain; null if none.
+    *
+    * @deprecated J2SE release 1.4 supports a chained exception facility 
+    * that allows any throwable to know about another throwable, if any,
+    * that caused it to get thrown. Refer to <code>getCause</code> and 
+    * <code>initCause</code> methods of the 
+    * <code>java.lang.Throwable</code> class.
+    */
+   public ResourceWarning getLinkedWarning() 
+   {
+      try 
+      {
+         return ((ResourceWarning)getLinkedException());
+      } 
+      catch (ClassCastException ex) 
+      {
+         return null;
+      }
+   }
   
-    /**
-     * Adds an <code>ResourceWarning</code> object to the end of the chain.
-     *
-     * @param warning <code>ResourceWarning</code> to be added to the chain.
-     *
-     * @deprecated J2SE release 1.4 supports a chained exception facility 
-     * that allows any throwable to know about another throwable, if any,
-     * that caused it to get thrown. Refer to <code>getCause</code> and 
-     * <code>initCause</code> methods of the 
-     * <code>java.lang.Throwable</code> class.
-     */
-    public void setLinkedWarning(ResourceWarning warning) {
-	setLinkedException(warning);
-    }
+   /**
+    * Adds an <code>ResourceWarning</code> object to the end of the chain.
+    *
+    * @param warning <code>ResourceWarning</code> to be added to the chain.
+    *
+    * @deprecated J2SE release 1.4 supports a chained exception facility 
+    * that allows any throwable to know about another throwable, if any,
+    * that caused it to get thrown. Refer to <code>getCause</code> and 
+    * <code>initCause</code> methods of the 
+    * <code>java.lang.Throwable</code> class.
+    */
+   public void setLinkedWarning(ResourceWarning warning) 
+   {
+      setLinkedException(warning);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSet.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSet.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSet.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-/** A ResultSet represents tabular data that is retrieved from an EIS
+/** 
+ *  A ResultSet represents tabular data that is retrieved from an EIS
  *  instance by the execution of an Interaction.. The CCI ResultSet is 
  *  based on the JDBC ResultSet.   
  *
@@ -33,6 +34,7 @@
  *  @since   0.8
  *  @see     java.sql.ResultSet
 **/
-public interface ResultSet extends Record, java.sql.ResultSet {
+public interface ResultSet extends Record, java.sql.ResultSet
+{
 
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSetInfo.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSetInfo.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/ResultSetInfo.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-
 import javax.resource.ResourceException;
 
 /** The interface <code>javax.resource.cci.ResultSetInfo</code> provides
@@ -42,131 +41,118 @@
  *  @see         javax.resource.cci.ConnectionMetaData
 **/
 
-public interface ResultSetInfo {
-  
-  /** Indicates whether or not a visible row update can be detected 
-   *  by calling the method <code>ResultSet.rowUpdated</code>.
-   *
-   * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return          true if changes are detected by the result set 
-   *                  type; false otherwise
-   * @see     java.sql.ResultSet#rowUpdated
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public 
-  boolean updatesAreDetected(int type)  throws ResourceException;
+public interface ResultSetInfo
+{
+   
+   /** Indicates whether or not a visible row update can be detected 
+    *  by calling the method <code>ResultSet.rowUpdated</code>.
+    *
+    * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return          true if changes are detected by the result set 
+    *                  type; false otherwise
+    * @see     java.sql.ResultSet#rowUpdated
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean updatesAreDetected(int type)  throws ResourceException;
+   
+   /** Indicates whether or not a visible row insert can be detected
+    * by calling ResultSet.rowInserted.
+    *
+    * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return          true if changes are detected by the result set 
+    *                  type; false otherwise
+    * @see     java.sql.ResultSet#rowInserted
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean insertsAreDetected(int type)  throws ResourceException;
+   
+   /** Indicates whether or not a visible row delete can be detected by
+    * calling ResultSet.rowDeleted.  If deletesAreDetected
+    * returns false, then deleted rows are removed from the ResultSet.
+    *
+    * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return          true if changes are detected by the result set 
+    *                  type; false otherwise
+    * @see     java.sql.ResultSet#rowDeleted
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean deletesAreDetected(int type)  throws ResourceException;
+   
+   /** Indicates whether or not a resource adapter supports a type
+    *  of ResultSet.
+    *     
+    * @param   type  type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return        true if ResultSet type supported; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean supportsResultSetType(int type) throws ResourceException;
+   
+   /** Indicates whether or not a resource adapter supports the 
+    *  concurrency type in combination with the given ResultSet type/
+    *
+    * @param   type        type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @param   concurrency ResultSet concurrency type defined in
+    *                      java.sql.ResultSet
+    * @return  true if the specified combination supported; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean supportsResultTypeConcurrency(int type,
+                                                int concurrency)
+      throws ResourceException;
 
-  /** Indicates whether or not a visible row insert can be detected
-   * by calling ResultSet.rowInserted.
-   *
-   * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return          true if changes are detected by the result set 
-   *                  type; false otherwise
-   * @see     java.sql.ResultSet#rowInserted
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public 
-  boolean insertsAreDetected(int type)  throws ResourceException;
-	
-  /* Indicates whether or not a visible row delete can be detected by
-   * calling ResultSet.rowDeleted.  If deletesAreDetected
-   * returns false, then deleted rows are removed from the ResultSet.
-   *
-   * @param   type    type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return          true if changes are detected by the result set 
-   *                  type; false otherwise
-   * @see     java.sql.ResultSet#rowDeleted
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public
-  boolean deletesAreDetected(int type)  throws ResourceException;
-  
-  /** Indicates whether or not a resource adapter supports a type
-   *  of ResultSet.
-   *     
-   * @param   type  type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return        true if ResultSet type supported; false otherwise
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public 
-  boolean supportsResultSetType(int type) throws ResourceException;
+   /** Indicates whether updates made by others are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if updates by others are visible for the
+    *                      ResultSet type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    */
+   public boolean othersUpdatesAreVisible(int type)  throws ResourceException;
 
-  /** Indicates whether or not a resource adapter supports the 
-   *  concurrency type in combination with the given ResultSet type/
-   *
-   * @param   type        type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @param   concurrency ResultSet concurrency type defined in
-   *                      java.sql.ResultSet
-   * @return  true if the specified combination supported; false otherwise
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public 
-  boolean supportsResultTypeConcurrency(int type,
-					int concurrency)
-                                             throws ResourceException;
-
-
-  /** Indicates whether updates made by others are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if updates by others are visible for the
-   *                      ResultSet type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-   */
-  public
-  boolean othersUpdatesAreVisible(int type)  throws ResourceException;
-
-  /**
-   * Indicates whether deletes made by others are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if deletes by others are visible for the
-   *                      ResultSet type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-   */
-  public
-  boolean othersDeletesAreVisible(int type)  throws ResourceException;
+   /**
+    * Indicates whether deletes made by others are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if deletes by others are visible for the
+    *                      ResultSet type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    */
+   public boolean othersDeletesAreVisible(int type)  throws ResourceException;
     
-  /**
-   * Indicates whether inserts made by others are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if inserts by others are visible for the
-   *                      ResultSet type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-   */
-  public
-  boolean othersInsertsAreVisible(int type) throws ResourceException;
+   /**
+    * Indicates whether inserts made by others are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if inserts by others are visible for the
+    *                      ResultSet type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    */
+   public boolean othersInsertsAreVisible(int type) throws ResourceException;
 
+   /** Indicates whether a ResultSet's own updates are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if updates are visible for the ResultSet
+    *                      type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    **/
+   public boolean ownUpdatesAreVisible(int type) throws ResourceException;
 
-  /* Indicates whether a ResultSet's own updates are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if updates are visible for the ResultSet
-   *                      type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-  **/
-  public
-  boolean ownUpdatesAreVisible(int type) throws ResourceException;
+   /** Indicates whether a ResultSet's own inserts are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if inserts are visible for the ResultSet
+    *                      type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    **/  
+   public  boolean ownInsertsAreVisible(int type) throws ResourceException;
 
-  /* Indicates whether a ResultSet's own inserts are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if inserts are visible for the ResultSet
-   *                      type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-  **/  
-  public 
-  boolean ownInsertsAreVisible(int type) throws ResourceException;
-
-  /* Indicates whether a ResultSet's own deletes are visible.
-   *
-   * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
-   * @return              true if inserts are visible for the ResultSet
-   *                      type; false otherwise
-   * @throws  ResourceException   Failed to get the information
-  **/  
-  public 
-  boolean ownDeletesAreVisible(int type) throws ResourceException;
-
+   /** Indicates whether a ResultSet's own deletes are visible.
+    *
+    * @param    type       type of the ResultSet i.e. ResultSet.TYPE_XXX
+    * @return              true if inserts are visible for the ResultSet
+    *                      type; false otherwise
+    * @throws  ResourceException   Failed to get the information
+    **/  
+   public boolean ownDeletesAreVisible(int type) throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Streamable.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Streamable.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/cci/Streamable.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,33 +1,33 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.cci;
 
-
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.IOException;
 
-/** Streamable interface enables a resource adapter to extract data from
+/** 
+ *  Streamable interface enables a resource adapter to extract data from
  *  an input Record or set data into an output Record as a stream of 
  *  bytes. 
  *
@@ -42,26 +42,25 @@
  *  @since  0.8
  *  @see    javax.resource.cci.Record
 **/
-
-public interface Streamable {
-
-  /** Read data from an InputStream and initialize fields of a 
-   *  Streamable object. 
-   *
-   *  @param  istream   InputStream that represents a resource
-   *                    adapter specific internal representation
-   *                    of fields of a Streamable object
-  **/
-  public
-  void read(InputStream istream) throws IOException;
+public interface Streamable 
+{
+   /** 
+    *  Read data from an InputStream and initialize fields of a 
+    *  Streamable object. 
+    *
+    *  @param  istream   InputStream that represents a resource
+    *                    adapter specific internal representation
+    *                    of fields of a Streamable object
+    *  @exception IOException If an error occurs
+    **/
+   public void read(InputStream istream) throws IOException;
   
-
-  /** Write fields of a Streamable object to an OutputStream
-   *  @param  ostream   OutputStream that holds value of a
-   *                    Streamable object
-  **/
-  public
-  void write(OutputStream ostream) throws IOException;
-
+   /** 
+    *  Write fields of a Streamable object to an OutputStream
+    *  @param  ostream   OutputStream that holds value of a
+    *                    Streamable object
+    *  @exception IOException If an error occurs
+    **/
+   public void write(OutputStream ostream) throws IOException;
 }
 

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Activation.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Activation.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Activation.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
@@ -44,24 +44,25 @@
  * <p>The ActivationSpec JavaBean has a set of configurable properties specific to
  * the messaging style and the message provider.
  * 
- * <p>Together with the messageListener annotation element type this annotation
+ * <p>Together with the messageListener annotation element, this annotation
  * specifies information about a specific message listener type supported by the
  * messaging resource adapter.
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
 @Target(TYPE)
-public @interface Activation {
-
-	/**
-	 * Indicates the message listener type(s) associated with this activation.
-	 * 
-	 * @return The Java types of the Message Listener interface this
-	 *         activation-spec is associated with.
-	 */
-	Class[] messageListeners() default {};
+public @interface Activation 
+{
+   
+   /**
+    * Indicates the message listener type(s) associated with this activation.
+    * 
+    * @return The Java types of the Message Listener interface this
+    *         activation-spec is associated with.
+    */
+   Class[] messageListeners();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ActivationSpec.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ActivationSpec.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ActivationSpec.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -30,26 +30,25 @@
  * @version 1.0
  * @author Ram Jeyaraman
  */
-public interface ActivationSpec extends ResourceAdapterAssociation {
-
-	/**
-	 * This method may be called by a deployment tool to validate the overall
-	 * activation configuration information provided by the endpoint deployer.
-	 * This helps to catch activation configuration errors earlier on without
-	 * having to wait until endpoint activation time for configuration
-	 * validation. The implementation of this self-validation check behavior is
-	 * optional.
-	 * 
-	 * @throws <code>InvalidPropertyException</code> indicates invalid
-	 *         configuration property settings.
-	 *         
-	 * @deprecated As of Java EE Connectors 1.6 specification, resource adapter
-	 *             implementations are recommended to use the annotations or the
-	 *             XML validation deployment descriptor facilities defined by
-	 *             the Bean Validation specification to express their validation
-	 *             requirements of its configuration properties to the
-	 *             application server.
-	 */
-	void validate() throws InvalidPropertyException;
-	
+public interface ActivationSpec extends ResourceAdapterAssociation 
+{
+   
+   /**
+    * This method may be called by a deployment tool to validate the overall
+    * activation configuration information provided by the endpoint deployer.
+    * This helps to catch activation configuration errors earlier on without
+    * having to wait until endpoint activation time for configuration
+    * validation. The implementation of this self-validation check behavior is
+    * optional.
+    * 
+    * Note: As of Java EE Connectors 1.6 specification, resource adapter
+    *       implementations are recommended to use the annotations or the
+    *       XML validation deployment descriptor facilities defined by
+    *       the Bean Validation specification to express their validation
+    *       requirements of its configuration properties to the
+    *       application server.
+    *
+    * @throws InvalidPropertyException indicates invalid configuration property settings.
+    */         
+   void validate() throws InvalidPropertyException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AdministeredObject.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AdministeredObject.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AdministeredObject.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,32 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
+
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
@@ -33,17 +34,18 @@
  * specific to a messaging style or message provider.
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
 @Target(TYPE)
-public @interface AdministeredObject {
-
-	/**
-	 * Specifies the Java type of the interface implemented by the administered
-	 * object.
-	 */
-	Class[] adminObjectInterfaces() default {};
+public @interface AdministeredObject 
+{
+   
+   /**
+    * Specifies the Java type of the interface implemented by the administered
+    * object.
+    */
+   Class[] adminObjectInterfaces() default { };
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ApplicationServerInternalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * An <code>ApplicationServerInternalException</code> is thrown 
  * by an application 
@@ -35,55 +38,91 @@
  * @author Ram Jeyaraman
  */
 
-public class ApplicationServerInternalException 
-        extends javax.resource.ResourceException {
+public class ApplicationServerInternalException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public ApplicationServerInternalException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public ApplicationServerInternalException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = -7496452174776833078L;
+      }
+      else
+      {
+         serialVersionUID = -7784532393279374430L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public ApplicationServerInternalException() 
+   { 
+      super();
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public ApplicationServerInternalException(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public ApplicationServerInternalException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public ApplicationServerInternalException(Throwable cause)
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public ApplicationServerInternalException(
-            String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and 
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public ApplicationServerInternalException(
-            String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public ApplicationServerInternalException(String message, Throwable cause)
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and 
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public ApplicationServerInternalException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AuthenticationMechanism.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AuthenticationMechanism.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/AuthenticationMechanism.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,101 +1,100 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
- at Documented
- at Retention(RUNTIME)
- at Target(TYPE)
-
 /**
  * An annotation used to specify the authentication mechanism 
  * supported by the resource adapter.
  *
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
-public @interface AuthenticationMechanism {
-
-    /** 
-     * An enumerated type that represents the various interfaces
-     * that a resource adapter may support for the representation
-     * of the credentials.
-     *
-     * @since 1.6
-     * @version JSR322-PublicReview
-     */
-    public enum CredentialInterface {
-        /**
-         * Corresponds to 
-         * <code>javax.resource.spi.security.PasswordCredential</code>.
-         * This is the default credential interface
-         */
-        PasswordCredential, 
+ at Documented
+ at Retention(RUNTIME)
+ at Target({ })
+public @interface AuthenticationMechanism 
+{
+   
+   /** 
+    * An enumerated type that represents the various interfaces
+    * that a resource adapter may support for the representation
+    * of the credentials.
+    *
+    * @since 1.6
+    * @version Java EE Connector Architecture 1.6
+    */
+   public enum CredentialInterface 
+   {
+      /**
+       * Corresponds to 
+       * <code>javax.resource.spi.security.PasswordCredential</code>.
+       * This is the default credential interface
+       */
+      PasswordCredential, 
         
-        /**
-         * Corresponds to <code>org.ietf.jgss.GSSCredential</code>
-         */
-        GSSCredential,
+      /**
+       * Corresponds to <code>org.ietf.jgss.GSSCredential</code>
+       */
+      GSSCredential,
         
-        /**
-         * Corresponds to 
-         * <code>javax.resource.spi.security.GenericCredential</code>
-         */
-        GenericCredential 
-    };
+      /**
+       * Corresponds to 
+       * <code>javax.resource.spi.security.GenericCredential</code>
+       */
+      GenericCredential 
+   };
 
-    /**
-     * The authentication-mechanismType specifies an authentication
-     * mechanism supported by the resource adapter. Note that this
-     * support is for the resource adapter and not for the
-     * underlying EIS instance.
-     *
-     */
-    String authMechanism() default  "BasicPassword";
-
-    /**
-     * The optional description specifies
-     * any resource adapter specific requirement for the support of
-     * security contract and authentication mechanism.
-     */
-    String description() default "";
-
-    /**
-     * Represents the interface that the resource adapter implementation
-     * supports for the representation of the credentials.
-     *
-     * Note that BasicPassword mechanism type should support the
-     * <code>javax.resource.spi.security.PasswordCredential</code> interface.
-     * The Kerbv5 mechanism type should support the
-     * <code>org.ietf.jgss.GSSCredential</code> interface or the deprecated
-     * <code>javax.resource.spi.security.GenericCredential</code> interface.
-     */
-    CredentialInterface credentialInterface() 
-    					default CredentialInterface.PasswordCredential;
+   /**
+    * The authentication-mechanismType specifies an authentication
+    * mechanism supported by the resource adapter. Note that this
+    * support is for the resource adapter and not for the
+    * underlying EIS instance.
+    *
+    */
+   String authMechanism() default  "BasicPassword";
+   
+   /**
+    * The optional description specifies
+    * any resource adapter specific requirement for the support of
+    * security contract and authentication mechanism.
+    */
+   String[] description() default { };
+   
+   /**
+    * Represents the interface that the resource adapter implementation
+    * supports for the representation of the credentials.
+    *
+    * Note that BasicPassword mechanism type should support the
+    * <code>javax.resource.spi.security.PasswordCredential</code> interface.
+    * The Kerbv5 mechanism type should support the
+    * <code>org.ietf.jgss.GSSCredential</code> interface or the deprecated
+    * <code>javax.resource.spi.security.GenericCredential</code> interface.
+    */
+   CredentialInterface credentialInterface() default CredentialInterface.PasswordCredential;
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/BootstrapContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/BootstrapContext.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/BootstrapContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,30 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
 import java.util.Timer;
+
+import javax.resource.spi.work.WorkContext;
 import javax.resource.spi.work.WorkManager;
-import javax.resource.spi.work.WorkContext;
 import javax.transaction.TransactionSynchronizationRegistry;
 
 /**
@@ -35,77 +36,76 @@
  * context contains references to useful facilities that could be used by the
  * resource adapter instance.
  *
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  * @author  Ram Jeyaraman, Sivakumar Thyagarajan
  */
-public interface BootstrapContext {
-    /**
-     * Provides a handle to a <code>WorkManager</code> instance. The
-     * <code>WorkManager</code> instance could be used by a resource adapter to
-     * do its work by submitting <code>Work</code> instances for execution. 
-     *
-     * @return a <code>WorkManager</code> instance.
-     */
-    WorkManager getWorkManager();
+public interface BootstrapContext 
+{
+   /**
+    * Provides a handle to a <code>WorkManager</code> instance. The
+    * <code>WorkManager</code> instance could be used by a resource adapter to
+    * do its work by submitting <code>Work</code> instances for execution. 
+    *
+    * @return a <code>WorkManager</code> instance.
+    */
+   WorkManager getWorkManager();
 
-    /**
-     * Provides a handle to a <code>XATerminator</code> instance. The
-     * <code>XATerminator</code> instance could be used by a resource adapter 
-     * to flow-in transaction completion and crash recovery calls from an EIS.
-     *
-     * @return a <code>XATerminator</code> instance.
-     */
-    XATerminator getXATerminator();
+   /**
+    * Provides a handle to a <code>XATerminator</code> instance. The
+    * <code>XATerminator</code> instance could be used by a resource adapter 
+    * to flow-in transaction completion and crash recovery calls from an EIS.
+    *
+    * @return a <code>XATerminator</code> instance.
+    */
+   XATerminator getXATerminator();
 
-    /**
-     * Creates a new <code>java.util.Timer</code> instance. The
-     * <code>Timer</code> instance could be used to perform periodic 
-     * <code>Work</code> executions or other tasks.
-     *
-     * @throws UnavailableException indicates that a 
-     * <code>Timer</code> instance is not available. The 
-     * request may be retried later.
-     *
-     * @return a new <code>Timer</code> instance.
-     */
-    Timer createTimer() throws UnavailableException;
-
-    /**
-     * A resource adapter can check an application server’s support 
-     * for a particular InflowContext type through this method. 
-     * This mechanism enables a resource adapter developer to
-     * dynamically change the InflowContexts submitted with a Work instance 
-     * based on the support provided by the application server.
-     *
-     * The application server must employ an exact type equality check (that is
-     * <code>java.lang.Class.equals(java.lang.Class)</code> check) in
-     * this method, to check if it supports the InflowContext type provided
-     * by the resource adapter. This method must be idempotent, that is all 
-     * calls to this method by a resource adapter for a particular 
-     * <code>InflowContext</code> type must return the same boolean value 
-     * throughout the lifecycle of that resource adapter instance.
-     *
-     * @return true if the <code>inflowContextClass</code> is supported
-     * by the application server. false if the <code>inflowContextClass</code>
-     * is unsupported or unknown to the application server.
-     *
-     * @since 1.6
-     */
-
-    boolean isContextSupported(
-            Class<? extends WorkContext> inflowContextClass);
-
-
-    /**
-     * Provides a handle to a <code>TransactionSynchronization</code> instance. The
-     * <code>TransactionSynchronizationRegistry</code> instance could be used by a 
-     * resource adapter to register synchronization objects, get transaction state and
-     * status etc. This interface is implemented by the application server by a 
-     * stateless service object. The same object can be used by any number of 
-     * resource adapter objects with thread safety. 
-     *
-     * @return a <code>TransactionSynchronizationRegistry</code> instance.
-     * @since 1.6
-     */
-    TransactionSynchronizationRegistry getTransactionSynchronizationRegistry();
+   /**
+    * Creates a new <code>java.util.Timer</code> instance. The
+    * <code>Timer</code> instance could be used to perform periodic 
+    * <code>Work</code> executions or other tasks.
+    *
+    * @throws UnavailableException indicates that a 
+    * <code>Timer</code> instance is not available. The 
+    * request may be retried later.
+    *
+    * @return a new <code>Timer</code> instance.
+    */
+   Timer createTimer() throws UnavailableException;
+   
+   /**
+    * A resource adapter can check an application server’s support 
+    * for a particular WorkContext type through this method. 
+    * This mechanism enables a resource adapter developer to
+    * dynamically change the WorkContexts submitted with a Work instance 
+    * based on the support provided by the application server.
+    *
+    * The application server must employ an exact type equality check (that is
+    * <code>java.lang.Class.equals(java.lang.Class)</code> check) in
+    * this method, to check if it supports the WorkContext type provided
+    * by the resource adapter. This method must be idempotent, that is all 
+    * calls to this method by a resource adapter for a particular 
+    * <code>WorkContext</code> type must return the same boolean value 
+    * throughout the lifecycle of that resource adapter instance.
+    *
+    * @param workContextClass The work context class
+    * @return true if the <code>workContextClass</code> is supported
+    * by the application server. false if the <code>workContextClass</code>
+    * is unsupported or unknown to the application server.
+    *
+    * @since 1.6
+    */
+   boolean isContextSupported(Class<? extends WorkContext> workContextClass);
+   
+   /**
+    * Provides a handle to a <code>TransactionSynchronization</code> instance. The
+    * <code>TransactionSynchronizationRegistry</code> instance could be used by a 
+    * resource adapter to register synchronization objects, get transaction state and
+    * status etc. This interface is implemented by the application server by a 
+    * stateless service object. The same object can be used by any number of 
+    * resource adapter objects with thread safety. 
+    *
+    * @return a <code>TransactionSynchronizationRegistry</code> instance.
+    * @since 1.6
+    */
+   TransactionSynchronizationRegistry getTransactionSynchronizationRegistry();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/CommException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/CommException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/CommException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * This indicates errors related to failed or interrupted 
  * communication with an EIS instance. Examples of common error conditions
@@ -32,50 +35,89 @@
  * @author Rahul Sharma
  * @author Ram Jeyaraman
  */
-public class CommException extends javax.resource.ResourceException {
+public class CommException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public CommException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public CommException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = -4522218827155509206L;
+      }
+      else
+      {
+         serialVersionUID = 5000980212339163591L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public CommException()
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public CommException(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public CommException(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public CommException(String message, Throwable cause) {
-	super(message, cause);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public CommException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public CommException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public CommException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public CommException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConfigProperty.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConfigProperty.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConfigProperty.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,60 +1,77 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
  * Designates a JavaBean property as a configuration property
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
- at Target( { FIELD, METHOD })
-public @interface ConfigProperty {
+ at Target({ FIELD, METHOD })
+public @interface ConfigProperty 
+{
+   /**
+    * Inferred by the container if unspecified.
+    */
+   Class type() default Object.class;
 
-	/**
-	 * Inferred by the container if unspecified.
-	 */
-	Class type() default Object.class;
+   /**
+    * Description of the configuration property
+    */
+   String[] description() default { };
+   
+   /**
+    * Inferred by the container for field based annotations if possible
+    */
+   String defaultValue() default "";
+   
+   /**
+    * Indicates that the configuration tools must ignore considering this
+    * Property during auto-discovery of Configuration properties.
+    */
+   boolean ignore() default false;
 
-	String description() default "";
-
-	/**
-	 * Inferred by the container for field based annotations if possible
-	 */
-	String defaultValue() default "";
-
-	/**
-	 * Indicates that the configuration tools must ignore considering this
-	 * Property during auto-discovery of Configuration properties.
-	 */
-	boolean ignore() default false;
+   /**
+    * Indicates that the configuration property supports
+    * dynamic updates to its value during the lifetime of
+    * the JavaBean
+    */
+   boolean supportsDynamicUpdates() default false;
+   
+   /**
+    * Indicates that the configuration property is confidential and
+    * recommends application server's configuration tools to 
+    * use special visual aids for editing them. 
+    */
+   boolean confidential() default false;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinition.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinition.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinition.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
@@ -36,39 +36,39 @@
  * 
  * @since 1.6
  * 
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
 @Target(TYPE)
-public @interface ConnectionDefinition {
+public @interface ConnectionDefinition 
+{
 
-	/**
-	 * Specifies the ConnectionFactory interface supported by the resource
-	 * adapter. Example: javax.resource.cci.ConnectionFactory or
-	 * com.wombat.ConnectionFactory
-	 */
-	Class connectionFactory();
-
-	/**
-	 * Specifies the Class provided by the resource adapter that implements the
-	 * resource adapter specific ConnectionFactory interface. Example:
-	 * com.wombat.ConnectionFactoryImpl
-	 */
-	Class connectionFactoryImpl();
-
-	/**
-	 * Specifies the Connection interface supported by the resource adapter.
-	 * Example: javax.resource.cci.Connection or com.wombat.Connection
-	 */
-	Class connection();
-
-	/**
-	 * Specifies the class provided by the resource adapter that implements the
-	 * resource adapter specific Connection interface. Example:
-	 * com.wombat.ConnectionImpl
-	 */
-	Class connectionImpl();
-
-}
\ No newline at end of file
+   /**
+    * Specifies the ConnectionFactory interface supported by the resource
+    * adapter. Example: javax.resource.cci.ConnectionFactory or
+    * com.wombat.ConnectionFactory
+    */
+   Class connectionFactory();
+   
+   /**
+    * Specifies the Class provided by the resource adapter that implements the
+    * resource adapter specific ConnectionFactory interface. Example:
+    * com.wombat.ConnectionFactoryImpl
+    */
+   Class connectionFactoryImpl();
+   
+   /**
+    * Specifies the Connection interface supported by the resource adapter.
+    * Example: javax.resource.cci.Connection or com.wombat.Connection
+    */
+   Class connection();
+   
+   /**
+    * Specifies the class provided by the resource adapter that implements the
+    * resource adapter specific Connection interface. Example:
+    * com.wombat.ConnectionImpl
+    */
+   Class connectionImpl();
+}

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinitions.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinitions.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionDefinitions.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
@@ -35,21 +35,21 @@
  * ManagedConnectionFactory} interface.
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
 @Target(TYPE)
-public @interface ConnectionDefinitions {
-
-	/**
-	 * An array of {@link ConnectionDefinition ConnectionDefinition}s associated
-	 * with the <code>ManagedConectionFactory</code> JavaBean.
-	 * 
-	 * @return an array of <code>ConnectionDefinition</code>s associated with
-     * the <code>ManagedConnectionFactory</code> instance.
-	 */
-	ConnectionDefinition[] value();
-
+public @interface ConnectionDefinitions 
+{
+   
+   /**
+    * An array of {@link ConnectionDefinition ConnectionDefinition}s associated
+    * with the <code>ManagedConectionFactory</code> JavaBean.
+    * 
+    * @return an array of <code>ConnectionDefinition</code>s associated with
+    * the <code>ManagedConnectionFactory</code> instance.
+    */
+   ConnectionDefinition[] value();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEvent.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEvent.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEvent.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,33 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
-import javax.resource.ResourceException;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.EventObject;
 
 /** The ConnectionEvent class provides information about the source of 
@@ -54,111 +59,200 @@
  *  @see         javax.resource.spi.ConnectionEventListener
  */
 
-public class ConnectionEvent extends java.util.EventObject {
+public class ConnectionEvent extends EventObject 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-  /** Event notification that an application component has closed the 
-   *  connection
-  **/
-  public static final int CONNECTION_CLOSED = 1;
+   /** Persistence field information */
+   private static final ObjectStreamField[] serialPersistentFields;
+   private static final int ID_IDX = 0;
+   private static final int EXCEPTION_IDX = 1;
+   private static final int CONN_HANDLE_IDX = 2;
 
-  /** Event notification that a Resource Manager Local Transaction was
-   *  started on the connection
-  **/
-  public static final int LOCAL_TRANSACTION_STARTED = 2;
+   /** Event notification that an application component has closed the 
+    *  connection
+    **/
+   public static final int CONNECTION_CLOSED = 1;
+   
+   /** Event notification that a Resource Manager Local Transaction was
+    *  started on the connection
+    **/
+   public static final int LOCAL_TRANSACTION_STARTED = 2;
+   
+   /** Event notification that a Resource Manager Local Transaction was
+    *  committed on the connection
+    **/
+   public static final int LOCAL_TRANSACTION_COMMITTED = 3;
+   
+   /** Event notification that a Resource Manager Local Transaction was
+    *  rolled back on the connection
+    **/
+   public static final int LOCAL_TRANSACTION_ROLLEDBACK = 4;
+   
+   /** Event notification that an error occurred on the connection. 
+    *  This event indicates that the ManagedConnection instance is
+    *  now invalid and unusable.
+    **/
+   public static final int CONNECTION_ERROR_OCCURRED = 5;
+   
+   /** Exception associated with the <code>ConnectionEvent</code>
+    *  instance.
+    *
+    *  @serial
+    **/
+   private Exception e;
+   
+   /** Type of the event
+    **/
+   protected int id;
 
-  /** Event notification that a Resource Manager Local Transaction was
-   *  committed on the connection
-  **/
-  public static final int LOCAL_TRANSACTION_COMMITTED = 3;
+   private Object connectionHandle;    
 
-  /** Event notification that a Resource Manager Local Transaction was
-   *  rolled back on the connection
-  **/
-  public static final int LOCAL_TRANSACTION_ROLLEDBACK = 4;
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-  /** Event notification that an error occurred on the connection. 
-   *  This event indicates that the ManagedConnection instance is
-   *  now invalid and unusable.
-  **/
-  public static final int CONNECTION_ERROR_OCCURRED = 5;
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 2776168349823367611L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField id int */
+            new ObjectStreamField("id", int.class),
+            /** @serialField e Exception */
+            new ObjectStreamField("e", Exception.class),
+            /** @serialField connectionHandle Object */
+            new ObjectStreamField("connectionHandle", Object.class)
+         };
+      }
+      else
+      {
+         serialVersionUID = 5611772461379563249L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField id int */
+            new ObjectStreamField("id", int.class),
+            /** @serialField exception Exception */
+            new ObjectStreamField("exception", Exception.class),
+            /** @serialField connectionHandle Object */
+            new ObjectStreamField("connectionHandle", Object.class)
+         };
+      }
+   }
+   
+   /**
+    * Construct a ConnectionEvent object. Exception defaults to null.
+    *
+    * @param    source      ManagedConnection that is the
+    *                       source of the event
+    * @param    eid         type of the Connection event
+    */
+   public ConnectionEvent(ManagedConnection source, int eid) 
+   {
+      super(source);         
+      this.id = eid;
+   }
+   
+   /**
+    * Construct a ConnectionEvent object.
+    *
+    * @param    source      ManagedConnection that is the
+    *                       source of the event
+    * @param    exception   exception about to be thrown to the application
+    * @param    eid         type of the Connection event
+    */
+   public ConnectionEvent(ManagedConnection source, 
+                          int eid,
+                          Exception exception) 
+   {
+      super(source);  
+      this.e = exception;
+      this.id = eid;
+   }
 
+   /**Get the connection handle associated with the Managed
+    * Connection instance. Used for CONNECTION_CLOSED event.
+    *
+    * @return the connection handle. May be null
+    */
+   public Object getConnectionHandle() 
+   {
+      return connectionHandle;
+   }
+   
+   /**
+    * Set the connection handle. Used for CONNECTION_CLOSED event
+    * @param connectionHandle The connection handle
+    */
+   public void setConnectionHandle(Object connectionHandle) 
+   {
+      this.connectionHandle = connectionHandle;
+   }
 
-  /** Exception associated with the <code>ConnectionEvent</code>
-   *  instance.
-   *
-   *  @serial
-  **/
-  private Exception exception;
+   /**
+    * Get the exception. May be null.
+    *
+    * @return the exception about to be thrown.
+    */
+   public Exception getException() 
+   {
+      return e;
+   }
 
-  /** Type of the event
-  **/
-  protected int id;
+   /**
+    * Get the type of event
+    * @return The id
+    */
+   public int getId() 
+   {
+      return id;
+   }
 
-  private Object connectionHandle;    
-  
-  /**
-   * Construct a ConnectionEvent object. Exception defaults to null.
-   *
-   * @param    source      ManagedConnection that is the
-   *                       source of the event
-   * @param    eid         type of the Connection event
-   */
-  public ConnectionEvent(ManagedConnection source, int eid) {
-    super(source);         
-    this.id = eid;
-  }
+   /**
+    * Read object
+    * @param ois The object input stream
+    * @exception ClassNotFoundException If a class can not be found
+    * @exception IOException Thrown if an error occurs
+    */
+   private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
+   {
+      ObjectInputStream.GetField fields = ois.readFields();
+      String name = serialPersistentFields[ID_IDX].getName();
+      this.id = fields.get(name, CONNECTION_ERROR_OCCURRED);
+      name = serialPersistentFields[EXCEPTION_IDX].getName();
+      this.e = (Exception) fields.get(name, null);
+      name = serialPersistentFields[CONN_HANDLE_IDX].getName();
+      this.connectionHandle = fields.get(name, null);
+   }
 
-  /**
-   * Construct a ConnectionEvent object.
-   *
-   * @param    source      ManagedConnection that is the
-   *                       source of the event
-   * @param    exception   exception about to be thrown to the application
-   * @param    eid         type of the Connection event
-   */
-  public ConnectionEvent(ManagedConnection source, int eid,
-			 Exception exception) {
-    super(source);  
-    this.exception = exception;
-    this.id = eid;
-  }
-
-  /**Get the connection handle associated with the Managed
-   * Connection instance. Used for CONNECTION_CLOSED event.
-   *
-   * @return the connection handle. May be null
-   */
-  public Object getConnectionHandle() {
-    return connectionHandle;
-  }
-
-  /**
-   * Set the connection handle. Used for CONNECTION_CLOSED event
-   */
-  public void setConnectionHandle(Object connectionHandle) {
-    this.connectionHandle = connectionHandle;
-  }
-
- 
-  /**
-   * Get the exception. May be null.
-   *
-   * @return the exception about to be thrown.
-   */
-  public Exception getException() {
-    return exception;
-  }
-
-  /**
-   * Get the type of event
-   */
-  public
-  int getId() {
-    return id;
-  }
-} 
-
-
-
-
-
+   /**
+    * Write object
+    * @param oos The object output stream
+    * @exception IOException Thrown if an error occurs
+    */
+   private void writeObject(ObjectOutputStream oos) throws IOException
+   {
+      ObjectOutputStream.PutField fields =  oos.putFields();
+      String name = serialPersistentFields[ID_IDX].getName();
+      fields.put(name, id);
+      name = serialPersistentFields[EXCEPTION_IDX].getName();
+      fields.put(name, e);
+      name = serialPersistentFields[CONN_HANDLE_IDX].getName();
+      fields.put(name, connectionHandle);
+      oos.writeFields();
+   }
+}

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEventListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEventListener.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionEventListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,28 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
 import java.util.EventListener;
-import javax.resource.ResourceException;
 
 /**  The <code>ConnectionEventListener</code> interface provides an event
  *   callback mechanism to enable an application server to receive 
@@ -44,72 +43,65 @@
  *   @see         javax.resource.spi.ConnectionEvent
  **/
 
-public interface ConnectionEventListener
-                 extends java.util.EventListener {
-
-  /** Notifies that an application component has closed the connection.
-   *
-   *  <p>A ManagedConnection instance notifies its registered set of 
-   *  listeners by calling ConnectionEventListener.connectionClosed method
-   *  when an application component closes a connection handle. The 
-   *  application server uses this connection close event to put the
-   *  ManagedConnection instance back in to the connection pool.
-   *
-   *  @param    event     event object describing the source of 
-   *                      the event
-   */
-  public
-  void connectionClosed(ConnectionEvent event);
-
-  /** Notifies that a Resource Manager Local Transaction was started on
-   *  the ManagedConnection instance.
-   *
-   *  @param    event     event object describing the source of 
-   *                      the event
-   */
-  public
-  void localTransactionStarted(ConnectionEvent event);
-
-  /** Notifies that a Resource Manager Local Transaction was committed 
-   *  on the ManagedConnection instance.
-   *
-   *  @param    event     event object describing the source of 
-   *                      the event
-   */
-  public
-  void localTransactionCommitted(ConnectionEvent event);
-
-  /** Notifies that a Resource Manager Local Transaction was rolled back 
-   *  on the ManagedConnection instance.
-   *
-   *  @param    event     event object describing the source of 
-   *                      the event
-   */
-  public
-  void localTransactionRolledback(ConnectionEvent event);
-       
-  /** Notifies a connection related error. 
-
-   *  The ManagedConnection instance calls the method
-   *  ConnectionEventListener.connectionErrorOccurred to notify 
-   *  its registered listeners of the occurrence of a physical 
-   *  connection-related error. The event notification happens 
-   *  just before a resource adapter throws an exception to the 
-   *  application component using the connection handle.
-   *
-   *  The connectionErrorOccurred method indicates that the 
-   *  associated ManagedConnection instance is now invalid and 
-   *  unusable. The application server handles the connection 
-   *  error event notification by initiating application 
-   *  server-specific cleanup (for example, removing ManagedConnection 
-   *  instance from the connection pool) and then calling
-   *  ManagedConnection.destroy method to destroy the physical 
-   *  connection.
-   *
-   * @param     event     event object describing the source of 
-   *                      the event
-   */
-  public
-  void connectionErrorOccurred(ConnectionEvent event);
-
+public interface ConnectionEventListener extends EventListener 
+{
+   
+   /** Notifies that an application component has closed the connection.
+    *
+    *  <p>A ManagedConnection instance notifies its registered set of 
+    *  listeners by calling ConnectionEventListener.connectionClosed method
+    *  when an application component closes a connection handle. The 
+    *  application server uses this connection close event to put the
+    *  ManagedConnection instance back in to the connection pool.
+    *
+    *  @param    event     event object describing the source of 
+    *                      the event
+    */
+   public void connectionClosed(ConnectionEvent event);
+   
+   /** Notifies that a Resource Manager Local Transaction was started on
+    *  the ManagedConnection instance.
+    *
+    *  @param    event     event object describing the source of 
+    *                      the event
+    */
+   public void localTransactionStarted(ConnectionEvent event);
+   
+   /** Notifies that a Resource Manager Local Transaction was committed 
+    *  on the ManagedConnection instance.
+    *
+    *  @param    event     event object describing the source of 
+    *                      the event
+    */
+   public void localTransactionCommitted(ConnectionEvent event);
+   
+   /** Notifies that a Resource Manager Local Transaction was rolled back 
+    *  on the ManagedConnection instance.
+    *
+    *  @param    event     event object describing the source of 
+    *                      the event
+    */
+   public void localTransactionRolledback(ConnectionEvent event);
+   
+   /** Notifies a connection related error. 
+    *  The ManagedConnection instance calls the method
+    *  ConnectionEventListener.connectionErrorOccurred to notify 
+    *  its registered listeners of the occurrence of a physical 
+    *  connection-related error. The event notification happens 
+    *  just before a resource adapter throws an exception to the 
+    *  application component using the connection handle.
+    *
+    *  The connectionErrorOccurred method indicates that the 
+    *  associated ManagedConnection instance is now invalid and 
+    *  unusable. The application server handles the connection 
+    *  error event notification by initiating application 
+    *  server-specific cleanup (for example, removing ManagedConnection 
+    *  instance from the connection pool) and then calling
+    *  ManagedConnection.destroy method to destroy the physical 
+    *  connection.
+    *
+    * @param     event     event object describing the source of 
+    *                      the event
+    */
+   public void connectionErrorOccurred(ConnectionEvent event);
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionManager.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -62,39 +62,37 @@
  *  @see         javax.resource.spi.ManagedConnectionFactory
 **/
 
-public interface ConnectionManager 
-                    extends java.io.Serializable {
-
-  /** <p>The method allocateConnection gets called by the resource adapter's
-   *  connection factory instance. This lets connection factory instance 
-   *  (provided by the resource adapter) pass a connection request to 
-   *  the ConnectionManager instance.</p>
-   *  
-   *  <p>The connectionRequestInfo parameter represents information specific
-   *  to the resource adapter for handling of the connection request.</p>
-   *
-   *  @param   mcf
-   *                       used by application server to delegate
-   *                       connection matching/creation
-   *  @param   cxRequestInfo     
-   *                       connection request Information
-   *
-   *  @return  connection handle with an EIS specific connection interface.
-   * 
-   *
-   *  @throws  ResourceException     Generic exception
-   *  @throws  ApplicationServerInternalException 
-   *                                 Application server specific exception
-   *  @throws  SecurityException     Security related error
-   *  @throws  ResourceAllocationException
-   *                                 Failed to allocate system resources for
-   *                                 connection request
-   *  @throws  ResourceAdapterInternalException
-   *                                 Resource adapter related error condition
-  **/
-  public  
-  Object allocateConnection(ManagedConnectionFactory mcf,
-			    ConnectionRequestInfo cxRequestInfo)
-                               throws ResourceException;
-
+public interface ConnectionManager extends java.io.Serializable 
+{
+   
+   /** <p>The method allocateConnection gets called by the resource adapter's
+    *  connection factory instance. This lets connection factory instance 
+    *  (provided by the resource adapter) pass a connection request to 
+    *  the ConnectionManager instance.</p>
+    *  
+    *  <p>The connectionRequestInfo parameter represents information specific
+    *  to the resource adapter for handling of the connection request.</p>
+    *
+    *  @param   mcf
+    *                       used by application server to delegate
+    *                       connection matching/creation
+    *  @param   cxRequestInfo     
+    *                       connection request Information
+    *
+    *  @return  connection handle with an EIS specific connection interface.
+    * 
+    *
+    *  @throws  ResourceException     Generic exception
+    *  @throws  ApplicationServerInternalException 
+    *                                 Application server specific exception
+    *  @throws  SecurityException     Security related error
+    *  @throws  ResourceAllocationException
+    *                                 Failed to allocate system resources for
+    *                                 connection request
+    *  @throws  ResourceAdapterInternalException
+    *                                 Resource adapter related error condition
+    **/
+   public Object allocateConnection(ManagedConnectionFactory mcf,
+                                    ConnectionRequestInfo cxRequestInfo)
+      throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ConnectionRequestInfo.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -45,25 +45,22 @@
  *  @see         javax.resource.spi.ManagedConnection
 **/
 
-public interface ConnectionRequestInfo {
-
-  /** Checks whether this instance is equal to another. Since
-   *  connectionRequestInfo is defined specific to a resource
-   *  adapter, the resource adapter is required to implement
-   *  this method. The conditions for equality are specific
-   *  to the resource adapter.
-   *
-   *  @return True if the two instances are equal.
-  **/
-  public
-  boolean equals(Object other);
-
-  /** Returns the hashCode of the ConnectionRequestInfo.
-   *
-   *  @return hash code os this instance
-  **/
-  public
-  int hashCode();
-
-
+public interface ConnectionRequestInfo 
+{
+   
+   /** Checks whether this instance is equal to another. Since
+    *  connectionRequestInfo is defined specific to a resource
+    *  adapter, the resource adapter is required to implement
+    *  this method. The conditions for equality are specific
+    *  to the resource adapter.
+    *  @param other The other object
+    *  @return True if the two instances are equal.
+    **/
+   public boolean equals(Object other);
+   
+   /** Returns the hashCode of the ConnectionRequestInfo.
+    *
+    *  @return hash code os this instance
+    **/
+   public int hashCode();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Connector.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Connector.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/Connector.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,32 +1,33 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
+
 import javax.resource.spi.work.WorkContext;
 
 /**
@@ -36,110 +37,110 @@
  * JavaBean class.
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
-
 @Documented
 @Retention(RUNTIME)
 @Target(TYPE)
-public @interface Connector {
+public @interface Connector 
+{
 
-	String[] description() default {};
-
-	String[] displayName() default "";
-
-	/**
-     * Specifies the file name for small GIF or JPEG icon images that are 
-     * used to represent the resource adapter in a GUI tool. 
-     *
-     * Each smallIcon must be associated with a largeIcon element and the 
-     * application server must use the ordinal value in their respective 
-     * arrays to find the related pairs of icons.
-     */
-    String[] smallIcon() default "";
-
-    /**
-     * Specifies the file name for large GIF or JPEG icon images that are 
-     * used to represent the resource adapter in a GUI tool. 
-     * Each smallIcon must be associated with a largeIcon element and 
-     * the application server must use the ordinal value in their 
-     * respective arrays to find the related pairs of icons.
-     */
-	String[] largeIcon() default "";
-
-	/**
-	 * Specifies the name of the resource adapter provider vendor.
-	 */
-	String vendorName() default "";
-
-	/**
-	 * Contains information about the type of EIS. For example, the type of an
-	 * EIS can be product name of the EIS independent of any version info.This
-	 * helps in identifying EIS instances that can be used with this resource
-	 * adapter.
-	 */
-	String eisType() default "";
-
-	/**
-	 * Specifies the version of the resource adapter implementation.
-	 */
-	String version() default "";
-
-	/**
-	 * Specifies licensing requirements for the resource adapter module and an
-	 * optional description of the licensing terms .
-	 */
-	String[] licenseDescription() default "";
-
-	/**
-	 * Specifies whether a license is required to deploy and use this resource
-	 * adapter
-	 */
-	boolean licenseRequired() default false;
-
-	/**
-	 * Specifies the version of the Java EE Connector Architecture specification
-	 * that is supported by this resource adapter. This information enables
-	 * deployer to configure the resource adapter to support deployment and
-	 * runtime requirements of the corresponding connector architecture
-	 * specification.
-	 */
-	String specVersion() default "1.6";
-
-	/**
-	 * Specifies the authentication mechanisms supported by the resource
-	 * adapter.
-	 * 
-	 * @see AuthenticationMechanism
-	 */
-	AuthenticationMechanism[] authMechanisms() default {};
-
-	/**
-	 * Specifies whether a license is required to deploy and use this resource
-	 * adapter
-	 */
-	boolean reauthenticationSupport() default false;
-
-	/**
-	 * Specifies the extended security permissions required to be provided for
-	 * the operation of the resource adapter module
-	 * 
-	 * @see SecurityPermission
-	 */
-	SecurityPermission[] securityPermissions() default {};
-
-	/**
-	 * Specifies the level of transaction support provided by the resource
-	 * adapter.
-	 * 
-	 * @see TransactionSupport.TransactionSupportLevel
-	 */
-	TransactionSupport.TransactionSupportLevel transactionSupport() default TransactionSupport.TransactionSupportLevel.NoTransaction;
-
-	/**
-	 * Specifies a list of fully qualified classes that implements the
-	 * {@link WorkContext InflowContext} interface that a resource adapter
-	 * requires the application server to support.
-	 */
-	Class<? extends WorkContext>[] requiredInflowContexts() default {};
+   /**
+    * Describes the resource adapter module.
+    */
+   String[] description() default { };
+   
+   /**
+    * An optional short name, providing information about the
+    * resource adapter module,  that is intended to be displayed 
+    * by tools.
+    */
+   String[] displayName() default { };
+ 
+   /**
+    * Specifies the file name for small GIF or JPEG icon images that are 
+    * used to represent the resource adapter in a GUI tool. 
+    *
+    * Each smallIcon must be associated with a largeIcon element and the 
+    * application server must use the ordinal value in their respective 
+    * arrays to find the related pairs of icons.
+    */
+   String[] smallIcon() default { };
+   
+   /**
+    * Specifies the file name for large GIF or JPEG icon images that are 
+    * used to represent the resource adapter in a GUI tool. 
+    * Each smallIcon must be associated with a largeIcon element and 
+    * the application server must use the ordinal value in their 
+    * respective arrays to find the related pairs of icons.
+    */
+   String[] largeIcon() default { };
+   
+   /**
+    * Specifies the name of the resource adapter provider vendor.
+    */
+   String vendorName() default "";
+   
+   /**
+    * Contains information about the type of EIS. For example, the type of an
+    * EIS can be product name of the EIS independent of any version info.This
+    * helps in identifying EIS instances that can be used with this resource
+    * adapter.
+    */
+   String eisType() default "";
+   
+   /**
+    * Specifies the version of the resource adapter implementation.
+    */
+   String version() default "";
+   
+   /**
+    * Specifies licensing requirements for the resource adapter module and an
+    * optional description of the licensing terms .
+    */
+   String[] licenseDescription() default { };
+   
+   /**
+    * Specifies whether a license is required to deploy and use this resource
+    * adapter
+    */
+   boolean licenseRequired() default false;
+   
+   /**
+    * Specifies the authentication mechanisms supported by the resource
+    * adapter.
+    * 
+    * @see AuthenticationMechanism
+    */
+   AuthenticationMechanism[] authMechanisms() default { };
+   
+   /**
+    * Specifies whether a license is required to deploy and use this resource
+    * adapter
+    */
+   boolean reauthenticationSupport() default false;
+   
+   /**
+    * Specifies the extended security permissions required to be provided for
+    * the operation of the resource adapter module
+    * 
+    * @see SecurityPermission
+    */
+   SecurityPermission[] securityPermissions() default { };
+   
+   /**
+    * Specifies the level of transaction support provided by the resource
+    * adapter.
+    * 
+    * @see TransactionSupport.TransactionSupportLevel
+    */
+   TransactionSupport.TransactionSupportLevel transactionSupport() 
+      default TransactionSupport.TransactionSupportLevel.NoTransaction;
+   
+   /**
+    * Specifies a list of fully qualified classes that implements the
+    * {@link WorkContext WorkContext} interface that a resource adapter
+    * requires the application server to support.
+    */
+   Class<? extends WorkContext>[] requiredWorkContexts() default { };
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/DissociatableManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -32,22 +32,23 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface DissociatableManagedConnection {
-
-    /**
-     * This method is called by an application server (that is capable of
-     * lazy connection association optimization) in order to dissociate
-     * a <code>ManagedConnection</code> instance from all of its connection
-     * handles.
-     *
-     * @throws ResourceException generic exception if operation fails.
-     *
-     * @throws ResourceAdapterInternalException
-     *            resource adapter internal error condition
-     * @throws IllegalStateException Illegal state for calling connection
-     *            cleanup. Example - if a localtransaction is in progress 
-     *            that doesn't allow connection cleanup.
-     */
-    void dissociateConnections() throws ResourceException;
+public interface DissociatableManagedConnection 
+{
+   
+   /**
+    * This method is called by an application server (that is capable of
+    * lazy connection association optimization) in order to dissociate
+    * a <code>ManagedConnection</code> instance from all of its connection
+    * handles.
+    *
+    * @throws ResourceException generic exception if operation fails.
+    *
+    * @throws ResourceAdapterInternalException
+    *            resource adapter internal error condition
+    * @throws IllegalStateException
+    *         Illegal state for dissociating a
+    *         <code>ManagedConnection</code> from all of its connection
+    *         handles.
+    */
+   void dissociateConnections() throws ResourceException;
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/EISSystemException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/EISSystemException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/EISSystemException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * An <code>EISSystemException</code> is used to indicate any EIS
  * specific system-level 
@@ -34,50 +37,89 @@
  * @author Ram Jeyaraman
  */
 
-public class EISSystemException extends javax.resource.ResourceException {
+public class EISSystemException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public EISSystemException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public EISSystemException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 5912222091656752433L;
+      }
+      else
+      {
+         serialVersionUID = 5753172122428814004L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public EISSystemException()
+   {
+      super();
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public EISSystemException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public EISSystemException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public EISSystemException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public EISSystemException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public EISSystemException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public EISSystemException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public EISSystemException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/IllegalStateException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/IllegalStateException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/IllegalStateException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * An <code>IllegalStateException</code> 
  * is thrown from a method if the callee (resource
@@ -33,50 +36,89 @@
  * @author Ram Jeyaraman
  */
 
-public class IllegalStateException extends javax.resource.ResourceException {
+public class IllegalStateException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public IllegalStateException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public IllegalStateException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = -150139934550438352L;
+      }
+      else
+      {
+         serialVersionUID = 3473092818417322126L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public IllegalStateException() 
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public IllegalStateException(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public IllegalStateException(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public IllegalStateException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public IllegalStateException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public IllegalStateException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public IllegalStateException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public IllegalStateException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/InvalidPropertyException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/InvalidPropertyException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/InvalidPropertyException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
 import java.beans.PropertyDescriptor;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 
 /**
  * This exception is thrown to indicate invalid configuration 
@@ -31,73 +33,112 @@
  * @version 0.2
  * @author Ram Jeyaraman
  */
-public class InvalidPropertyException
-        extends javax.resource.ResourceException {
+public class InvalidPropertyException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /*
-     * Holder for invalid properties.
-     */
-    private PropertyDescriptor[] invalidProperties;
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Create a InvalidPropertyException.
-     */
-    public InvalidPropertyException() {
-	super();
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = -2395559483586818078L;
+      }
+      else
+      {
+         serialVersionUID = -485903720300735741L;
+      }
+   }
 
-    /**
-     * Create a InvalidPropertyException.
-     *
-     * @param message a description of the exception
-     */
-    public InvalidPropertyException(String message) {
-	super(message);
-    }
+   /**
+    * Holder for invalid properties.
+    */
+   private PropertyDescriptor[] invalidProperties;
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public InvalidPropertyException(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Create a InvalidPropertyException.
+    */
+   public InvalidPropertyException() 
+   {
+      super();
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public InvalidPropertyException(String message, Throwable cause) {
-	super(message, cause);
-    }
+   /**
+    * Create a InvalidPropertyException.
+    *
+    * @param message a description of the exception
+    */
+   public InvalidPropertyException(String message)
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public InvalidPropertyException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public InvalidPropertyException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Set a list of invalid properties.
-     */
-    public void setInvalidPropertyDescriptors(
-            PropertyDescriptor[] invalidProperties) {
-	this.invalidProperties = invalidProperties;
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public InvalidPropertyException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
 
-    /**
-     * Get the list of invalid properties.
-     */
-    public PropertyDescriptor[] getInvalidPropertyDescriptors() {
-        return this.invalidProperties;
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public InvalidPropertyException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
+   
+   /**
+    * Set a list of invalid properties.
+    * @param invalidProperties The invalid properties
+    */
+   public void setInvalidPropertyDescriptors(PropertyDescriptor[] invalidProperties) 
+   {
+      this.invalidProperties = invalidProperties;
+   }
+
+   /**
+    * Get the list of invalid properties.
+    * @return The properties
+    */
+   public PropertyDescriptor[] getInvalidPropertyDescriptors() 
+   {
+      return this.invalidProperties;
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyAssociatableConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -32,53 +32,55 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface LazyAssociatableConnectionManager {
+public interface LazyAssociatableConnectionManager 
+{
+   
+   /**
+    * This method is called by a resource adapter (that is capable of
+    * lazy connection association optimization) in order to lazily associate
+    * a connection object with a <code>ManagedConnection</code> instance. 
+    *
+    * @param connection the connection object that is to be associated.
+    *
+    * @param mcf The <code>ManagedConnectionFactory</code> instance that was
+    * originally used to create the connection object.
+    *
+    * @param cxReqInfo connection request information. This information must
+    * be the same as that used to originally create the connection object.
+    *
+    * @throws  ResourceException     Generic exception.
+    *
+    * @throws  ApplicationServerInternalException 
+    *                              Application server specific exception.
+    *
+    * @throws  SecurityException     Security related error.
+    *
+    * @throws  ResourceAllocationException
+    *                              Failed to allocate system resources for
+    *                              connection request.
+    * @throws  ResourceAdapterInternalException
+    *                              Resource adapter related error condition.
+    */
+   void associateConnection(Object connection, 
+                            ManagedConnectionFactory mcf,
+                            ConnectionRequestInfo cxReqInfo) 
+      throws ResourceException;
 
-    /**
-     * This method is called by a resource adapter (that is capable of
-     * lazy connection association optimization) in order to lazily associate
-     * a connection object with a <code>ManagedConnection</code> instance. 
-     *
-     * @param connection the connection object that is to be associated.
-     *
-     * @param mcf The <code>ManagedConnectionFactory</code> instance that was
-     * originally used to create the connection object.
-     *
-     * @param cxReqInfo connection request information. This information must
-     * be the same as that used to originally create the connection object.
-     *
-     * @throws  ResourceException     Generic exception.
-     *
-     * @throws  ApplicationServerInternalException 
-     *                              Application server specific exception.
-     *
-     * @throws  SecurityException     Security related error.
-     *
-     * @throws  ResourceAllocationException
-     *                              Failed to allocate system resources for
-     *                              connection request.
-     * @throws  ResourceAdapterInternalException
-     *                              Resource adapter related error condition.
-     */
-    void associateConnection(Object connection, ManagedConnectionFactory mcf,
-	ConnectionRequestInfo cxReqInfo) throws ResourceException;
-
-    /**
-     * This method is called by the resource adapter (that is capable of
-     * lazy connection association optimization) in order to notify the
-     * application server that a disassociated connection handle is closed.
-     * <p>The application server can then perform any cleanup operations 
-     * related to the disassociated connection handle in its connection pool.
-     *
-     * @param connection the disassociated connection object handle that 
-     * has been closed
-     *
-     * @param mcf The <code>ManagedConnectionFactory</code> instance that was
-     * originally used to create the connection object.
-     *
-     * @since 1.6
-     */
-    void inactiveConnectionClosed(Object connection, 
-                                     ManagedConnectionFactory mcf);
+   /**
+    * This method is called by the resource adapter (that is capable of
+    * lazy connection association optimization) in order to notify the
+    * application server that a disassociated connection handle is closed.
+    * <p>The application server can then perform any cleanup operations 
+    * related to the disassociated connection handle in its connection pool.
+    *
+    * @param connection the disassociated connection object handle that 
+    * has been closed
+    *
+    * @param mcf The <code>ManagedConnectionFactory</code> instance that was
+    * originally used to create the connection object.
+    *
+    * @since 1.6
+    */
+   void inactiveConnectionClosed(Object connection, 
+                                 ManagedConnectionFactory mcf);
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableConnectionManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -32,28 +32,28 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface LazyEnlistableConnectionManager {
-
-    /**
-     * This method is called by a resource adapter (that is capable of
-     * lazy transaction enlistment optimization) in order to lazily enlist
-     * a connection object with a XA transaction. 
-     *
-     * @param mc The <code>ManagedConnection</code> instance that needs to be
-     * lazily associated.
-     *
-     * @throws  ResourceException Generic exception.
-     *
-     * @throws  ApplicationServerInternalException 
-     *                            Application server specific exception.
-     *
-     * @throws  ResourceAllocationException
-     *                            Failed to allocate system resources for
-     *                            connection request.
-     *
-     * @throws  ResourceAdapterInternalException
-     *                            Resource adapter related error condition.
-     */
-    void lazyEnlist(ManagedConnection mc) throws ResourceException;
+public interface LazyEnlistableConnectionManager 
+{
+   
+   /**
+    * This method is called by a resource adapter (that is capable of
+    * lazy transaction enlistment optimization) in order to lazily enlist
+    * a connection object with a XA transaction. 
+    *
+    * @param mc The <code>ManagedConnection</code> instance that needs to be
+    * lazily associated.
+    *
+    * @throws  ResourceException Generic exception.
+    *
+    * @throws  ApplicationServerInternalException 
+    *                            Application server specific exception.
+    *
+    * @throws  ResourceAllocationException
+    *                            Failed to allocate system resources for
+    *                            connection request.
+    *
+    * @throws  ResourceAdapterInternalException
+    *                            Resource adapter related error condition.
+    */
+   void lazyEnlist(ManagedConnection mc) throws ResourceException;
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LazyEnlistableManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -30,6 +30,7 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface LazyEnlistableManagedConnection {
+public interface LazyEnlistableManagedConnection 
+{
+
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransaction.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransaction.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransaction.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -41,49 +41,43 @@
  *  @author      Rahul Sharma
  *  @see         javax.resource.spi.ManagedConnection
  **/
+public interface LocalTransaction 
+{
+   /** Begin a local transaction
+    *  
+    *  @throws  ResourceException   generic exception if operation fails
+    *  @throws  LocalTransactionException  
+    *                               error condition related 
+    *                               to local transaction management
+    *  @throws  ResourceAdapterInternalException
+    *                               error condition internal to resource
+    *                               adapter
+    *  @throws  EISSystemException  EIS instance specific error condition        
+    **/
+   public void begin() throws ResourceException;
 
-
-
-public interface LocalTransaction {
-  /** Begin a local transaction
-   *  
-   *  @throws  ResourceException   generic exception if operation fails
-   *  @throws  LocalTransactionException  
-   *                               error condition related 
-   *                               to local transaction management
-   *  @throws  ResourceAdapterInternalException
-   *                               error condition internal to resource
-   *                               adapter
-   *  @throws  EISSystemException  EIS instance specific error condition        
-  **/
-  public 
-  void begin() throws ResourceException;
-
-  /** Commit a local transaction 
-   *
-   *  @throws  ResourceException   generic exception if operation fails
-   *  @throws  LocalTransactionException  
-   *                               error condition related 
-   *                               to local transaction management
-   *  @throws  ResourceAdapterInternalException
-   *                               error condition internal to resource
-   *                               adapter
-   *  @throws  EISSystemException  EIS instance specific error condition        
-  **/
-  public
-  void commit() throws ResourceException;
+   /** Commit a local transaction 
+    *
+    *  @throws  ResourceException   generic exception if operation fails
+    *  @throws  LocalTransactionException  
+    *                               error condition related 
+    *                               to local transaction management
+    *  @throws  ResourceAdapterInternalException
+    *                               error condition internal to resource
+    *                               adapter
+    *  @throws  EISSystemException  EIS instance specific error condition        
+    **/
+   public void commit() throws ResourceException;
   
-  /** Rollback a local transaction
-   *  @throws  ResourceException   generic exception if operation fails
-   *  @throws  LocalTransactionException  
-   *                               error condition related 
-   *                               to local transaction management
-   *  @throws  ResourceAdapterInternalException
-   *                               error condition internal to resource
-   *                               adapter
-   *  @throws  EISSystemException  EIS instance specific error condition        
-  **/
-  public
-  void rollback() throws ResourceException;
-
+   /** Rollback a local transaction
+    *  @throws  ResourceException   generic exception if operation fails
+    *  @throws  LocalTransactionException  
+    *                               error condition related 
+    *                               to local transaction management
+    *  @throws  ResourceAdapterInternalException
+    *                               error condition internal to resource
+    *                               adapter
+    *  @throws  EISSystemException  EIS instance specific error condition        
+    **/
+   public void rollback() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransactionException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransactionException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/LocalTransactionException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /** 
  * A <code>LocalTransactionException</code> represents various 
  * error conditions related to the local transaction management contract. 
@@ -55,51 +58,89 @@
  * @author Ram Jeyaraman
  */
 
-public class LocalTransactionException 
-        extends javax.resource.ResourceException {
+public class LocalTransactionException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public LocalTransactionException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public LocalTransactionException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 4704131764458675746L;
+      }
+      else
+      {
+         serialVersionUID = 7495828853103281459L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public LocalTransactionException() 
+   { 
+      super();
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public LocalTransactionException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public LocalTransactionException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public LocalTransactionException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public LocalTransactionException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public LocalTransactionException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public LocalTransactionException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public LocalTransactionException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnection.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnection.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnection.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,30 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import javax.resource.ResourceException;
 import javax.security.auth.Subject;
 import javax.transaction.xa.XAResource;
-import javax.resource.ResourceException;
 
 /** ManagedConnection instance represents a physical connection
  *  to the underlying EIS.
@@ -50,227 +50,216 @@
  *  @see         javax.resource.spi.LocalTransaction
 **/
 
-public interface ManagedConnection {
-  
-  /** Creates a new connection handle for the underlying physical connection 
-   *  represented by the ManagedConnection instance. This connection handle
-   *  is used by the application code to refer to the underlying physical 
-   *  connection. This connection handle is associated with its 
-   *  ManagedConnection instance in a resource adapter implementation 
-   *  specific way.</P>
-   *
-   *  <P>The ManagedConnection uses the Subject and additional ConnectionRequest
-   *  Info (which is specific to resource adapter and opaque to application
-   *  server) to set the state of the physical connection.</p>
-   *
-   *  @param        subject        security context as JAAS subject
-   *  @param        cxRequestInfo  ConnectionRequestInfo instance
-   *  @return       generic Object instance representing the connection 
-   *                handle. For CCI, the connection handle created by a 
-   *                ManagedConnection instance is of the type 
-   *                javax.resource.cci.Connection.
-   *
-   *  @throws  ResourceException     generic exception if operation fails
-   *  @throws  ResourceAdapterInternalException
-   *                                 resource adapter internal error condition
-   *  @throws  SecurityException     security related error condition
-   *  @throws  CommException         failed communication with EIS instance
-   *  @throws  EISSystemException    internal error condition in EIS instance
-   *                                 - used if EIS instance is involved in
-   *                                   setting state of ManagedConnection
-   *
-   **/
-  public 
-  Object getConnection(Subject subject, 
-		       ConnectionRequestInfo cxRequestInfo) 
-                 throws ResourceException;
+public interface ManagedConnection 
+{
+   /** Creates a new connection handle for the underlying physical connection 
+    *  represented by the ManagedConnection instance. This connection handle
+    *  is used by the application code to refer to the underlying physical 
+    *  connection. This connection handle is associated with its 
+    *  ManagedConnection instance in a resource adapter implementation 
+    *  specific way.</P>
+    *
+    *  <P>The ManagedConnection uses the Subject and additional ConnectionRequest
+    *  Info (which is specific to resource adapter and opaque to application
+    *  server) to set the state of the physical connection.</p>
+    *
+    *  @param        subject        security context as JAAS subject
+    *  @param        cxRequestInfo  ConnectionRequestInfo instance
+    *  @return       generic Object instance representing the connection 
+    *                handle. For CCI, the connection handle created by a 
+    *                ManagedConnection instance is of the type 
+    *                javax.resource.cci.Connection.
+    *
+    *  @throws  ResourceException     generic exception if operation fails
+    *  @throws  ResourceAdapterInternalException
+    *                                 resource adapter internal error condition
+    *  @throws  SecurityException     security related error condition
+    *  @throws  CommException         failed communication with EIS instance
+    *  @throws  EISSystemException    internal error condition in EIS instance
+    *                                 - used if EIS instance is involved in
+    *                                   setting state of ManagedConnection
+    *
+    **/
+   public Object getConnection(Subject subject, 
+                               ConnectionRequestInfo cxRequestInfo) 
+      throws ResourceException;
+   
+   /** Destroys the physical connection to the underlying resource manager.
+    *
+    *  <p>To manage the size of the connection pool, an application server can 
+    *  explictly call ManagedConnection.destroy to destroy a  
+    *  physical connection. A resource adapter should destroy all allocated 
+    *  system resources for this ManagedConnection instance when the method 
+    *  destroy is called.
+    *  
+    *  @throws    ResourceException     generic exception if operation failed
+    *  @throws    IllegalStateException illegal state for destroying connection
+    **/
+   
+   public void destroy() throws ResourceException;
+   
+   /** Application server calls this method to force any cleanup on the 
+    *  ManagedConnection instance.
+    *  
+    *  <p>The method ManagedConnection.cleanup initiates a cleanup of the
+    *  any client-specific state as maintained by a ManagedConnection instance.
+    *  The cleanup should invalidate all connection handles that had been 
+    *  created using this ManagedConnection instance. Any attempt by an application 
+    *  component to use the connection handle after cleanup of the underlying
+    *  ManagedConnection should result in an exception.
+    *
+    *  <p>The cleanup of ManagedConnection is always driven by an application
+    *  server. An application server should not invoke ManagedConnection.cleanup
+    *  when there is an uncompleted transaction (associated with a 
+    *  ManagedConnection instance) in progress. 
+    *  <p>The invocation of ManagedConnection.cleanup method on an already 
+    *  cleaned-up connection should not throw an exception.
+    *
+    *  <p>The cleanup of ManagedConnection instance resets its client specific
+    *  state and prepares the connection to be put back in to a connection
+    *  pool. The cleanup method should not cause resource adapter to close
+    *  the physical pipe and reclaim system resources associated with the
+    *  physical connection.
+    *  
+    *  @throws    ResourceException     generic exception if operation fails
+    *  @throws    ResourceAdapterInternalException
+    *                                   resource adapter internal error condition
+    *  @throws    IllegalStateException Illegal state for calling connection
+    *                                   cleanup. Example - if a localtransaction 
+    *                                   is in progress that doesn't allow 
+    *                                   connection cleanup
+    *
+    **/
+   public void cleanup() throws ResourceException;  
 
-  /** Destroys the physical connection to the underlying resource manager.
-   *
-   *  <p>To manage the size of the connection pool, an application server can 
-   *  explictly call ManagedConnection.destroy to destroy a  
-   *  physical connection. A resource adapter should destroy all allocated 
-   *  system resources for this ManagedConnection instance when the method 
-   *  destroy is called.
-   *  
-   *  @throws    ResourceException     generic exception if operation failed
-   *  @throws    IllegalStateException illegal state for destroying connection
-   **/
+   /** Used by the container to change the association of an 
+    *  application-level connection handle with a ManagedConneciton 
+    *  instance. The container should find the right ManagedConnection 
+    *  instance and call the associateConnection method.
+    *  In order to set a Connection Handle as the active connection 
+    *  handle, the container may also use the <code>associateConnection</code> 
+    *  method to set the same <code>ManagedConnection</code> associated 
+    *  with the Connection handle.
+    *
+    *  <p>The resource adapter is required to implement the associateConnection
+    *  method. The method implementation for a ManagedConnection should 
+    *  dissociate the connection handle (passed as a parameter) from its 
+    *  currently associated ManagedConnection and associate the new 
+    *  connection handle with itself. 
+    *
+    *  @param   connection  Application-level connection handle
+    *
+    *  @throws  ResourceException     Failed to associate the connection
+    *                                 handle with this ManagedConnection
+    *                                 instance
+    *  @throws  IllegalStateException Illegal state for invoking this
+    *                                 method
+    *  @throws  ResourceAdapterInternalException
+    *                                 Resource adapter internal error 
+    *                                 condition
+    *                  
+    **/
+   public void associateConnection(Object connection)
+      throws ResourceException;
 
-  public 
-  void destroy() throws ResourceException;
+   /** Adds a connection event listener to the ManagedConnection 
+    *  instance.
+    *
+    *  <p>The registered ConnectionEventListener instances are notified of
+    *  connection close and error events, also of local transaction related
+    *  events on the Managed Connection.
+    *
+    *  @param  listener   a new ConnectionEventListener to be registered
+    **/
+   public void addConnectionEventListener(ConnectionEventListener listener);
 
-  /** Application server calls this method to force any cleanup on the 
-   *  ManagedConnection instance.
-   *  
-   *  <p>The method ManagedConnection.cleanup initiates a cleanup of the
-   *  any client-specific state as maintained by a ManagedConnection instance.
-   *  The cleanup should invalidate all connection handles that had been 
-   *  created using this ManagedConnection instance. Any attempt by an application 
-   *  component to use the connection handle after cleanup of the underlying
-   *  ManagedConnection should result in an exception.
-   *
-   *  <p>The cleanup of ManagedConnection is always driven by an application
-   *  server. An application server should not invoke ManagedConnection.cleanup
-   *  when there is an uncompleted transaction (associated with a 
-   *  ManagedConnection instance) in progress. 
+   /** 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);
 
-   *  <p>The invocation of ManagedConnection.cleanup method on an already 
-   *  cleaned-up connection should not throw an exception.
-   *
-   *  <p>The cleanup of ManagedConnection instance resets its client specific
-   *  state and prepares the connection to be put back in to a connection
-   *  pool. The cleanup method should not cause resource adapter to close
-   *  the physical pipe and reclaim system resources associated with the
-   *  physical connection.
-   *  
-   *  @throws    ResourceException     generic exception if operation fails
-   *  @throws    ResourceAdapterInternalException
-   *                                   resource adapter internal error condition
-   *  @throws    IllegalStateException Illegal state for calling connection
-   *                                   cleanup. Example - if a localtransaction 
-   *                                   is in progress that doesn't allow 
-   *                                   connection cleanup
-   *
-   **/
-  public 
-  void cleanup() throws ResourceException;  
+   /** Returns an <code>javax.transaction.xa.XAresource</code> instance. 
+    *  An application server enlists this XAResource instance with the
+    *  Transaction Manager if the ManagedConnection instance is being used
+    *  in a JTA transaction that is being coordinated by the Transaction 
+    *  Manager.
+    *
+    *  @return     XAResource instance
+    *
+    *  @throws     ResourceException     generic exception if operation fails
+    *  @throws     javax.resource.NotSupportedException if the operation is not supported
+    *  @throws     ResourceAdapterInternalException
+    *                                    resource adapter internal error condition
+    **/
+   public XAResource getXAResource() throws ResourceException;
 
-  /** Used by the container to change the association of an 
-   *  application-level connection handle with a ManagedConneciton 
-   *  instance. The container should find the right ManagedConnection 
-   *  instance and call the associateConnection method.
-   *
-   *  <p>The resource adapter is required to implement the associateConnection
-   *  method. The method implementation for a ManagedConnection should 
-   *  dissociate the connection handle (passed as a parameter) from its 
-   *  currently associated ManagedConnection and associate the new 
-   *  connection handle with itself. 
-   *
-   *  @param   connection  Application-level connection handle
-   *
-   *  @throws  ResourceException     Failed to associate the connection
-   *                                 handle with this ManagedConnection
-   *                                 instance
-   *  @throws  IllegalStateException Illegal state for invoking this
-   *                                 method
-   *  @throws  ResourceAdapterInternalException
-   *                                 Resource adapter internal error 
-   *                                 condition
-   *                  
-  **/
-  public
-  void associateConnection(Object connection)
-                 throws ResourceException;
+   /** Returns an <code>javax.resource.spi.LocalTransaction</code> instance. 
+    *  The LocalTransaction interface is used by the container to manage
+    *  local transactions for a RM instance.
+    *
+    *  @return     LocalTransaction instance
+    *
+    *  @throws     ResourceException     generic exception if operation fails
+    *  @throws     javax.resource.NotSupportedException if the operation is not supported
+    *  @throws     ResourceAdapterInternalException
+    *                                    resource adapter internal error condition
+    **/
+   public LocalTransaction getLocalTransaction() throws ResourceException;
 
+   /** <p>Gets the metadata information for this connection's underlying 
+    *  EIS resource manager instance. The ManagedConnectionMetaData 
+    *  interface provides information about the underlying EIS instance 
+    *  associated with the ManagedConenction instance.
+    *
+    *  @return     ManagedConnectionMetaData instance
+    *
+    *  @throws     ResourceException     generic exception if operation fails
+    *  @throws     javax.resource.NotSupportedException if the operation is not supported
+    **/
+   public ManagedConnectionMetaData getMetaData() throws ResourceException;
 
-
-  /** Adds a connection event listener to the ManagedConnection 
-   *  instance.
-   *
-   *  <p>The registered ConnectionEventListener instances are notified of
-   *  connection close and error events, also of local transaction related
-   *  events on the Managed Connection.
-   *
-   *  @param  listener   a new ConnectionEventListener to be registered
-  **/
-  public 
-  void addConnectionEventListener(ConnectionEventListener 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);
-
-  /** Returns an <code>javax.transaction.xa.XAresource</code> instance. 
-   *  An application server enlists this XAResource instance with the
-   *  Transaction Manager if the ManagedConnection instance is being used
-   *  in a JTA transaction that is being coordinated by the Transaction 
-   *  Manager.
-   *
-   *  @return     XAResource instance
-   *
-   *  @throws     ResourceException     generic exception if operation fails
-   *  @throws     NotSupportedException if the operation is not supported
-   *  @throws     ResourceAdapterInternalException
-   *                                    resource adapter internal error condition
-  **/
-  public 
-  XAResource getXAResource() throws ResourceException;
-
-  /** Returns an <code>javax.resource.spi.LocalTransaction</code> instance. 
-   *  The LocalTransaction interface is used by the container to manage
-   *  local transactions for a RM instance.
-   *
-   *  @return     LocalTransaction instance
-   *
-   *  @throws     ResourceException     generic exception if operation fails
-   *  @throws     NotSupportedException if the operation is not supported
-   *  @throws     ResourceAdapterInternalException
-   *                                    resource adapter internal error condition
-  **/
-  public 
-  LocalTransaction getLocalTransaction() throws ResourceException;
-
-  /** <p>Gets the metadata information for this connection's underlying 
-   *  EIS resource manager instance. The ManagedConnectionMetaData 
-   *  interface provides information about the underlying EIS instance 
-   *  associated with the ManagedConenction instance.
-   *
-   *  @return     ManagedConnectionMetaData instance
-   *
-   *  @throws     ResourceException     generic exception if operation fails
-   *  @throws     NotSupportedException if the operation is not supported
-  **/
-  public 
-  ManagedConnectionMetaData getMetaData() throws ResourceException;
-
-  /** Sets the log writer for this ManagedConnection instance.
-   *
-   *  <p>The log writer is a character output stream to which all logging and
-   *  tracing messages for this ManagedConnection instance will be printed.
-   *  Application Server manages the association of output stream with the
-   *  ManagedConnection instance based on the connection pooling 
-   *  requirements.</p>
-   *  
-   *  <p>When a ManagedConnection object is initially created, the default
-   *  log writer associated with this instance is obtained from the 
-   *  ManagedConnectionFactory. An application server can set a log writer
-   *  specific to this ManagedConnection to log/trace this instance using
-   *  setLogWriter method.</p>
-   *  
-   *  @param      out        Character Output stream to be associated
-   *
-   *  @throws     ResourceException  generic exception if operation fails
-   *  @throws     ResourceAdapterInternalException
-   *                                 resource adapter related error condition
-   **/
-  public
-  void setLogWriter(java.io.PrintWriter out) throws ResourceException;
-
-  /** Gets the log writer for this ManagedConnection instance.
-   *
-   *  <p>The log writer is a character output stream to which all logging and
-   *  tracing messages for this ManagedConnection instance will be printed.
-   *  ConnectionManager manages the association of output stream with the
-   *  ManagedConnection instance based on the connection pooling 
-   *  requirements.</p>
-   *
-   *  <p>The Log writer associated with a ManagedConnection instance can be
-   *  one set as default from the ManagedConnectionFactory (that created
-   *  this connection) or one set specifically for this instance by the 
-   *  application server.</p>
-   *
-   *  @return   Character ourput stream associated with this Managed-
-   *            Connection instance
-   *     
-   *  @throws     ResourceException     generic exception if operation fails
-  **/
-  public 
-  java.io.PrintWriter getLogWriter() throws ResourceException;
+   /** Sets the log writer for this ManagedConnection instance.
+    *
+    *  <p>The log writer is a character output stream to which all logging and
+    *  tracing messages for this ManagedConnection instance will be printed.
+    *  Application Server manages the association of output stream with the
+    *  ManagedConnection instance based on the connection pooling 
+    *  requirements.</p>
+    *  
+    *  <p>When a ManagedConnection object is initially created, the default
+    *  log writer associated with this instance is obtained from the 
+    *  ManagedConnectionFactory. An application server can set a log writer
+    *  specific to this ManagedConnection to log/trace this instance using
+    *  setLogWriter method.</p>
+    *  
+    *  @param      out        Character Output stream to be associated
+    *
+    *  @throws     ResourceException  generic exception if operation fails
+    *  @throws     ResourceAdapterInternalException
+    *                                 resource adapter related error condition
+    **/
+   public void setLogWriter(java.io.PrintWriter out) throws ResourceException;
+   
+   /** Gets the log writer for this ManagedConnection instance.
+    *
+    *  <p>The log writer is a character output stream to which all logging and
+    *  tracing messages for this ManagedConnection instance will be printed.
+    *  ConnectionManager manages the association of output stream with the
+    *  ManagedConnection instance based on the connection pooling 
+    *  requirements.</p>
+    *
+    *  <p>The Log writer associated with a ManagedConnection instance can be
+    *  one set as default from the ManagedConnectionFactory (that created
+    *  this connection) or one set specifically for this instance by the 
+    *  application server.</p>
+    *
+    *  @return   Character ourput stream associated with this Managed-
+    *            Connection instance
+    *     
+    *  @throws     ResourceException     generic exception if operation fails
+    **/
+   public java.io.PrintWriter getLogWriter() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
-import javax.security.auth.Subject;
 import java.util.Set;
+
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
+import javax.security.auth.Subject;
 
 /** 
  * ManagedConnectionFactory instance is a factory of both ManagedConnection
@@ -40,159 +40,157 @@
  *  @see         javax.resource.spi.ManagedConnection
  */
 
-public interface ManagedConnectionFactory extends java.io.Serializable {
+public interface ManagedConnectionFactory extends java.io.Serializable 
+{
+   
+   /**
+    * Creates a Connection Factory instance. The Connection Factory
+    *  instance gets initialized with the passed ConnectionManager. In
+    *  the managed scenario, ConnectionManager is provided by the 
+    *  application server.
+    *
+    *  @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
+    *  @throws   ResourceAdapterInternalException
+    *                Resource adapter related error condition
+    */
+   public Object createConnectionFactory(ConnectionManager cxManager)
+      throws ResourceException;
+   
+   /**
+    * Creates a Connection Factory instance. The Connection Factory 
+    *  instance gets initialized with a default ConnectionManager provided
+    *  by the resource adapter.
+    *
+    *  @return   EIS-specific Connection Factory instance or
+    *            javax.resource.cci.ConnectionFactory instance
+    *
+    *  @throws   ResourceException     Generic exception
+    *  @throws   ResourceAdapterInternalException
+    *                Resource adapter related error condition
+    */
+   public Object createConnectionFactory() throws ResourceException;
+   
+   /** 
+    * Creates a new physical connection to the underlying EIS 
+    *  resource manager.
+    *
+    *  <p>ManagedConnectionFactory uses the security information (passed as
+    *  Subject) and additional ConnectionRequestInfo (which is specific to
+    *  ResourceAdapter and opaque to application server) to create this new
+    *  connection.
+    *
+    *  @param   subject        Caller's security information
+    *  @param   cxRequestInfo  Additional resource adapter specific connection
+    *                          request information
+    *
+    *  @throws  ResourceException     generic exception
+    *  @throws  SecurityException     security related error
+    *  @throws  ResourceAllocationException
+    *                                 failed to allocate system resources for
+    *                                 connection request
+    *  @throws  ResourceAdapterInternalException
+    *                                 resource adapter related error condition
+    *  @throws  EISSystemException    internal error condition in EIS instance
+    *
+    *  @return  ManagedConnection instance
+    */
+   public ManagedConnection createManagedConnection(Subject subject, 
+                                                    ConnectionRequestInfo cxRequestInfo) 
+      throws ResourceException;
+   
+   /** 
+    * Returns a matched connection from the candidate set of connections. 
+    *  
+    *  
+    *  <p>ManagedConnectionFactory uses the security info (as in Subject)
+    *  and information provided through ConnectionRequestInfo and additional
+    *  Resource Adapter specific criteria to do matching. Note that criteria
+    *  used for matching is specific to a resource adapter and is not
+    *  prescribed by the Connector specification.</p>
+    *
+    *  <p>This method returns a ManagedConnection instance that is the best 
+    *  match for handling the connection allocation request.</p>
+    *
+    *  @param   connectionSet   candidate connection set
+    *  @param   subject         caller's security information
+    *  @param   cxRequestInfo   additional resource adapter specific 
+    *                           connection request information  
+    *
+    *  @throws  ResourceException     generic exception
+    *  @throws  SecurityException     security related error
+    *  @throws  ResourceAdapterInternalException
+    *                                 resource adapter related error condition
+    *  @throws  javax.resource.NotSupportedException if operation is not supported
+    *
+    *  @return  ManagedConnection     if resource adapter finds an
+    *                                 acceptable match otherwise null
+    **/
+   public ManagedConnection matchManagedConnections(Set connectionSet,
+                                                    Subject subject,
+                                                    ConnectionRequestInfo cxRequestInfo) 
+      throws ResourceException;
 
-    /**
-     * Creates a Connection Factory instance. The Connection Factory
-     *  instance gets initialized with the passed ConnectionManager. In
-     *  the managed scenario, ConnectionManager is provided by the 
-     *  application server.
-     *
-     *  @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
-     *  @throws   ResourceAdapterInternalException
-     *                Resource adapter related error condition
-     */
-    public Object createConnectionFactory(ConnectionManager cxManager)
-	throws ResourceException;
-
-    /**
-     * Creates a Connection Factory instance. The Connection Factory 
-     *  instance gets initialized with a default ConnectionManager provided
-     *  by the resource adapter.
-     *
-     *  @return   EIS-specific Connection Factory instance or
-     *            javax.resource.cci.ConnectionFactory instance
-     *
-     *  @throws   ResourceException     Generic exception
-     *  @throws   ResourceAdapterInternalException
-     *                Resource adapter related error condition
-     */
-    public Object createConnectionFactory() throws ResourceException;
-
- 
-    /** 
-     * Creates a new physical connection to the underlying EIS 
-     *  resource manager.
-     *
-     *  <p>ManagedConnectionFactory uses the security information (passed as
-     *  Subject) and additional ConnectionRequestInfo (which is specific to
-     *  ResourceAdapter and opaque to application server) to create this new
-     *  connection.
-     *
-     *  @param   subject        Caller's security information
-     *  @param   cxRequestInfo  Additional resource adapter specific connection
-     *                          request information
-     *
-     *  @throws  ResourceException     generic exception
-     *  @throws  SecurityException     security related error
-     *  @throws  ResourceAllocationException
-     *                                 failed to allocate system resources for
-     *                                 connection request
-     *  @throws  ResourceAdapterInternalException
-     *                                 resource adapter related error condition
-     *  @throws  EISSystemException    internal error condition in EIS instance
-     *
-     *  @return  ManagedConnection instance
-     */
-    public ManagedConnection createManagedConnection(
-			      Subject subject, 
-			      ConnectionRequestInfo cxRequestInfo) 
-	throws ResourceException;
-
-    /** 
-     * Returns a matched connection from the candidate set of connections. 
-     *  
-     *  
-     *  <p>ManagedConnectionFactory uses the security info (as in Subject)
-     *  and information provided through ConnectionRequestInfo and additional
-     *  Resource Adapter specific criteria to do matching. Note that criteria
-     *  used for matching is specific to a resource adapter and is not
-     *  prescribed by the Connector specification.</p>
-     *
-     *  <p>This method returns a ManagedConnection instance that is the best 
-     *  match for handling the connection allocation request.</p>
-     *
-     *  @param   connectionSet   candidate connection set
-     *  @param   subject         caller's security information
-     *  @param   cxRequestInfo   additional resource adapter specific 
-     *                           connection request information  
-     *
-     *  @throws  ResourceException     generic exception
-     *  @throws  SecurityException     security related error
-     *  @throws  ResourceAdapterInternalException
-     *                                 resource adapter related error condition
-     *  @throws  NotSupportedException if operation is not supported
-     *
-     *  @return  ManagedConnection     if resource adapter finds an
-     *                                 acceptable match otherwise null
-     **/
-    public ManagedConnection matchManagedConnections(
-				      Set connectionSet,
-				      Subject subject,
-				      ConnectionRequestInfo  cxRequestInfo) 
-	throws ResourceException;
-
-    /** 
-     * Set the log writer for this ManagedConnectionFactory instance.</p>
-     *
-     *  <p>The log writer is a character output stream to which all logging and
-     *  tracing messages for this ManagedConnectionfactory instance will be 
-     *  printed.</p>
-     *
-     * <p>ApplicationServer manages the association of output stream with the
-     *  ManagedConnectionFactory. When a ManagedConnectionFactory object is 
-     *  created the log writer is initially null, in other words, logging is 
-     *  disabled. Once a log writer is associated with a
-     *  ManagedConnectionFactory, logging and tracing for 
-     *  ManagedConnectionFactory instance is enabled.
-     *
-     *  <p>The ManagedConnection instances created by ManagedConnectionFactory
-     *  "inherits" the log writer, which can be overridden by ApplicationServer
-     *  using ManagedConnection.setLogWriter to set ManagedConnection specific
-     *  logging and tracing.
-     *
-     *  @param   out                   PrintWriter - an out stream for
-     *                                 error logging and tracing
-     *  @throws  ResourceException     generic exception
-     *  @throws  ResourceAdapterInternalException
-     *                                 resource adapter related error condition
-     */
-    public void setLogWriter(java.io.PrintWriter out) throws ResourceException;
-
-    /** 
-     * Get the log writer for this ManagedConnectionFactory instance.
-     *
-     *  <p>The log writer is a character output stream to which all logging and
-     *  tracing messages for this ManagedConnectionFactory instance will be 
-     *  printed
-     *
-     *  <p>ApplicationServer manages the association of output stream with the
-     *  ManagedConnectionFactory. When a ManagedConnectionFactory object is 
-     *  created the log writer is initially null, in other words, logging is 
-     *  disabled.
-     *
-     *  @return  PrintWriter
-     *  @throws  ResourceException     generic exception
-     */
-    public java.io.PrintWriter getLogWriter() throws ResourceException;
-
-    /** 
-     * Returns the hash code for the ManagedConnectionFactory
-     * 
-     *  @return  hash code for the ManagedConnectionFactory
-     */
-    public int hashCode();
-
-    /** 
-     * Check if this ManagedConnectionFactory is equal to another
-     * ManagedConnectionFactory.
-     *
-     *  @return  true if two instances are equal
-     */
-    public boolean equals(Object other);
+   /** 
+    * Set the log writer for this ManagedConnectionFactory instance.</p>
+    *
+    *  <p>The log writer is a character output stream to which all logging and
+    *  tracing messages for this ManagedConnectionfactory instance will be 
+    *  printed.</p>
+    *
+    * <p>ApplicationServer manages the association of output stream with the
+    *  ManagedConnectionFactory. When a ManagedConnectionFactory object is 
+    *  created the log writer is initially null, in other words, logging is 
+    *  disabled. Once a log writer is associated with a
+    *  ManagedConnectionFactory, logging and tracing for 
+    *  ManagedConnectionFactory instance is enabled.
+    *
+    *  <p>The ManagedConnection instances created by ManagedConnectionFactory
+    *  "inherits" the log writer, which can be overridden by ApplicationServer
+    *  using ManagedConnection.setLogWriter to set ManagedConnection specific
+    *  logging and tracing.
+    *
+    *  @param   out                   PrintWriter - an out stream for
+    *                                 error logging and tracing
+    *  @throws  ResourceException     generic exception
+    *  @throws  ResourceAdapterInternalException
+    *                                 resource adapter related error condition
+    */
+   public void setLogWriter(java.io.PrintWriter out) throws ResourceException;
+   
+   /** 
+    * Get the log writer for this ManagedConnectionFactory instance.
+    *
+    *  <p>The log writer is a character output stream to which all logging and
+    *  tracing messages for this ManagedConnectionFactory instance will be 
+    *  printed
+    *
+    *  <p>ApplicationServer manages the association of output stream with the
+    *  ManagedConnectionFactory. When a ManagedConnectionFactory object is 
+    *  created the log writer is initially null, in other words, logging is 
+    *  disabled.
+    *
+    *  @return  PrintWriter
+    *  @throws  ResourceException     generic exception
+    */
+   public java.io.PrintWriter getLogWriter() throws ResourceException;
+   
+   /** 
+    * Returns the hash code for the ManagedConnectionFactory
+    * 
+    *  @return  hash code for the ManagedConnectionFactory
+    */
+   public int hashCode();
+   
+   /** 
+    * Check if this ManagedConnectionFactory is equal to another
+    * ManagedConnectionFactory.
+    *  @param other The other object
+    *  @return  true if two instances are equal
+    */
+   public boolean equals(Object other);
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ManagedConnectionMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -37,41 +37,42 @@
  *  @see         javax.resource.spi.ManagedConnection
 **/
 
-public interface ManagedConnectionMetaData {
-
-  /** Returns Product name of the underlying EIS instance connected 
-   *  through the ManagedConnection.
-   *
-   *  @return  Product name of the EIS instance.
-  **/
-  public
-  String getEISProductName() throws ResourceException;
-
-  /** Returns product version of the underlying EIS instance connected 
-   *  through the ManagedConnection.
-   *
-   *  @return  Product version of the EIS instance
-  **/
-  public
-  String getEISProductVersion() throws ResourceException;
-
-  /** Returns maximum limit on number of active concurrent connections 
-   *  that an EIS instance can support across client processes. If an EIS 
-   *  instance does not know about (or does not have) any such limit, it 
-   *  returns a 0.
-   *
-   *  @return  Maximum limit for number of active concurrent connections
-  **/
-  public
-  int getMaxConnections() throws ResourceException;
+public interface ManagedConnectionMetaData 
+{
+   
+   /** Returns Product name of the underlying EIS instance connected 
+    *  through the ManagedConnection.
+    *
+    *  @return  Product name of the EIS instance.
+    *  @exception ResourceException Thrown if an error occurs
+    **/
+   public String getEISProductName() throws ResourceException;
+   
+   /** Returns product version of the underlying EIS instance connected 
+    *  through the ManagedConnection.
+    *
+    *  @return  Product version of the EIS instance
+    *  @exception ResourceException Thrown if an error occurs
+    **/
+   public String getEISProductVersion() throws ResourceException;
+   
+   /** Returns maximum limit on number of active concurrent connections 
+    *  that an EIS instance can support across client processes. If an EIS 
+    *  instance does not know about (or does not have) any such limit, it 
+    *  returns a 0.
+    *
+    *  @return  Maximum limit for number of active concurrent connections
+    *  @exception ResourceException Thrown if an error occurs
+    **/
+   public int getMaxConnections() throws ResourceException;
   
-  /** Returns name of the user associated with the ManagedConnection
-   *  instance. The name corresponds to the resource principal under whose
-   *  whose security context, a connection to the EIS instance has been
-   *  established.
-   *
-   *  @return  name of the user
-  **/
-  public
-  String getUserName() throws ResourceException;
+   /** Returns name of the user associated with the ManagedConnection
+    *  instance. The name corresponds to the resource principal under whose
+    *  whose security context, a connection to the EIS instance has been
+    *  established.
+    *
+    *  @return  name of the user
+    *  @exception ResourceException Thrown if an error occurs
+    **/
+   public String getUserName() throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapter.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapter.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapter.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,32 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
 import javax.resource.ResourceException;
-import javax.resource.NotSupportedException;
-import javax.resource.spi.ActivationSpec;
 import javax.resource.spi.endpoint.MessageEndpointFactory;
-
 import javax.transaction.xa.XAResource;
 
 /**
@@ -37,114 +34,115 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface ResourceAdapter { 
-
-    // lifecycle operations
-
-    /**
-     * This is called when a resource adapter instance is bootstrapped. This
-     * may be during resource adapter deployment or application server startup.
-     * This is a startup notification from the application server, and this 
-     * method is called by an application server thread. The application server
-     * thread executes in an unspecified context.
-     *
-     * <p>During this method call a ResourceAdapter JavaBean is
-     * responsible for initializing the resource adapter
-     * instance. Any exception thrown during this method
-     * call causes the application server to abort the bootstrap procedure 
-     * for this specific resource adapter instance.
-     *
-     * @param ctx a bootstrap context containing references to
-     * useful facilities that could be used by a resource adapter instance.
-     *
-     * @throws ResourceAdapterInternalException indicates bootstrap failure.
-     * The resource adapter instance is unusable and must be discarded.
-     */
-    void start(BootstrapContext ctx) throws ResourceAdapterInternalException; 
-
-    /**
-     * This is called when a resource adapter instance is undeployed or
-     * during application server shutdown. This is a shutdown notification 
-     * from the application server, and this method is called by an 
-     * application server thread.  The application server
-     * thread executes in an unspecified context.
-     *
-     * <p>During this method call, a ResourceAdapter 
-     * JavaBean is responsible for performing an orderly shutdown of the
-     * resource adapter instance. Any exception thrown by this 
-     * method call does not alter the 
-     * processing of the application server shutdown or resource 
-     * adapter undeployment that caused this method call. The application 
-     * server may log the exception information for error reporting purposes.
-     */
-    void stop(); 
-
-    // message endpoint setup operations
-
-    /**
-     * This is called during the activation of a message endpoint. This causes
-     * the resource adapter instance to do the necessary setup (ie., setup
-     * message delivery for the message endpoint with a message provider).
-     * Note that message delivery to the message endpoint might start even 
-     * before this method returns.
-     *
-     * <p>Endpoint activation is deemed successful only when this method 
-     * completes successfully without throwing any exceptions.
-     *
-     * @param endpointFactory a message endpoint factory instance.
-     *
-     * @param spec an activation spec JavaBean instance.
-     *
-     * @throws NotSupportedException indicates message endpoint 
-     * activation rejection due to incorrect activation 
-     * setup information.
-     */
-    void endpointActivation(MessageEndpointFactory endpointFactory, 
-            ActivationSpec spec) throws ResourceException;
-
-    /**
-     * This is called when a message endpoint is deactivated. The instances
-     * passed as arguments to this method call should be identical to those
-     * passed in for the corresponding </code>endpointActivation</code> call.
-     * This causes the resource adapter to stop delivering messages to the
-     * message endpoint. 
-     *
-     * <p>Any exception thrown by this method is ignored. After
-     * this method call, the endpoint is deemed inactive.
-     *
-     * @param endpointFactory a message endpoint factory instance.
-     *
-     * @param spec an activation spec JavaBean instance.
-     */
-    void endpointDeactivation(MessageEndpointFactory endpointFactory, 
-            ActivationSpec spec);
-
-    /**
-     * This method is called by the application server during crash recovery.
-     * This method takes in an array of <code>ActivationSpec</code> JavaBeans 
-     * and returns an array of <code>XAResource</code> objects each of which 
-     * represents a unique resource manager.
-     *
-     * The resource adapter may return null if it does not implement the 
-     * <code>XAResource</code> interface. Otherwise, it must return an array 
-     * of <code>XAResource</code> objects, each of which represents a unique 
-     * resource manager that was used by the endpoint applications. 
-     * 
-     * The application server uses the <code>XAResource</code> objects to 
-     * query each resource manager for a list of in-doubt transactions.
-     * It then completes each pending transaction by sending the commit 
-     * decision to the participating resource managers.
-     * 
-     * @param specs an array of <code>ActivationSpec</code> JavaBeans each of 
-     * which corresponds to an deployed endpoint application that was 
-     * active prior to the system crash.
-     *
-     * @throws ResourceException generic exception if operation fails due to an
-     * error condition.
-     *
-     * @return an array of <code>XAResource</code> objects each of which 
-     * represents a unique resource manager.
-     */
-    XAResource[] getXAResources(ActivationSpec[] specs) 
-	throws ResourceException;
+public interface ResourceAdapter 
+{
+   // lifecycle operations
+   
+   /**
+    * This is called when a resource adapter instance is bootstrapped. This
+    * may be during resource adapter deployment or application server startup.
+    * This is a startup notification from the application server, and this 
+    * method is called by an application server thread. The application server
+    * thread executes in an unspecified context.
+    *
+    * <p>During this method call a ResourceAdapter JavaBean is
+    * responsible for initializing the resource adapter
+    * instance. Any exception thrown during this method
+    * call causes the application server to abort the bootstrap procedure 
+    * for this specific resource adapter instance.
+    *
+    * @param ctx a bootstrap context containing references to
+    * useful facilities that could be used by a resource adapter instance.
+    *
+    * @throws ResourceAdapterInternalException indicates bootstrap failure.
+    * The resource adapter instance is unusable and must be discarded.
+    */
+   void start(BootstrapContext ctx) throws ResourceAdapterInternalException; 
+   
+   /**
+    * This is called when a resource adapter instance is undeployed or
+    * during application server shutdown. This is a shutdown notification 
+    * from the application server, and this method is called by an 
+    * application server thread.  The application server
+    * thread executes in an unspecified context.
+    *
+    * <p>During this method call, a ResourceAdapter 
+    * JavaBean is responsible for performing an orderly shutdown of the
+    * resource adapter instance. Any exception thrown by this 
+    * method call does not alter the 
+    * processing of the application server shutdown or resource 
+    * adapter undeployment that caused this method call. The application 
+    * server may log the exception information for error reporting purposes.
+    */
+   void stop(); 
+   
+   // message endpoint setup operations
+   
+   /**
+    * This is called during the activation of a message endpoint. This causes
+    * the resource adapter instance to do the necessary setup (ie., setup
+    * message delivery for the message endpoint with a message provider).
+    * Note that message delivery to the message endpoint might start even 
+    * before this method returns.
+    *
+    * <p>Endpoint activation is deemed successful only when this method 
+    * completes successfully without throwing any exceptions.
+    *
+    * @param endpointFactory a message endpoint factory instance.
+    *
+    * @param spec an activation spec JavaBean instance.
+    *
+    * @throws ResourceException Thrown if an error occurs
+    * @throws javax.resource.NotSupportedException indicates message endpoint 
+    * activation rejection due to incorrect activation 
+    * setup information.
+    */
+   void endpointActivation(MessageEndpointFactory endpointFactory, 
+                           ActivationSpec spec) throws ResourceException;
+   
+   /**
+    * This is called when a message endpoint is deactivated. The instances
+    * passed as arguments to this method call should be identical to those
+    * passed in for the corresponding </code>endpointActivation</code> call.
+    * This causes the resource adapter to stop delivering messages to the
+    * message endpoint. 
+    *
+    * <p>Any exception thrown by this method is ignored. After
+    * this method call, the endpoint is deemed inactive.
+    *
+    * @param endpointFactory a message endpoint factory instance.
+    *
+    * @param spec an activation spec JavaBean instance.
+    */
+   void endpointDeactivation(MessageEndpointFactory endpointFactory, 
+                             ActivationSpec spec);
+   
+   /**
+    * This method is called by the application server during crash recovery.
+    * This method takes in an array of <code>ActivationSpec</code> JavaBeans 
+    * and returns an array of <code>XAResource</code> objects each of which 
+    * represents a unique resource manager.
+    *
+    * The resource adapter may return null if it does not implement the 
+    * <code>XAResource</code> interface. Otherwise, it must return an array 
+    * of <code>XAResource</code> objects, each of which represents a unique 
+    * resource manager that was used by the endpoint applications. 
+    * 
+    * The application server uses the <code>XAResource</code> objects to 
+    * query each resource manager for a list of in-doubt transactions.
+    * It then completes each pending transaction by sending the commit 
+    * decision to the participating resource managers.
+    * 
+    * @param specs an array of <code>ActivationSpec</code> JavaBeans each of 
+    * which corresponds to an deployed endpoint application that was 
+    * active prior to the system crash.
+    *
+    * @return an array of <code>XAResource</code> objects each of which 
+    * represents a unique resource manager.
+    *
+    * @throws ResourceException generic exception if operation fails due to an
+    * error condition.
+    */
+   XAResource[] getXAResources(ActivationSpec[] specs) 
+      throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterAssociation.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -33,31 +33,31 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface ResourceAdapterAssociation {
-
-    /**
-     * Get the associated <code>ResourceAdapter</code> object.
-     *
-     * @return the associated <code>ResourceAdapter</code> object.
-     */
-    ResourceAdapter getResourceAdapter();
-
-    /**
-     * Associate this object with a <code>ResourceAdapter</code> object. 
-     * Note, this method must be called exactly once. That is, the 
-     * association must not change during the lifetime of this object.
-     *
-     * @param ra <code>ResourceAdapter</code> object to be associated with.
-     *
-     * @throws ResourceException generic exception.
-     *
-     * @throws ResourceAdapterInternalException
-     *            resource adapter related error condition.
-     *
-     * @throws IllegalStateException indicates that this object is in an
-     * illegal state for the method invocation. For example, this occurs when
-     * this method is called more than once on the same object.
-     */
-    void setResourceAdapter(ResourceAdapter ra) throws ResourceException;
+public interface ResourceAdapterAssociation 
+{
+   
+   /**
+    * Get the associated <code>ResourceAdapter</code> object.
+    *
+    * @return the associated <code>ResourceAdapter</code> object.
+    */
+   ResourceAdapter getResourceAdapter();
+   
+   /**
+    * Associate this object with a <code>ResourceAdapter</code> object. 
+    * Note, this method must be called exactly once. That is, the 
+    * association must not change during the lifetime of this object.
+    *
+    * @param ra <code>ResourceAdapter</code> object to be associated with.
+    *
+    * @throws ResourceException generic exception.
+    *
+    * @throws ResourceAdapterInternalException
+    *            resource adapter related error condition.
+    *
+    * @throws IllegalStateException indicates that this object is in an
+    * illegal state for the method invocation. For example, this occurs when
+    * this method is called more than once on the same object.
+    */
+   void setResourceAdapter(ResourceAdapter ra) throws ResourceException;
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAdapterInternalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /** 
  * A <code>ResourceAdapterInternalException</code> indicates any 
  * system-level error conditions related to a resource adapter. 
@@ -40,51 +43,89 @@
  * @author Ram Jeyaraman
  */
 
-public class ResourceAdapterInternalException 
-        extends javax.resource.ResourceException {
+public class ResourceAdapterInternalException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public ResourceAdapterInternalException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public ResourceAdapterInternalException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 7184712099852216323L;
+      }
+      else
+      {
+         serialVersionUID = -1666678251804763325L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public ResourceAdapterInternalException() 
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceAdapterInternalException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceAdapterInternalException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public ResourceAdapterInternalException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public ResourceAdapterInternalException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceAdapterInternalException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceAdapterInternalException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public ResourceAdapterInternalException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAllocationException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAllocationException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ResourceAllocationException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /**
  * A <code>ResourceAllocationException</code> can be thrown by an 
  * application server or
@@ -36,51 +39,89 @@
  * @author Ram Jeyaraman
  */
 
-public class ResourceAllocationException 
-        extends javax.resource.ResourceException {
+public class ResourceAllocationException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public ResourceAllocationException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public ResourceAllocationException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = -2680085755660844424L;
+      }
+      else
+      {
+         serialVersionUID = -9036793565852998502L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public ResourceAllocationException() 
+   { 
+      super(); 
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public ResourceAllocationException(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceAllocationException(Throwable cause) {
-	super(cause);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceAllocationException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public ResourceAllocationException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public ResourceAllocationException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public ResourceAllocationException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public ResourceAllocationException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
+
+import java.io.Serializable;
+
+/**
+ * A marker interface indicating that the Exception is transient. It is used
+ * in situations where a previously failed operation might be able to succeed 
+ * if the resource adapter performs some recovery steps and retries the
+ * operation.
+ * 
+ * @since 1.6
+ * @version Java EE Connector Architecture 1.6
+ */
+public interface RetryableException extends Serializable 
+{
+}

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableUnavailableException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableUnavailableException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/RetryableUnavailableException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
+
+/**
+ * A subclass of the <code>UnavailableException</code> that 
+ * indicates that the rejection of the work submission is transient. 
+ * It is thrown in situations where the previously failed work submission 
+ * might be able to succeed if the resource adapter retries the operation
+ * at a later point in time.
+ * 
+ * @since 1.6
+ * @version Java EE Connector Architecture 1.6
+ */
+public class RetryableUnavailableException extends UnavailableException implements RetryableException 
+{
+   /**
+    * Determines if a deserialized instance of this class
+    * is compatible with this class.
+    */
+   private static final long serialVersionUID = 3730185319227786830L;
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public RetryableUnavailableException() 
+   {
+      super();
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    * @param message the detail message.
+    */
+   public RetryableUnavailableException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public RetryableUnavailableException(Throwable cause) 
+   {
+      super(cause);
+   }
+
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    * @param message the detail message.
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public RetryableUnavailableException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public RetryableUnavailableException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
+}

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,27 +1,30 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
 /** 
  * A <code>SecurityException</code> indicates error conditions 
  * related to the security
@@ -47,50 +50,89 @@
  * @author Ram Jeyaraman
  */
 
-public class SecurityException extends javax.resource.ResourceException {
+public class SecurityException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public SecurityException() { super(); }
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public SecurityException(String message) {
-	super(message);
-    }
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 5003890345420586914L;
+      }
+      else
+      {
+         serialVersionUID = -7609456980660658364L;
+      }
+   }
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public SecurityException() 
+   { 
+      super(); 
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public SecurityException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public SecurityException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public SecurityException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public SecurityException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public SecurityException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public SecurityException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public SecurityException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityPermission.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityPermission.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SecurityPermission.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,31 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
 import java.lang.annotation.Target;
 import static java.lang.annotation.ElementType.*;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
 import static java.lang.annotation.RetentionPolicy.*;
 
 /**
@@ -34,23 +34,24 @@
  * required by the resource adapter
  * 
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
 
 @Documented
 @Retention(RUNTIME)
- at Target(TYPE)
-public @interface SecurityPermission {
-	/**
-	 * Specifies an optional description to mention any specific reason that a
-	 * resource requires a given security permission.
-	 */
-	String description() default "";
+ at Target({ })
+public @interface SecurityPermission 
+{
+   /**
+    * Specifies an optional description to mention any specific reason that a
+    * resource requires a given security permission.
+    */
+   String[] description() default { };
 
-	/**
-	 * Specifies a security permission based on the Security policy file syntax.
-	 * These security permissions are different from those required by the
-	 * default permission set as specified in the connector specification.
-	 */
-	String permissionSpec() default "";
+   /**
+    * Specifies a security permission based on the Security policy file syntax.
+    * These security permissions are different from those required by the
+    * default permission set as specified in the connector specification.
+    */
+   String permissionSpec() default "";
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SharingViolationException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SharingViolationException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/SharingViolationException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -31,53 +31,62 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class SharingViolationException 
-        extends javax.resource.ResourceException {
+public class SharingViolationException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = -1280304091132682215L;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public SharingViolationException() { super(); }
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public SharingViolationException() 
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public SharingViolationException(String message) {
-	super(message);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public SharingViolationException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public SharingViolationException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public SharingViolationException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public SharingViolationException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public SharingViolationException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public SharingViolationException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public SharingViolationException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/TransactionSupport.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/TransactionSupport.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/TransactionSupport.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -33,47 +33,51 @@
  * resource adapter deployment descriptor or deployer configuration
  *
  * @since 1.6
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  */
-public interface TransactionSupport extends java.io.Serializable {
+public interface TransactionSupport extends java.io.Serializable 
+{
+   /**
+    * An enumerated type that represents the levels of transaction support
+    * a resource adapter may support.
+    *
+    * @since 1.6
+    * @version Java EE Connector Architecture 1.6
+    */
+   public enum TransactionSupportLevel 
+   {
+      /**
+       * The resource adapter supports neither resource manager nor JTA 
+       * transactions.
+       * @since 1.6
+       */
+      NoTransaction, 
 
-    /**
-     * An enumerated type that represents the levels of transaction support
-     * a resource adapter may support.
-     *
-     * @since 1.6
-     * @version JSR322-EarlyDraft
-     */
-    public enum TransactionSupportLevel {
-        /**
-         * The resource adapter supports neither resource manager nor JTA 
-         * transactions.
-         * @since 1.6
-         */
-        NoTransaction, 
-        /**
-         * The resource adapter supports resource manager local transactions 
-         * by implementing the <code>LocalTransaction</code> interface.
-         * @since 1.6
-         */
-        LocalTansaction, 
-        /**
-         * The resource adapter supports both resource manager local 
-         * and JTA transactions by implementing the <code>LocalTransaction</code>
-         * and <code>XAResource</code> interfaces.
-         * @since 1.6
-         */
-        XATransaction 
-    };
+      /**
+       * The resource adapter supports resource manager local transactions 
+       * by implementing the <code>LocalTransaction</code> interface.
+       * @since 1.6
+       */
+      LocalTransaction, 
 
-    /**
-     * Get the level of transaction support, supported by the 
-     * <code>ManagedConnectionFactory</code>. A resource adapter must always
-     * return a level of transaction support whose ordinal value in
-     * <code>TransactionSupportLevel</code> enum is equal to or lesser than
-     * the resource adapter's transaction support classification.
-     *
-     * @since 1.6
-     */
-    public TransactionSupportLevel getTransactionSupport();
+      /**
+       * The resource adapter supports both resource manager local 
+       * and JTA transactions by implementing the <code>LocalTransaction</code>
+       * and <code>XAResource</code> interfaces.
+       * @since 1.6
+       */
+      XATransaction 
+   };
+
+   /**
+    * Get the level of transaction support, supported by the 
+    * <code>ManagedConnectionFactory</code>. A resource adapter must always
+    * return a level of transaction support whose ordinal value in
+    * <code>TransactionSupportLevel</code> enum is equal to or lesser than
+    * the resource adapter's transaction support classification.
+    *
+    * @return The transaction support level
+    * @since 1.6
+    */
+   public TransactionSupportLevel getTransactionSupport();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/UnavailableException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/UnavailableException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/UnavailableException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
@@ -28,52 +28,62 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class UnavailableException extends javax.resource.ResourceException {
+public class UnavailableException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = -2495485036033570467L;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public UnavailableException() { super(); }
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public UnavailableException() 
+   { 
+      super(); 
+   }
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public UnavailableException(String message) {
-	super(message);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public UnavailableException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public UnavailableException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public UnavailableException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public UnavailableException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public UnavailableException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public UnavailableException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public UnavailableException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/ValidatingManagedConnectionFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
 import java.util.Set;
+
 import javax.resource.ResourceException;
 
 /** 
@@ -43,19 +44,19 @@
  *  @author  Ram Jeyaraman
  *  @version 1.0
  */    
-public interface ValidatingManagedConnectionFactory {
-
-    /**
-     * This method returns a set of invalid <code>ManagedConnection</code> 
-     * objects chosen from a specified set of <code>ManagedConnection</code>
-     * objects.
-     *
-     * @param connectionSet a set of <code>ManagedConnection</code> objects
-     * that need to be validated.
-     *
-     * @return a set of invalid <code>ManagedConnection</code> objects.
-     *
-     * @throws ResourceException generic exception.
-     */
-    Set getInvalidConnections(Set connectionSet) throws ResourceException;
+public interface ValidatingManagedConnectionFactory 
+{
+   /**
+    * This method returns a set of invalid <code>ManagedConnection</code> 
+    * objects chosen from a specified set of <code>ManagedConnection</code>
+    * objects.
+    *
+    * @param connectionSet a set of <code>ManagedConnection</code> objects
+    * that need to be validated.
+    *
+    * @return a set of invalid <code>ManagedConnection</code> objects.
+    *
+    * @throws ResourceException generic exception.
+    */
+   Set getInvalidConnections(Set connectionSet) throws ResourceException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/XATerminator.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/XATerminator.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/XATerminator.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi;
 
-import javax.transaction.xa.Xid;
 import javax.transaction.xa.XAException;
+import javax.transaction.xa.Xid;
 
 /** 
  * <p>The XATerminator interface is used for transaction completion and 
@@ -33,97 +33,95 @@
  * @author  Ram Jeyaraman
  *
  */
-public interface XATerminator {
+public interface XATerminator 
+{
+   /** 
+    * Commits the global transaction specified by xid.
+    *
+    * @param xid A global transaction identifier
+    *
+    * @param onePhase If true, the resource manager should use a one-phase
+    * commit protocol to commit the work done on behalf of xid.
+    *
+    * @exception XAException An error has occurred. Possible XAExceptions
+    * are XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR,
+    * XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
+    *
+    * <P>If the resource manager did not commit the transaction and the
+    *  parameter onePhase is set to true, the resource manager may throw
+    *  one of the XA_RB* exceptions. Upon return, the resource manager has
+    *  rolled back the branch's work and has released all held resources.
+    */
+   void commit(Xid xid, boolean onePhase) throws XAException;
 
-    /**	
-     * Commits the global transaction specified by xid.
-     *
-     * @param xid A global transaction identifier
-     *
-     * @param onePhase If true, the resource manager should use a one-phase
-     * commit protocol to commit the work done on behalf of xid.
-     *
-     * @exception XAException An error has occurred. Possible XAExceptions
-     * are XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR,
-     * XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
-     *
-     * <P>If the resource manager did not commit the transaction and the
-     *  parameter onePhase is set to true, the resource manager may throw
-     *  one of the XA_RB* exceptions. Upon return, the resource manager has
-     *  rolled back the branch's work and has released all held resources.
-     */
-    void commit(Xid xid, boolean onePhase) throws XAException;
-
-    /** 
-     * Tells the resource manager to forget about a heuristically
-     * completed transaction branch.
-     *
-     * @param xid A global transaction identifier.
-     *
-     * @exception XAException An error has occurred. Possible exception
-     * values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
-     * XAER_PROTO.
-     */
-    void forget(Xid xid) throws XAException;
-
-    /** 
-     * Ask the resource manager to prepare for a transaction commit
-     * of the transaction specified in xid.
-     *
-     * @param xid A global transaction identifier.
-     *
-     * @exception XAException An error has occurred. Possible exception
-     * values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL,
-     * or XAER_PROTO.
-     *
-     * @return A value indicating the resource manager's vote on the
-     * outcome of the transaction. The possible values are: XA_RDONLY
-     * or XA_OK. These constants are defined in 
-     * <code> javax.transaction.xa.XAResource</code> interface. 
-     * If the resource manager wants to roll back the
-     * transaction, it should do so by raising an appropriate XAException
-     * in the prepare method.
-     */
-    int prepare(Xid xid) throws XAException;
-
-    /** 
-     * Obtains a list of prepared transaction branches from a resource
-     * manager. The transaction manager calls this method during recovery
-     * to obtain the list of transaction branches that are currently in
-     * prepared or heuristically completed states.
-     *
-     * @param flag One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
-     * must be used when no other flags are set in the parameter. These
-     * constants are defined in <code>javax.transaction.xa.XAResource</code> 
-     * interface.
-     *
-     * @exception XAException An error has occurred. Possible values are
-     * XAER_RMERR, XAER_RMFAIL, XAER_INVAL, and XAER_PROTO.
-     *
-     * @return The resource manager returns zero or more XIDs of the
-     * transaction branches that are currently in a prepared or
-     * heuristically completed state. If an error occurs during the
-     * operation, the resource manager should throw the appropriate
-     * XAException.
-     */
-    Xid[] recover(int flag) throws XAException;
-
-    /** 
-     * Informs the resource manager to roll back work done on behalf
-     * of a transaction branch.
-     *
-     * @param xid A global transaction identifier.
-     *
-     * @exception XAException An error has occurred. Possible XAExceptions are
-     * XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL,
-     * XAER_NOTA, XAER_INVAL, or XAER_PROTO.
-     *
-     * <p>If the transaction branch is already marked rollback-only the
-     * resource manager may throw one of the XA_RB* exceptions. Upon return,
-     * the resource manager has rolled back the branch's work and has released
-     * all held resources.
-     */
-    void rollback(Xid xid) throws XAException;
+   /** 
+    * Tells the resource manager to forget about a heuristically
+    * completed transaction branch.
+    *
+    * @param xid A global transaction identifier.
+    *
+    * @exception XAException An error has occurred. Possible exception
+    * values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
+    * XAER_PROTO.
+    */
+   void forget(Xid xid) throws XAException;
+   
+   /** 
+    * Ask the resource manager to prepare for a transaction commit
+    * of the transaction specified in xid.
+    *
+    * @param xid A global transaction identifier.
+    *
+    * @exception XAException An error has occurred. Possible exception
+    * values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL,
+    * or XAER_PROTO.
+    *
+    * @return A value indicating the resource manager's vote on the
+    * outcome of the transaction. The possible values are: XA_RDONLY
+    * or XA_OK. These constants are defined in 
+    * <code> javax.transaction.xa.XAResource</code> interface. 
+    * If the resource manager wants to roll back the
+    * transaction, it should do so by raising an appropriate XAException
+    * in the prepare method.
+    */
+   int prepare(Xid xid) throws XAException;
+   
+   /** 
+    * Obtains a list of prepared transaction branches from a resource
+    * manager. The transaction manager calls this method during recovery
+    * to obtain the list of transaction branches that are currently in
+    * prepared or heuristically completed states.
+    *
+    * @param flag One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
+    * must be used when no other flags are set in the parameter. These
+    * constants are defined in <code>javax.transaction.xa.XAResource</code> 
+    * interface.
+    *
+    * @exception XAException An error has occurred. Possible values are
+    * XAER_RMERR, XAER_RMFAIL, XAER_INVAL, and XAER_PROTO.
+    *
+    * @return The resource manager returns zero or more XIDs of the
+    * transaction branches that are currently in a prepared or
+    * heuristically completed state. If an error occurs during the
+    * operation, the resource manager should throw the appropriate
+    * XAException.
+    */
+   Xid[] recover(int flag) throws XAException;
+   
+   /** 
+    * Informs the resource manager to roll back work done on behalf
+    * of a transaction branch.
+    *
+    * @param xid A global transaction identifier.
+    *
+    * @exception XAException An error has occurred. Possible XAExceptions are
+    * XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL,
+    * XAER_NOTA, XAER_INVAL, or XAER_PROTO.
+    *
+    * <p>If the transaction branch is already marked rollback-only the
+    * resource manager may throw one of the XA_RB* exceptions. Upon return,
+    * the resource manager has rolled back the branch's work and has released
+    * all held resources.
+    */
+   void rollback(Xid xid) throws XAException;
 }
-
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpoint.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,33 +1,28 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.endpoint;
 
-import java.lang.NoSuchMethodException;
 import javax.resource.ResourceException;
-import javax.resource.spi.ResourceAdapterInternalException;
-import javax.resource.spi.ApplicationServerInternalException;
-import javax.resource.spi.IllegalStateException;
-import javax.resource.spi.UnavailableException;
 
 /**
  * This defines a contract for a message endpoint. This is implemented by an
@@ -36,59 +31,59 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface MessageEndpoint {
+public interface MessageEndpoint 
+{
+   /**
+    * This is called by a resource adapter before a message is delivered.
+    *
+    * @param method description of a target method. This information about
+    * the intended target method allows an application server to decide 
+    * whether to start a transaction during this method call, depending 
+    * on the transaction preferences of the target method.
+    * The processing (by the application server) of the actual message 
+    * delivery method call on the endpoint must be independent of the 
+    * class loader associated with this descriptive method object. 
+    *
+    * @throws NoSuchMethodException indicates that the specified method
+    * does not exist on the target endpoint.
+    *
+    * @throws ResourceException generic exception.
+    *
+    * @throws javax.resource.spi.ApplicationServerInternalException indicates an error 
+    * condition in the application server.
+    *
+    * @throws javax.resource.spi.IllegalStateException indicates that the endpoint is in an
+    * illegal state for the method invocation. For example, this occurs when
+    * <code>beforeDelivery</code> and <code>afterDelivery</code> 
+    * method calls are not paired.
+    *
+    * @throws javax.resource.spi.UnavailableException indicates that the endpoint is not 
+    * available.
+    */
+   void beforeDelivery(java.lang.reflect.Method method)
+      throws NoSuchMethodException, ResourceException;
 
-    /**
-     * This is called by a resource adapter before a message is delivered.
-     *
-     * @param method description of a target method. This information about
-     * the intended target method allows an application server to decide 
-     * whether to start a transaction during this method call, depending 
-     * on the transaction preferences of the target method.
-     * The processing (by the application server) of the actual message 
-     * delivery method call on the endpoint must be independent of the 
-     * class loader associated with this descriptive method object. 
-     *
-     * @throws NoSuchMethodException indicates that the specified method
-     * does not exist on the target endpoint.
-     *
-     * @throws ResourceException generic exception.
-     *
-     * @throws ApplicationServerInternalException indicates an error 
-     * condition in the application server.
-     *
-     * @throws IllegalStateException indicates that the endpoint is in an
-     * illegal state for the method invocation. For example, this occurs when
-     * <code>beforeDelivery</code> and <code>afterDelivery</code> 
-     * method calls are not paired.
-     *
-     * @throws UnavailableException indicates that the endpoint is not 
-     * available.
-     */
-    void beforeDelivery(java.lang.reflect.Method method)
-	throws NoSuchMethodException, ResourceException;
-
-    /**
-     * This is called by a resource adapter after a message is delivered.
-     *
-     * @throws ResourceException generic exception.
-     *
-     * @throws ApplicationServerInternalException indicates an error 
-     * condition in the application server.
-     *
-     * @throws IllegalStateException indicates that the endpoint is in an
-     * illegal state for the method invocation. For example, this occurs when
-     * beforeDelivery and afterDelivery method calls are not paired.
-     *
-     * @throws UnavailableException indicates that the endpoint is not 
-     * available.
-     */
-    void afterDelivery() throws ResourceException;
-
-    /**
-     * This method may be called by the resource adapter to indicate that it
-     * no longer needs a proxy endpoint instance. This hint may be used by
-     * the application server for endpoint pooling decisions.
-     */
-    void release();
+   /**
+    * This is called by a resource adapter after a message is delivered.
+    *
+    * @throws ResourceException generic exception.
+    *
+    * @throws javax.resource.spi.ApplicationServerInternalException indicates an error 
+    * condition in the application server.
+    *
+    * @throws javax.resource.spi.IllegalStateException indicates that the endpoint is in an
+    * illegal state for the method invocation. For example, this occurs when
+    * beforeDelivery and afterDelivery method calls are not paired.
+    *
+    * @throws javax.resource.spi.UnavailableException indicates that the endpoint is not 
+    * available.
+    */
+   void afterDelivery() throws ResourceException;
+   
+   /**
+    * This method may be called by the resource adapter to indicate that it
+    * no longer needs a proxy endpoint instance. This hint may be used by
+    * the application server for endpoint pooling decisions.
+    */
+   void release();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/endpoint/MessageEndpointFactory.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,30 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.endpoint;
 
-import java.lang.NoSuchMethodException;
+import javax.resource.spi.UnavailableException;
 import javax.transaction.xa.XAResource;
-import javax.resource.spi.UnavailableException;
 
 /**
  * This serves as a factory for creating message endpoints.
@@ -32,47 +31,68 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface MessageEndpointFactory {
+public interface MessageEndpointFactory 
+{
+   /**
+    * This is used to create a message endpoint. The message endpoint is
+    * expected to implement the correct message listener type.
+    *
+    * @param xaResource an optional <code>XAResource</code> 
+    * instance used to get transaction notifications when the message delivery
+    * is transacted.
+    *
+    * @return a message endpoint instance.
+    *
+    * @throws UnavailableException indicates a transient failure
+    * in creating a message endpoint. Subsequent attempts to create a message
+    * endpoint might succeed.
+    */
+   MessageEndpoint createEndpoint(XAResource xaResource)
+      throws UnavailableException;
+   
+   /**
+    * This is used to create a message endpoint. The message endpoint is
+    * expected to implement the correct message listener type.
+    *
+    * @param xaResource an optional <code>XAResource</code> 
+    * instance used to get transaction notifications when the message delivery
+    * is transacted.
+    * 
+    * @param timeout an optional value used to specify the time duration
+    * (in milliseconds) within which the message endpoint needs to be
+    * created by the <code>MessageEndpointFactory</code>. Otherwise, the
+    * <code>MessageEndpointFactory</code> rejects the creation of the
+    * <code>MessageEndpoint</code> with an UnavailableException.  Note, this
+    * does not offer real-time guarantees.
+    * 
+    * @return a message endpoint instance.
+    *
+    * @throws UnavailableException indicates a transient failure
+    * in creating a message endpoint. Subsequent attempts to create a message
+    * endpoint might succeed.
+    */
+   MessageEndpoint createEndpoint(XAResource xaResource, long timeout)
+      throws UnavailableException;
 
-    /**
-     * This is used to create a message endpoint. The message endpoint is
-     * expected to implement the correct message listener type.
-     *
-     * @param xaResource an optional <code>XAResource</code> 
-     * instance used to get transaction notifications when the message delivery
-     * is transacted.
-     *
-     * @return a message endpoint instance.
-     *
-     * @throws UnavailableException indicates a transient failure
-     * in creating a message endpoint. Subsequent attempts to create a message
-     * endpoint might succeed.
-     */
-    MessageEndpoint createEndpoint(XAResource xaResource)
-	throws UnavailableException;
-
-    /**
-     * This is used to find out whether message deliveries to a target method
-     * on a message listener interface that is implemented by a message 
-     * endpoint will be transacted or not. 
-     *
-     * The message endpoint may indicate its transacted delivery preferences 
-     * (at a per method level) through its deployment descriptor. The message 
-     * delivery preferences must not change during the lifetime of a 
-     * message endpoint. 
-     * 
-     * @param method description of a target method. This information about
-     * the intended target method allows an application server to find out 
-     * whether the target method call will be transacted or not.
-     *
-     * @throws NoSuchMethodException indicates that the specified method
-     * does not exist on the target endpoint.
-     *
-     * @return true, if message endpoint requires transacted message delivery.
-     */
-    boolean isDeliveryTransacted(java.lang.reflect.Method method)
-	throws NoSuchMethodException;
+   /**
+    * This is used to find out whether message deliveries to a target method
+    * on a message listener interface that is implemented by a message 
+    * endpoint will be transacted or not. 
+    *
+    * The message endpoint may indicate its transacted delivery preferences 
+    * (at a per method level) through its deployment descriptor. The message 
+    * delivery preferences must not change during the lifetime of a 
+    * message endpoint. 
+    * 
+    * @param method description of a target method. This information about
+    * the intended target method allows an application server to find out 
+    * whether the target method call will be transacted or not.
+    *
+    * @throws NoSuchMethodException indicates that the specified method
+    * does not exist on the target endpoint.
+    *
+    * @return true, if message endpoint requires transacted message delivery.
+    */
+   boolean isDeliveryTransacted(java.lang.reflect.Method method)
+      throws NoSuchMethodException;
 }
-
-
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/GenericCredential.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/GenericCredential.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/GenericCredential.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,28 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.security;
 
-import java.security.Principal; // to fix javadoc warning
 import javax.resource.spi.SecurityException;
 
 /** The interface <code>javax.resource.spi.security.GenericCredential</code> 
@@ -61,61 +60,58 @@
  *  J2SE Version 1.4, which provides similar functionality.
  */
 
-public interface GenericCredential {
+public interface GenericCredential 
+{
 
-  /** Returns the name of the resource principal associated 
-   *  with a GenericCredential instance.
-   *
-   *  @return     Name of the principal
-  **/
-  public 
-  String getName();
+   /** Returns the name of the resource principal associated 
+    *  with a GenericCredential instance.
+    *
+    *  @return     Name of the principal
+    **/
+   public String getName();
+   
+   /** Returns the mechanism type for the GenericCredential instance. 
+    *  The mechanism type definition for GenericCredential should be 
+    *  consistent with the Object Identifier (OID) based representation
+    *  specified in the GSS specification. In the GenericCredential
+    *  interface, the mechanism type is returned as a stringified 
+    *  representation of the OID specification.
+    *
+    *  @return    mechanism type
+    **/
+   public String getMechType();
 
-  /** Returns the mechanism type for the GenericCredential instance. 
-   *  The mechanism type definition for GenericCredential should be 
-   *  consistent with the Object Identifier (OID) based representation
-   *  specified in the GSS specification. In the GenericCredential
-   *  interface, the mechanism type is returned as a stringified 
-   *  representation of the OID specification.
-   *
-   *  @return    mechanism type
-  **/
-  public 
-  String getMechType();
+   /** Gets security data for a specific security mechanism represented
+    *  by the GenericCredential. An example is authentication data required
+    *  for establishing a secure association with an EIS instance on
+    *  behalf of the associated resource principal. 
+    *
+    *  <p>The getCredentialData method returns the credential 
+    *  representation as an array of bytes. Note that the connector 
+    *  architecture does not define any standard format for the returned 
+    *  credential data.
+    *
+    *  @return   credential representation as an array of bytes.
+    *  @throws   SecurityException   
+    *                      Failed operation due to security related
+    *                      error condition
+    **/
+   public byte[] getCredentialData() throws SecurityException;
 
-  /** Gets security data for a specific security mechanism represented
-   *  by the GenericCredential. An example is authentication data required
-   *  for establishing a secure association with an EIS instance on
-   *  behalf of the associated resource principal. 
-   *
-   *  <p>The getCredentialData method returns the credential 
-   *  representation as an array of bytes. Note that the connector 
-   *  architecture does not define any standard format for the returned 
-   *  credential data.
-   *
-   *  @return   credential representation as an array of bytes.
-   *  @throws   SecurityException   
-   *                      Failed operation due to security related
-   *                      error condition
-   **/
-  public
-  byte[] getCredentialData() throws SecurityException;
+   /** Tests if this GenericCredential instance refers to the same entity 
+    *  as the supplied object.  The two credentials must be acquired over
+    *  the same mechanisms and must refer to the same principal.  
+    *
+    *  Returns true if the two GenericCredentials refer to the same entity;
+    *  false otherwise.
+    *  @param another The other object
+    *  @return True if equal; otherwise false
+    **/
+   public boolean equals(Object another);
 
-  /** Tests if this GenericCredential instance refers to the same entity 
-   *  as the supplied object.  The two credentials must be acquired over
-   *  the same mechanisms and must refer to the same principal.  
-   *
-   *  Returns true if the two GenericCredentials refer to the same entity;
-   *  false otherwise.
-  **/
-  public 
-  boolean equals(Object another);
-
-  /** Returns the hash code for this GenericCredential
-   * 
-   *  @return  hash code for this GenericCredential
-   **/
-  public
-  int hashCode();
-
+   /** Returns the hash code for this GenericCredential
+    * 
+    *  @return  hash code for this GenericCredential
+    **/
+   public int hashCode();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/PasswordCredential.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/PasswordCredential.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/security/PasswordCredential.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.security;
 
@@ -35,116 +35,118 @@
  * @since   0.6
  */
 
-public final class PasswordCredential implements java.io.Serializable {
+public final class PasswordCredential implements java.io.Serializable 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = -1770833344350711674L;
 
-  private String userName;
-  private char[] password;
-  private ManagedConnectionFactory mcf;
+   private String userName;
+   private char[] password;
+   private ManagedConnectionFactory mcf;
+   
+   /**
+    * Creates a new <code>PasswordCredential</code> object from the given
+    * user name and password.
+    *
+    * <p> Note that the given user password is cloned before it is stored in
+    * the new <code>PasswordCredential</code> object.
+    *
+    * @param userName the user name
+    * @param password the user's password
+    **/
+   public PasswordCredential(String userName, char[] password) 
+   {
+      this.userName = userName;
+      this.password = (char[])password.clone();
+   }
 
-  /**
-   * Creates a new <code>PasswordCredential</code> object from the given
-   * user name and password.
-   *
-   * <p> Note that the given user password is cloned before it is stored in
-   * the new <code>PasswordCredential</code> object.
-   *
-   * @param userName the user name
-   * @param password the user's password
-  **/
-  public 
-  PasswordCredential(String userName, char[] password) {
-    this.userName = userName;
-    this.password = (char[])password.clone();
-  }
+   /**
+    * Returns the user name.
+    *
+    * @return the user name
+    **/
+   public String getUserName() 
+   {
+      return userName;
+   }
+   
+   /**
+    * Returns the user password.
+    *
+    * <p> Note that this method returns a reference to the password. It is
+    * the caller's responsibility to zero out the password information after
+    * it is no longer needed.
+    *
+    * @return the password
+    **/
+   public char[] getPassword() 
+   {
+      return password;
+   }
 
-  /**
-   * Returns the user name.
-   *
-   * @return the user name
-  **/
-  public 
-  String getUserName() {
-    return userName;
-  }
+   /** Gets the target ManagedConnectionFactory for which the user name and 
+    *  password has been set by the application server. A ManagedConnection-
+    *  Factory uses this field to find out whether PasswordCredential should
+    *  be used by it for sign-on to the target EIS instance.
+    *
+    *  @return    ManagedConnectionFactory instance for which user name and
+    *             password have been specified
+    **/
+   public ManagedConnectionFactory getManagedConnectionFactory() 
+   {
+      return mcf;
+   }
 
-  /**
-   * Returns the user password.
-   *
-   * <p> Note that this method returns a reference to the password. It is
-   * the caller's responsibility to zero out the password information after
-   * it is no longer needed.
-   *
-   * @return the password
-  **/
-  public 
-  char[] getPassword() {
-    return password;
-  }
+   /**  Sets the target ManagedConenctionFactory instance for which the user 
+    *   name and password has been set by the application server.
+    *
+    *  @param     mcf   ManagedConnectionFactory instance for which user name
+    *                   and password have been specified
+    **/
+   public void setManagedConnectionFactory(ManagedConnectionFactory mcf) 
+   {
+      this.mcf = mcf;
+   }
+   
+   /** Compares this PasswordCredential with the specified object for 
+    *  equality. The two PasswordCredential instances are the same if
+    *  they are equal in username and password.
+    *
+    *  @param other  Object to which PasswordCredential is to be compared
+    *  @return <tt>true</tt> if and if the specified object is a
+    *            PasswordCredential whose username and password are
+    *            equal to this instance.
+    **/
+   public boolean equals(Object other) 
+   {
+      if (!(other instanceof PasswordCredential))
+         return false;
+      
+      PasswordCredential pc = (PasswordCredential)other;
+      
+      if (!(userName.equals(pc.userName)))
+         return false;
+      
+      if (password.length != pc.password.length)
+         return false;
+      
+      for (int i = 0; i < password.length; i++) 
+      {
+         if (password[i] != pc.password[i]) 
+            return false;
+      }
 
-  /** Gets the target ManagedConnectionFactory for which the user name and 
-   *  password has been set by the application server. A ManagedConnection-
-   *  Factory uses this field to find out whether PasswordCredential should
-   *  be used by it for sign-on to the target EIS instance.
-   *
-   *  @return    ManagedConnectionFactory instance for which user name and
-   *             password have been specified
-   **/
-  public
-  ManagedConnectionFactory getManagedConnectionFactory() {
-    return mcf;
-  }
-
- /**  Sets the target ManagedConenctionFactory instance for which the user 
-  *   name and password has been set by the application server.
-   *
-   *  @param     mcf   ManagedConnectionFactory instance for which user name
-   *                   and password have been specified
-   **/
-  public
-  void setManagedConnectionFactory(ManagedConnectionFactory mcf) {
-    this.mcf = mcf;
-  }
-
-  /** Compares this PasswordCredential with the specified object for 
-   *  equality. The two PasswordCredential instances are the same if
-   *  they are equal in username and password.
-   *
-   *  @param other  Object to which PasswordCredential is to be compared
-   *  @return <tt>true</tt> if and if the specified object is a
-   *            PasswordCredential whose username and password are
-   *            equal to this instance.
-  **/
-  public 
-  boolean equals(Object other) {
-    if (!(other instanceof PasswordCredential))
-      return false;
-
-    PasswordCredential pc = (PasswordCredential)other;
-
-    if (!(userName.equals(pc.userName)))
-      return false;
-
-    if (password.length != pc.password.length)
-      return false;
-    
-    for (int i = 0; i < password.length;i++) {
-      if (password[i] != pc.password[i]) 
-	return false;
-    }
-
-    return true;
-  }
-
-  /** Returns the hash code for this PasswordCredential
-   * 
-   *  @return  hash code for this PasswordCredential
-  **/
-  public
-  int hashCode() {
-    String s = userName;
-    s += new String(password);
-    return s.hashCode();
-  }
-
+      return true;
+   }
+   
+   /** Returns the hash code for this PasswordCredential
+    * 
+    *  @return  hash code for this PasswordCredential
+    **/
+   public int hashCode() 
+   {
+      String s = userName;
+      s += new String(password);
+      return s.hashCode();
+   }
 }
-

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWork.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWork.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWork.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
 import java.io.Serializable;
 
 /**
@@ -34,7 +30,8 @@
  * <code>DistributableWorkManager</code>
  *
  * @since 1.6
- * @version JSR322-PublicReview
+ * @version Java EE Connector Architecture 1.6
  */
-public interface DistributableWork extends Work, Serializable {
+public interface DistributableWork extends Work, Serializable 
+{
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWorkManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWorkManager.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/DistributableWorkManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -38,8 +38,8 @@
  * <code>DistributableWorkManager</code> marker interface.
  * 
  * @since 1.6
- * @version JSR322-PublicDraft
- * @author Sivakumar Thyagarajan
+ * @version Java EE Connector Architecture 1.6
  */
-public interface DistributableWorkManager extends WorkManager {
+public interface DistributableWorkManager extends WorkManager 
+{
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/ExecutionContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/ExecutionContext.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/ExecutionContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,35 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
-
+import javax.resource.NotSupportedException;
 import javax.transaction.xa.Xid;
-import javax.resource.NotSupportedException;
-//import javax.resource.spi.security.SecurityContext;
 
 /**
  * This class models an execution context (transaction, security, etc) 
@@ -51,68 +45,80 @@
  *
  * Note: Resource adapters that are developed for Connectors 1.6 specification
  * compliant application servers and above, are recommended to use
- * the <code>TransactionInflowContext</code> interface instead of this 
- * class. See Chapter.11 Generic Inflow Context in the Connectors 1.6
+ * the <code>TransactionWorkContext</code> interface instead of this 
+ * class. See Chapter.11 Generic Work Context in the Connectors 1.6
  * specification for more details.
  *
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class ExecutionContext {
+public class ExecutionContext 
+{
+   
+   /**
+    * transaction context.
+    */
+   private Xid xid;
+   
+   /**
+    * transaction timeout value.
+    */
+   private long transactionTimeout = WorkManager.UNKNOWN;
+   
+   
+   /**
+    * set a transaction context.
+    *
+    * @param xid transaction context.
+    */
+   public void setXid(Xid xid)
+   {
+      this.xid = xid;
+   }
 
-    /**
-     * transaction context.
-     */
-    private Xid xid;
+   /**
+    * @return an Xid object carrying a transaction context, 
+    * if any.
+    */
+   public Xid getXid() 
+   {
+      return this.xid;
+   }
 
-    /**
-     * transaction timeout value.
-     */
-    private long transactionTimeout = WorkManager.UNKNOWN;
-
-
-    /**
-     * set a transaction context.
-     *
-     * @param xid transaction context.
-     */
-    public void setXid(Xid xid) { this.xid = xid; }
-
-    /**
-     * @return an Xid object carrying a transaction context, 
-     * if any.
-     */
-    public Xid getXid() { return this.xid; }
-
-    /**
-     * Set the transaction timeout value for a imported transaction.
-     *
-     * @param timeout transaction timeout value in seconds. Only positive
-     * non-zero values are accepted. Other values are illegal and are 
-     * rejected with a <code>NotSupportedException</code>.
-     *
-     * @throws NotSupportedException thrown to indicate an illegal timeout 
-     * value.
-     */
-    public void setTransactionTimeout(long timeout) 
-	throws NotSupportedException {
-	    if (timeout > 0) {
-	        this.transactionTimeout = timeout;
-	    } else {
-	        throw new NotSupportedException("Illegal timeout value");
-	    }
-    }
-
-    /** 
-     * Get the transaction timeout value for a imported transaction.
-     *
-     * @return the specified transaction timeout value in seconds. When no
-     * timeout value or an illegal timeout value had been specified, a value of
-     * -1 (<code>WorkManager.UNKNOWN</code>) is returned; the timeout 
-     * processing of such a transaction depends on the application server 
-     * implementation.
-     */
-    public long getTransactionTimeout() {
-	    return this.transactionTimeout;
-    }
+   /**
+    * Set the transaction timeout value for a imported transaction.
+    *
+    * @param timeout transaction timeout value in seconds. Only positive
+    * non-zero values are accepted. Other values are illegal and are 
+    * rejected with a <code>NotSupportedException</code>.
+    *
+    * @throws NotSupportedException thrown to indicate an illegal timeout 
+    * value.
+    */
+   public void setTransactionTimeout(long timeout) 
+      throws NotSupportedException 
+   {
+      if (timeout > 0)
+      {
+         this.transactionTimeout = timeout;
+      }
+      else
+      {
+         throw new NotSupportedException("Illegal timeout value");
+      }
+   }
+   
+   /** 
+    * Get the transaction timeout value for a imported transaction.
+    *
+    * @return the specified transaction timeout value in seconds. When no
+    * timeout value or an illegal timeout value had been specified, a value of
+    * -1 (<code>WorkManager.UNKNOWN</code>) is returned; the timeout 
+    * processing of such a transaction depends on the application server 
+    * implementation.
+    */
+   public long getTransactionTimeout() 
+   {
+      return this.transactionTimeout;
+   }
 }

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/HintsContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/HintsContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/HintsContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A standard {@link WorkContext WorkContext} that allows a {@link Work
+ * Work} instance to propagate quality-of-service (QoS) hints about the
+ * {@link Work Work} to the <code>WorkManager</code>.
+ * 
+ * @since 1.6
+ * @see javax.resource.spi.work.WorkContextProvider
+ * @version Java EE Connector Architecture 1.6
+ */
+
+public class HintsContext implements WorkContext 
+{
+
+   /**
+    * Determines if a deserialized instance of this class
+    * is compatible with this class.
+    */
+   private static final long serialVersionUID = 7956353628297167255L;
+
+   /** The name hint */
+   public static final String NAME_HINT = "javax.resource.Name";
+
+   /** The long running hint */
+   public static final String LONGRUNNING_HINT = "javax.resource.LongRunning";
+   
+   /** Description */
+   protected String description = "Hints Context";
+
+   /** Name */
+   protected String name = "HintsContext";
+
+   /** The hints */
+   Map<String, Serializable> hints = new HashMap<String, Serializable>();
+      
+   /**
+    * {@inheritDoc}
+    */
+   public String getDescription() 
+   {
+      return description;
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public String getName() 
+   {
+      return name;
+   }
+   
+   /**
+    * Set a brief description of the role played by the instance of
+    * HintsContext and any other related debugging information.
+    *
+    * This could be used by the resource adapter and the WorkManager
+    * for logging and debugging purposes.
+    * @param description The description
+    */
+   public void setDescription(String description)
+   {
+      this.description = description;
+   }
+   
+   /**
+    * Set the associated name of the HintsContext. This
+    * could be used by the resource adapter and the WorkManager
+    * for logging and debugging purposes.
+    * @param name The name
+    */
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+   
+   /**
+    * Set a Hint and a related value. The hintName must be non-Null.
+    * Standard HintNames are defined in the Connector specification. Use of
+    * "javax.resource." prefixed hintNames are reserved for use by the 
+    * Connector specification.
+    * @param hintName The hint name
+    * @param value The hint value
+    *
+    */
+   public void setHint(String hintName, Serializable value) 
+   {
+      hints.put(hintName, value);
+   }
+   
+   /**
+    * Get the hints
+    * @return The hints
+    */
+   public Map<String, Serializable> getHints() 
+   {
+      return hints;
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/RetryableWorkRejectedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/RetryableWorkRejectedException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/RetryableWorkRejectedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
+
+import javax.resource.spi.RetryableException;
+
+/**
+ * A subclass of the <code>WorkRejectedException</code> that 
+ * indicates that the the service unavailability is transient. It is thrown in
+ * situations where the previously failed operation might be able to succeed if the 
+ * resource adapter performs some recovery steps and retries the operation.
+ * 
+ * @since 1.6
+ * @version Java EE Connector Architecture 1.6
+ */
+public class RetryableWorkRejectedException extends WorkRejectedException implements RetryableException 
+{
+   
+   /**
+    * Determines if a deserialized instance of this class
+    * is compatible with this class.
+    */
+   private static final long serialVersionUID = 8198870267352154108L;
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public RetryableWorkRejectedException() 
+   {
+      super();
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    * @param message the detail message.
+    */
+   public RetryableWorkRejectedException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public RetryableWorkRejectedException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    * @param message the detail message.
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public RetryableWorkRejectedException(String message, Throwable cause)
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public RetryableWorkRejectedException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
+}

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/SecurityContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/SecurityContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/SecurityContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,213 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+
+/**
+ * A standard {@link WorkContext WorkContext} that allows a {@link Work
+ * Work} instance to propagate security related context information from an EIS
+ * to an application server.
+ * <p>
+ * 
+ * 
+ * This allows an EIS/resource adapter to flow-in security context information
+ * and execute a Work instance, and call methods on a MessageEndpoint interface,
+ * to effect message inflow, within that Work instance, in the context of an
+ * established identity.
+ * <p>
+ * 
+ * 
+ * A resource adapter indicates to the WorkManager, that a Work instance needs
+ * to be run in a specified security execution context by submitting a Work
+ * instance that implements WorkContextProvider interface and ensuring that
+ * the List of WorkContexts for that Work instance contains an instance of its
+ * subclass of SecurityContext.
+ * <p>
+ * 
+ * 
+ * It should be noted however that when a resource adapter flows-in an identity
+ * to be used by the application server, the propagated identity may or may not
+ * belong to the application server's security domain.
+ * <p>
+ * 
+ * 
+ * There are therefore, two scenarios while a resource adapter propagates a
+ * security identity from an EIS to the application server:
+ * <p>
+ * 
+ * <ul>
+ * <li>Case 1: Resource adapter flows-in an identity in the application server's
+ * security domain: In this case, the application server could just set the
+ * initiating principal, flown-in from the resource adapter, as the security
+ * context the Work instance executes as.</li>
+ * <li>Case 2: Resource adapter flows-in an identity belonging to the EIS'
+ * security domain: The resource adapter establishes a connection to the EIS and
+ * needs to perform a Work in the context of an EIS identity. In this case, the
+ * initiating or caller principal does not exist in the application server's
+ * security domain and a translation from one domain to the other needs to be
+ * performed.</li>
+ * </ul>
+ * <p>
+ * 
+ * @since 1.6
+ * @see javax.resource.spi.work.WorkContextProvider
+ * @version Java EE Connector Architecture 1.6
+ */
+
+public abstract class SecurityContext implements WorkContext 
+{
+   /**
+    * Determines if a deserialized instance of this class
+    * is compatible with this class.
+    */
+   private static final long serialVersionUID = 7730296651802712658L;
+   
+   /**
+    * {@inheritDoc}
+    */
+   public String getDescription() 
+   {
+      return "Security Context";
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public String getName() 
+   {
+      return "SecurityContext";
+   }
+   
+   /**
+    * The container calls this method to set up the security Context for the
+    * <code>Work</code> instance.
+    * <p>
+    * 
+    * The handler argument must not be null, and the argument handler and the
+    * <code>CallbackHandler</code> passed to this method must support the
+    * following <code>Callback</code>s defined in JSR 196: Java Authentication
+    * SPI for Containers specification:
+    * <p>
+    * <ul>
+    * <li>CallerPrincipalCallback</li>
+    * <li>GroupPrincipalCallback</li>
+    * <li>PasswordValidationCallback</li>
+    * </ul>
+    * The following <code>Callback</code>s may be supported by the container.
+    * <ul>
+    * <li>CertStoreCallback
+    * <li>
+    * <li>PrivateKeyCallback
+    * <li>
+    * <li>SecretKeyCallback
+    * <li>
+    * <li>TrustStoreCallback
+    * <li>
+    * </ul>
+    * <p>
+    * 
+    * A resource adapter might use the <code>CallerPrincipalCallback</code> “to
+    * set the container's representation of the caller principal. The
+    * CallbackHandler must establish the argument Principal as the caller
+    * principal associated with the invocation being processed by the
+    * container. When the argument Principal is null, the handler will
+    * establish the container's representation of the unauthenticated caller
+    * principal.”
+    * <p>
+    * 
+    * A resource adapter might use the <code>GroupPrincipalCallback</code> “to
+    * establish the container's representation of the corresponding group
+    * principals within the Subject. When a null value is passed to the groups
+    * argument, the handler will establish the container's representation of no
+    * group principals within the Subject. Otherwise, the handler's processing
+    * of this callback is additive, yielding the union (without duplicates) of
+    * the principals existing within the Subject, and those created with the
+    * names occuring within the argument array. The CallbackHandler will define
+    * the type of the created principals.”
+    * <p>
+    * 
+    * A resource adapter might use the <code>PasswordValidationCallback</code>
+    * “to employ the password validation facilities of its containing runtime.”
+    * <p>
+    * 
+    * The executionSubject argument must be non-null and it must not be
+    * read-only. It is expected that this method will populate this
+    * executionSubject with principals and credentials that would be flown into
+    * the application server.
+    * <p>
+    * 
+    * The serviceSubject argument must be non-null and it must not be
+    * read-only. It represents the application server and it may be used by the
+    * Work implementation to retrieve Principals and credentials necessary to
+    * establish a connection to the EIS (in the cause of mutual-auth like
+    * scenarios). If the Subject is not null, the Work implementation may
+    * collect the server credentials, as necessary, by using the callback
+    * handler passed to them .
+    * <p>
+    * 
+    * 
+    * When this method is called, the method implementation
+    * <ul>
+    * <li>identifies the security context that needs to be flown-in to the
+    * application server to serve as the execution context of the Work
+    * instance.</li>
+    * <li>populates the executionSubject with the EIS Principals and
+    * Credentials that it wants to serve as the security context for the Work
+    * instance to be executed in.</li>
+    * <li>adds instances of the necessary Callbacks , usually a subset of the
+    * ones listed above, to an array and invokes the handle() method in the
+    * container's CallbackHandler implementation passing in the array of
+    * Callback instances.</li>
+    * <li>on sucessful return from the CallbackHandler.handle() method the
+    * setSecurityContext returns after ensuring that the executionSubject is
+    * populated with the valid Principals and Credentials that represent the
+    * execution context of the Work instance</li>
+    * </ul>
+    * <p>
+    * 
+    * @see JSR 196: Java Authentication SPI for Containers specification and
+    *      related JavaDoc
+    * 
+    * @param handler
+    *            A <code>CallbackHandler</code> provided by the
+    *            <code>WorkManager</code> that supports the
+    *            <code>Callback</code>s described above
+    * @param executionSubject
+    *            A Subject that represents the security identity that needs to
+    *            be established as the context for the <code>Work</code>
+    *            instance. It is used by the method implementation to store
+    *            Principals and credentials that needs to be used as the
+    *            security context of the <code>Work</code> instance.
+    * @param serviceSubject
+    *            A Subject that represents the application server It may be
+    *            used by the method implementation as the source of Principals
+    *            or credentials to be used to validate a connection to the EIS.
+    *            If the Subject is not null, the method implementation may add
+    *            additional Principals or credentials (pertaining to the
+    *            recipient of the service request) to the Subject. *
+    */
+   public abstract void setupSecurityContext(CallbackHandler handler,
+                                             Subject executionSubject, Subject serviceSubject);
+}

Added: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/TransactionContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/TransactionContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/TransactionContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
+
+/**
+ * A standard <code>WorkContext</code> that allows a <code>Work</code>
+ * instance to propagate transaction related context information from an EIS to
+ * an application server.<p>
+ * 
+ * This class extends <code>ExecutionContext</code> so that a resource adapter
+ * developer could migrate their existing code from
+ * <code>ExecutionContext</code> to <code>TransactionContext</code>
+ * easily.<p>
+ * 
+ * @since 1.6
+ * @see javax.resource.spi.work.WorkContext
+ * @see javax.resource.spi.work.ExecutionContext
+ * @version Java EE Connector Architecture 1.6
+ */
+
+public class TransactionContext extends ExecutionContext implements WorkContext 
+{
+   /**
+    * Determines if a deserialized instance of this class
+    * is compatible with this class.
+    */
+   private static final long serialVersionUID = 6205067498708597824L;
+
+   /**
+    * {@inheritDoc}
+    */
+   public String getDescription() 
+   {
+      return "Transaction Context";
+   }
+
+   /**
+    * {@inheritDoc}
+    */
+   public String getName() 
+   {
+      return "TransactionContext";
+   }
+}

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/Work.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/Work.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/Work.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,32 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
-
 /**
  * This models a <code>Work</code> instance that would be executed by a 
  * <code>WorkManager</code> upon submission.
@@ -34,13 +29,14 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface Work extends Runnable {
-
-    /**
-     * The <code>WorkManager</code> might call this method to hint the
-     * active <code>Work</code> instance to complete execution as soon as 
-     * possible. This would be called on a seperate thread other than the
-     * one currently executing the <code>Work</code> instance.
-     */
-    void release();
+public interface Work extends Runnable 
+{
+   
+   /**
+    * The <code>WorkManager</code> might call this method to hint the
+    * active <code>Work</code> instance to complete execution as soon as 
+    * possible. This would be called on a seperate thread other than the
+    * one currently executing the <code>Work</code> instance.
+    */
+   void release();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkAdapter.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkAdapter.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkAdapter.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,32 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
-
 /**
  * This class is provided as a convenience for easily creating 
  * <code>WorkListener</code> instances by extending this class
@@ -35,26 +30,39 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class WorkAdapter implements WorkListener {
-
-    /** 
-     * Invoked when a <code>Work</code> instance has been accepted.
-     */
-    public void workAccepted(WorkEvent e) {}
-
-    /** 
-     * Invoked when a <code>Work</code> instance has been rejected.
-     */
-    public void workRejected(WorkEvent e) {}
-
-    /** 
-     * Invoked when a <code>Work</code> instance has started execution.
-     * This only means that a thread has been allocated.
-     */
-    public void workStarted(WorkEvent e) {}
-
-    /** 
-     * Invoked when a <code>Work</code> instance has completed execution.
-     */
-    public void workCompleted(WorkEvent e) {}
+public class WorkAdapter implements WorkListener 
+{
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has been accepted.
+    * @param e The work event
+    */
+   public void workAccepted(WorkEvent e) 
+   {
+   }
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has been rejected.
+    * @param e The work event
+    */
+   public void workRejected(WorkEvent e) 
+   {
+   }
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has started execution.
+    * This only means that a thread has been allocated.
+    * @param e The work event
+    */
+   public void workStarted(WorkEvent e) 
+   {
+   }
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has completed execution.
+    * @param e The work event
+    */
+   public void workCompleted(WorkEvent e) 
+   {
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkCompletedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkCompletedException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkCompletedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -44,52 +44,62 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class WorkCompletedException extends WorkException {
+public class WorkCompletedException extends WorkException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = -229158982387790244L;
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public WorkCompletedException() { super(); }
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public WorkCompletedException() 
+   {
+      super();
+   }
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public WorkCompletedException(String message) {
-	super(message);
-    }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public WorkCompletedException(String message)
+   {
+      super(message);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public WorkCompletedException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type 
-     * <code>Throwable</code>.
-     */
-    public WorkCompletedException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public WorkCompletedException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public WorkCompletedException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type 
+    * <code>Throwable</code>.
+    */
+   public WorkCompletedException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public WorkCompletedException(String message, String errorCode) 
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContext.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContext.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -36,31 +36,34 @@
  * execution context by the <code>WorkManager</code> when the
  * <code>Work</code> instance gets executed.
  * 
+ * The resource adapter must not make any changes to the state of the 
+ * <code>WorkContext</code> after the <code>Work</code> instance corresponding 
+ * to that <code>WorkContext</code> has been submitted to the <code>WorkManager</code>.
+ *
  * @since 1.6
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  */
 
-// @OpenQ : getName/getDescription useful for debugging purposes?
-public interface WorkContext extends Serializable{
-    /**
-     * Get the associated name of the <code>WorkContext</code>. This could
-     * be used by the WorkManager and the resource adapter for debugging
-     * purposes.
-     * <p>
-     * 
-     * @return the associated name of the <code>WorkContext</code>
-     */
-    String getName();
-
-    /**
-     * Get the brief description of the role played by the
-     * <code>WorkContext</code> and any other related debugging information.
-     * This could be used by the WorkManager and the resource adapter for
-     * debugging purposes.
-     * <p>
-     * 
-     * @return the associated description of the <code>WorkContext</code>
-     */
-    String getDescription();
-
+public interface WorkContext extends Serializable
+{
+   /**
+    * Get the associated name of the <code>WorkContext</code>. This could
+    * be used by the WorkManager and the resource adapter for debugging
+    * purposes.
+    * <p>
+    * 
+    * @return the associated name of the <code>WorkContext</code>
+    */
+   String getName();
+   
+   /**
+    * Get the brief description of the role played by the
+    * <code>WorkContext</code> and any other related debugging information.
+    * This could be used by the WorkManager and the resource adapter for
+    * debugging purposes.
+    * <p>
+    * 
+    * @return the associated description of the <code>WorkContext</code>
+    */
+   String getDescription();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextErrorCodes.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextErrorCodes.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextErrorCodes.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -32,50 +32,55 @@
  * custom <code>WorkContext</code> types.
  * 
  * @since 1.6
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  */
-public class WorkContextErrorCodes {
-    private WorkContextErrorCodes(){}
+public class WorkContextErrorCodes 
+{
+   /**
+    * Indicates that a <code>WorkContext</code> type, that was not
+    * specified as optional, passed in by the <code>Work</code> instance is
+    * not supported by the container.
+    * 
+    * @since 1.6
+    */
+   public static final String UNSUPPORTED_CONTEXT_TYPE = "1";
+   
+   /**
+    * Indicates that there are more than one instance of a <code>WorkContext</code>
+    * type passed in by the <code>Work</code>
+    * instance.
+    * <p>
+    * 
+    * @since 1.6
+    */
+   public static final String DUPLICATE_CONTEXTS = "2";
+   
+   /**
+    * Indicates a failure in recreating the <code>WorkContext</code>
+    * instance. For <code>TransactionWorkContext</code> instances, the
+    * <code>WorkManager</code> must use this failure code when it should have
+    * used {@link WorkException#TX_RECREATE_FAILED} as the error code.
+    * 
+    * @since 1.6
+    */
+   public static final String CONTEXT_SETUP_FAILED = "3";
+   
+   /**
+    * Indicates that the container cannot support recreating the
+    * <code>WorkContext</code> instance. For
+    * <code>TransactionWorkContext</code> instances, the
+    * <code>WorkManager</code> must use this failure code when it should have
+    * used {@link WorkException#TX_CONCURRENT_WORK_DISALLOWED} as the error
+    * code.
+    * 
+    * @since 1.6
+    */
+   public static final String CONTEXT_SETUP_UNSUPPORTED = "4";
 
-    /**
-     * Indicates that a <code>WorkContext</code> type, that was not
-     * specified as optional, passed in by the <code>Work</code> instance is
-     * not supported by the container.
-     * 
-     * @since 1.6
-     */
-    public static final String UNSUPPORTED_CONTEXT_TYPE = "1";
-
-    /**
-     * Indicates that there are more than instance of a
-     * <code>WorkContext</code> type passed in by the <code>Work</code>
-     * instance.
-     * <p>
-     * 
-     * @since 1.6
-     */
-    public static final String DUPLICATE_CONTEXTS = "2";
-
-    /**
-     * Indicates a failure in recreating the <code>WorkContext</code>
-     * instance. For <code>TransactionWorkContext</code> instances, the
-     * <code>WorkManager</code> must use this failure code when it should have
-     * used {@link WorkException#TX_RECREATE_FAILED} as the error code.
-     * 
-     * @since 1.6
-     */
-    public static final String CONTEXT_SETUP_FAILED = "3";
-
-    /**
-     * Indicates that the container cannot support recreating the
-     * <code>WorkContext</code> instance. For
-     * <code>TransactionWorkContext</code> instances, the
-     * <code>WorkManager</code> must use this failure code when it should have
-     * used {@link WorkException#TX_CONCURRENT_WORK_DISALLOWED} as the error
-     * code.
-     * 
-     * @since 1.6
-     */
-    public static final String CONTEXT_SETUP_UNSUPPORTED = "4";
-
+   /**
+    * Private constructor
+    */
+   private WorkContextErrorCodes()
+   {
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextLifecycleListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextLifecycleListener.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextLifecycleListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -52,29 +52,29 @@
  * <p>
  * 
  * @since 1.6
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  */
 
-public interface WorkContextLifecycleListener {
-
-    /**
-     * Invoked when the <code>WorkContext</code> instance was successfully
-     * set as the execution context for the <code>Work</code> instance.
-     * 
-     * @since 1.6
-     */
-    void contextSetupComplete();
-
-    /**
-     * Invoked when the <code>WorkContext</code> instance was set as the
-     * execution context for the <code>Work</code> instance it was associated
-     * with.
-     * 
-     * @param errorCode
-     *            One of the error-codes defined in or subclasses of
-     *            {@link WorkContextErrorCodes WorkContextErrorCodes}
-     * @since 1.6
-     * @see WorkContextErrorCodes
-     */
-    void contextSetupFailed(String errorCode);
+public interface WorkContextLifecycleListener 
+{
+   /**
+    * Invoked when the <code>WorkContext</code> instance was successfully
+    * set as the execution context for the <code>Work</code> instance.
+    * 
+    * @since 1.6
+    */
+   void contextSetupComplete();
+   
+   /**
+    * Invoked when the <code>WorkContext</code> instance was set as the
+    * execution context for the <code>Work</code> instance it was associated
+    * with.
+    * 
+    * @param errorCode
+    *            One of the error-codes defined in or subclasses of
+    *            {@link WorkContextErrorCodes WorkContextErrorCodes}
+    * @since 1.6
+    * @see WorkContextErrorCodes
+    */
+   void contextSetupFailed(String errorCode);
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextProvider.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextProvider.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkContextProvider.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,29 +1,29 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
+import java.io.Serializable;
 import java.util.List;
-import java.io.Serializable;
 
 /**
  * This interface specifies the methods a {@link Work Work} instance uses to
@@ -37,17 +37,21 @@
  * through the {@link #getWorkContexts() getWorkContexts} method must be
  * used while setting the execution context of the <code>Work</code> instance.<p>
  * 
+ * If the {@link #getWorkContexts() getWorkContexts} method returns an empty List
+ * or null, the WorkManager must treat it as if no additional execution contexts
+ * are associated with that Work instance.
+ *
  * @since 1.6
- * @version JSR322-EarlyDraft
+ * @version Java EE Connector Architecture 1.6
  */
-public interface WorkContextProvider extends Serializable{
-
-    /**
-     * Gets an instance of <code>WorkContexts</code> that needs to be used
-     * by the <code>WorkManager</code> to set up the execution context while
-     * executing a <code>Work</code> instance.
-     * 
-     * @return an <code>List</code> of <code>WorkContext</code> instances.
-     */
-    List<WorkContext> getWorkContexts();
+public interface WorkContextProvider extends Serializable
+{
+   /**
+    * Gets an instance of <code>WorkContexts</code> that needs to be used
+    * by the <code>WorkManager</code> to set up the execution context while
+    * executing a <code>Work</code> instance.
+    * 
+    * @return an <code>List</code> of <code>WorkContext</code> instances.
+    */
+   List<WorkContext> getWorkContexts();
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkEvent.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkEvent.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkEvent.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,33 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamField;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.EventObject;
 
 /**
@@ -35,124 +37,235 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class WorkEvent extends EventObject {
+public class WorkEvent extends EventObject 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID;
 
-    /**
-     * Indicates <code>Work</code> instance has been accepted.
-     */
-    public static final int WORK_ACCEPTED = 1;
+   /** Persistence fields information */
+   private static final ObjectStreamField[] serialPersistentFields;
+   private static final int TYPE_IDX = 0;
+   private static final int WORK_IDX = 1;
+   private static final int EXCPEPTION_IDX = 2;
+   private static final int DURATION_IDX = 2;
 
-    /**
-     * Indicates <code>Work</code> instance has been rejected.
-     */
-    public static final int WORK_REJECTED = 2;
+   /**
+    * Indicates <code>Work</code> instance has been accepted.
+    */
+   public static final int WORK_ACCEPTED = 1;
+   
+   /**
+    * Indicates <code>Work</code> instance has been rejected.
+    */
+   public static final int WORK_REJECTED = 2;
+   
+   /**
+    * Indicates <code>Work</code> instance has started execution.
+    */
+   public static final int WORK_STARTED = 3;
+   
+   /**
+    * Indicates <code>Work</code> instance has completed execution.
+    */
+   public static final int WORK_COMPLETED = 4;
+   
+   /**
+    * The event type.
+    */
+   private int type;
+   
+   /**
+    * The <code>Work</code> object on which the event occured.
+    */
+   private Work work;
+   
+   /**
+    * The exception that occured during <code>Work</code> processing.
+    */
+   private WorkException e;
+   
+   /**
+    * The start delay duration (in milliseconds).
+    */
+   private long startDuration = WorkManager.UNKNOWN;
+   
 
-    /**
-     * Indicates <code>Work</code> instance has started execution.
-     */
-    public static final int WORK_STARTED = 3;
+   static
+   {
+      Boolean legacy = (Boolean)AccessController.doPrivileged(new PrivilegedAction()
+      {
+         public Boolean run()
+         {
+            try
+            {
+               if (System.getProperty("org.jboss.j2ee.LegacySerialization") != null)
+                  return Boolean.TRUE;
+            }
+            catch (Throwable ignored)
+            {
+               // Ignore
+            }
+            return Boolean.FALSE;
+         }
+      });
 
-    /**
-     * Indicates <code>Work</code> instance has completed execution.
-     */
-    public static final int WORK_COMPLETED = 4;
+      if (Boolean.TRUE.equals(legacy))
+      {
+         serialVersionUID = 6971276136970053051L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField type int */
+            new ObjectStreamField("type", int.class),
+            /** @serialField work Work */
+            new ObjectStreamField("work", Work.class),
+            /** @serialField exception WorkException */
+            new ObjectStreamField("e", WorkException.class),
+            /** @serialField startDuration long */
+            new ObjectStreamField("startDuration", long.class)
+         };
+      }
+      else
+      {
+         serialVersionUID = -3063612635015047218L;
+         serialPersistentFields = new ObjectStreamField[] {
+            /** @serialField type int */
+            new ObjectStreamField("type", int.class),
+            /** @serialField work Work */
+            new ObjectStreamField("work", Work.class),
+            /** @serialField exception WorkException */
+            new ObjectStreamField("exception", WorkException.class),
+            /** @serialField startDuration long */
+            new ObjectStreamField("startDuration", long.class)
+         };
+      }
+   }
 
-    /**
-     * The event type.
-     */
-    private int type;
+   /**
+    * Constructor.
+    *
+    * @param source The object on which the event initially 
+    * occurred.
+    *
+    * @param type The event type.
+    *
+    * @param work The <code>Work</code> object on which 
+    * the event occured.
+    *
+    * @param exc The exception that occured during 
+    * <code>Work</code> processing.
+    */
+   public WorkEvent(Object source, int type, Work work, WorkException exc) 
+   {
+      super(source);
+      this.type = type;
+      this.work =  work;
+      this.e = exc;
+   }
+   
+   /**
+    * Constructor.
+    *
+    * @param source The object on which the event initially 
+    * occurred.
+    *
+    * @param type The event type.
+    *
+    * @param work The <code>Work</code> object on which 
+    * the event occured.
+    *
+    * @param exc The exception that occured during 
+    * <code>Work</code> processing.
+    *
+    * @param startDuration The start delay duration 
+    * (in milliseconds).
+    */
+   public WorkEvent(Object source, int type, Work work, WorkException exc,
+                    long startDuration) 
+   {
+      this(source, type, work, exc);
+      this.startDuration = startDuration;
+   }
+   
+   /**
+    * Return the type of this event.
+    *
+    * @return the event type.
+    */
+   public int getType()
+   {
+      return this.type; 
+   }
+   
+   /**
+    * Return the <code>Work</code> instance which is the cause of the event.
+    *
+    * @return the <code>Work</code> instance.
+    */
+   public Work getWork()
+   {
+      return this.work; 
+   }
 
-    /**
-     * The <code>Work</code> object on which the event occured.
-     */
-    private Work work;
+   /**
+    * Return the start interval duration.
+    *
+    * @return the time elapsed (in milliseconds) since the <code>Work</code>
+    * was accepted, until the <code>Work</code> execution started. Note, 
+    * this does not offer real-time guarantees. It is valid to return -1, if
+    * the actual start interval duration is unknown.
+    */
+   public long getStartDuration()
+   {
+      return this.startDuration;
+   }
 
-    /**
-     * The exception that occured during <code>Work</code> processing.
-     */
-    private WorkException exc;
+   /**
+    * Return the <code>WorkException</code>. The actual 
+    * <code>WorkException</code> subtype returned depends on the type of the
+    * event.
+    *
+    * @return a <code>WorkRejectedException</code> or a 
+    * <code>WorkCompletedException</code>, if any.
+    */
+   public WorkException getException()
+   {
+      return this.e;
+   }
 
-    /**
-     * The start delay duration (in milliseconds).
-     */
-    private long startDuration = WorkManager.UNKNOWN;
+   /**
+    * Read object
+    * @param ois The object input stream
+    * @exception ClassNotFoundException If a class can not be found
+    * @exception IOException Thrown if an error occurs
+    */
+   private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
+   {
+      ObjectInputStream.GetField fields = ois.readFields();
+      String name = serialPersistentFields[TYPE_IDX].getName();
+      this.type = fields.get(name, 0);
+      name = serialPersistentFields[WORK_IDX].getName();
+      this.work = (Work) fields.get(name, null);
+      name = serialPersistentFields[EXCPEPTION_IDX].getName();
+      this.e = (WorkException) fields.get(name, null);
+      name = serialPersistentFields[DURATION_IDX].getName();
+      this.startDuration = fields.get(name, 0L);
+   }
 
-    /**
-     * Constructor.
-     *
-     * @param source The object on which the event initially 
-     * occurred.
-     *
-     * @param type The event type.
-     *
-     * @param work The <code>Work</code> object on which 
-     * the event occured.
-     *
-     * @param exc The exception that occured during 
-     * <code>Work</code> processing.
-
+   /**
+    * Write object
+    * @param oos The object output stream
+    * @exception IOException Thrown if an error occurs
     */
-    public WorkEvent(Object source, int type, Work work, WorkException exc) {
-	super(source);
-	this.type = type;
-	this.work =  work;
-	this.exc = exc;
-    }
-
-    /**
-     * Constructor.
-     *
-     * @param source The object on which the event initially 
-     * occurred.
-     *
-     * @param type The event type.
-     *
-     * @param work The <code>Work</code> object on which 
-     * the event occured.
-     *
-     * @param exc The exception that occured during 
-     * <code>Work</code> processing.
-     *
-     * @param startDuration The start delay duration 
-     * (in milliseconds).
-     */
-    public WorkEvent(Object source, int type, Work work, WorkException exc,
-            long startDuration) {
-	this(source, type, work, exc);
-	this.startDuration = startDuration;
-    }
-
-    /**
-     * Return the type of this event.
-     *
-     * @return the event type.
-     */
-    public int getType() { return this.type; }
-
-    /**
-     * Return the <code>Work</code> instance which is the cause of the event.
-     *
-     * @return the <code>Work</code> instance.
-     */
-    public Work getWork() { return this.work; }
-
-    /**
-     * Return the start interval duration.
-     *
-     * @return the time elapsed (in milliseconds) since the <code>Work</code>
-     * was accepted, until the <code>Work</code> execution started. Note, 
-     * this does not offer real-time guarantees. It is valid to return -1, if
-     * the actual start interval duration is unknown.
-     */
-    public long getStartDuration() { return this.startDuration; }
-
-    /**
-     * Return the <code>WorkException</code>. The actual 
-     * <code>WorkException</code> subtype returned depends on the type of the
-     * event.
-     *
-     * @return a <code>WorkRejectedException</code> or a 
-     * <code>WorkCompletedException</code>, if any.
-     */
-    public WorkException getException() { return this.exc; }
+   private void writeObject(ObjectOutputStream oos) throws IOException
+   {
+      ObjectOutputStream.PutField fields =  oos.putFields();
+      String name = serialPersistentFields[TYPE_IDX].getName();
+      fields.put(name, type);
+      name = serialPersistentFields[WORK_IDX].getName();
+      fields.put(name, work);
+      name = serialPersistentFields[EXCPEPTION_IDX].getName();
+      fields.put(name, e);
+      name = serialPersistentFields[DURATION_IDX].getName();
+      fields.put(name, startDuration);
+      oos.writeFields();
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -28,80 +28,89 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class WorkException extends javax.resource.ResourceException {
+public class WorkException extends javax.resource.ResourceException 
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = 6360106395593829940L;
 
+   /**
+    * Indicates an internal error condition.
+    */
+   public static final String INTERNAL = "-1";
+   
+   /**
+    * Undefined error code.
+    */
+   public static final String UNDEFINED = "0";
+   
+   /**
+    * Indicates start timeout expiration.
+    */
+   public static final String START_TIMED_OUT = "1";
+   
+   /**
+    * Indicates that concurrent work within a transaction is
+    * disallowed. That is, there is already another <code>Work</code>
+    * instance associated with the specified transaction context.
+    */
+   public static final String TX_CONCURRENT_WORK_DISALLOWED = "2";
+   
+   /**
+    * Indicates a failure in recreating the specified transaction context.
+    */
+   public static final String TX_RECREATE_FAILED = "3";
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public WorkException() 
+   {
+      super();
+   }
+   
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public WorkException(String message) 
+   {
+      super(message);
+   }
 
-    /**
-     * Indicates an internal error condition.
-     */
-    public static final String INTERNAL = "-1";
-
-    /**
-     * Undefined error code.
-     */
-    public static final String UNDEFINED = "0";
-
-    /**
-     * Indicates start timeout expiration.
-     */
-    public static final String START_TIMED_OUT = "1";
-
-    /**
-     * Indicates that concurrent work within a transaction is
-     * disallowed. That is, there is already another <code>Work</code>
-     * instance associated with the specified transaction context.
-     */
-    public static final String TX_CONCURRENT_WORK_DISALLOWED = "2";
-
-    /**
-     * Indicates a failure in recreating the specified transaction context.
-     */
-    public static final String TX_RECREATE_FAILED = "3";
-
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public WorkException() { super(); }
-
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public WorkException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type
-     * <code>Throwable</code>.
-     */
-    public WorkException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type
-     * <code>Throwable</code>.
-     */
-    public WorkException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public WorkException(String message, String errorCode) {
-        super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type
+    * <code>Throwable</code>.
+    */
+   public WorkException(Throwable cause) 
+   {
+      super(cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type
+    * <code>Throwable</code>.
+    */
+   public WorkException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public WorkException(String message, String errorCode)
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkListener.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkListener.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkListener.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,31 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
 import java.util.EventListener;
 
 /**
@@ -42,26 +38,35 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface WorkListener extends EventListener {
-
-    /** 
-     * Invoked when a <code>Work</code> instance has been accepted.
-     */
-    void workAccepted(WorkEvent e);
-
-    /** 
-     * Invoked when a <code>Work</code> instance has been rejected.
-     */
-    void workRejected(WorkEvent e);
-
-    /** 
-     * Invoked when a <code>Work</code> instance has started execution.
-     * This only means that a thread has been allocated.
-     */
-    void workStarted(WorkEvent e);
-
-    /** 
-     * Invoked when a <code>Work</code> instance has completed execution.
-     */
-    void workCompleted(WorkEvent e);
+public interface WorkListener extends EventListener 
+{
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has been accepted.
+    * @param e A <code>WorkEvent</code> object that provides more 
+    * information about the accepted Work.
+    */
+   void workAccepted(WorkEvent e);
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has been rejected.
+    * @param e A <code>WorkEvent</code> object that provides more 
+    * information about the accepted Work.
+    */
+   void workRejected(WorkEvent e);
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has started execution.
+    * This only means that a thread has been allocated.
+    * @param e A <code>WorkEvent</code> object that provides more 
+    * information about the accepted Work.
+    */
+   void workStarted(WorkEvent e);
+   
+   /** 
+    * Invoked when a <code>Work</code> instance has completed execution.
+    * @param e A <code>WorkEvent</code> object that provides more 
+    * information about the accepted Work.
+    */
+   void workCompleted(WorkEvent e);
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkManager.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkManager.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkManager.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,32 +1,27 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
-import java.lang.Object;
-import java.lang.Runnable;
-import java.lang.Exception;
-import java.lang.Throwable;
-
 /**
  * This interface models a <code>WorkManager</code> which provides a facility
  * to submit <code>Work</code> instances for execution. This frees the user
@@ -79,185 +74,207 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public interface WorkManager {
-
-    /**
-     * A constant to indicate timeout duration. A zero timeout value indicates
-     * an action be performed immediately.
-     */
-    long IMMEDIATE = 0L;
-
-    /**
-     * A constant to indicate timeout duration. A maximum timeout value 
-     * indicates that an action be performed arbitrarily without any time 
-     * constraint.
-     */
-    long INDEFINITE = Long.MAX_VALUE;
-
-    /**
-     * A constant to indicate an unknown start delay duration or other unknown
-     * values.
-     */
-    long UNKNOWN = -1;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * blocks until the <code>Work</code> instance completes execution.
-     * There is no guarantee on when the accepted <code>Work</code> 
-     * instance would start execution ie., there is no time constraint 
-     * to start execution.
-     *
-     * @param work The unit of work to be done.  
-     * Could be long or short-lived.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors.
-     *
-     * @throws WorkCompletedException indicates that a
-     * <code>Work</code> instance has completed execution with an exception.
-     */
-    void doWork(Work work) // startTimeout = INDEFINITE
-	throws WorkException;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * blocks until the <code>Work</code> instance completes execution.
-     *
-     * @param work The unit of work to be done.  
-     * Could be long or short-lived.
-     *
-     * @param startTimeout a time duration (in milliseconds) 
-     * within which the execution of the <code>Work</code> instance must
-     * start. Otherwise, the <code>Work</code> instance is rejected with a
-     * <code>WorkRejectedException</code> set to an appropriate error code 
-     * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
-     * does not offer real-time guarantees.
-     *
-     * @param execContext an object containing the execution
-     * context with which the submitted <code>Work</code> instance must
-     * be executed.
-     *
-     * @param workListener an object which would be notified
-     * when the various <code>Work</code> processing events (work accepted, 
-     * work rejected, work started, work completed) occur.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors or start timeout expiration.
-     *
-     * @throws WorkCompletedException indicates that a
-     * <code>Work</code> instance has completed execution with an exception.
-     */
-    void doWork(Work work, long startTimeout, 
-            ExecutionContext execContext, WorkListener workListener) 
-	throws WorkException;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * blocks until the <code>Work</code> instance starts execution
-     * but not until its completion. There is no guarantee on when
-     * the accepted <code>Work</code> instance would start
-     * execution ie., there is no time constraint to start execution.
-     *
-     * @param work The unit of work to be done.  
-     * Could be long or short-lived.
-     *
-     * @return the time elapsed (in milliseconds) from <code>Work</code>
-     * acceptance until start of execution. Note, this does not offer 
-     * real-time guarantees. It is valid to return -1, if the actual start 
-     * delay duration is unknown.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors.
-     */
-    long startWork(Work work) // startTimeout = INDEFINITE
-	throws WorkException;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * blocks until the <code>Work</code> instance starts execution
-     * but not until its completion. There is no guarantee on when
-     * the accepted <code>Work</code> instance would start
-     * execution ie., there is no time constraint to start execution.
-     *
-     * @param work The unit of work to be done.  
-     * Could be long or short-lived.
-     *
-     * @param startTimeout a time duration (in milliseconds) 
-     * within which the execution of the <code>Work</code> instance must
-     * start. Otherwise, the <code>Work</code> instance is rejected with a
-     * <code>WorkRejectedException</code> set to an appropriate error code 
-     * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
-     * does not offer real-time guarantees.
-     *
-     * @param execContext an object containing the execution
-     * context with which the submitted <code>Work</code> instance must
-     * be executed.
-     *
-     * @param workListener an object which would be notified
-     * when the various <code>Work</code> processing events (work accepted, 
-     * work rejected, work started, work completed) occur.
-     *
-     * @return the time elapsed (in milliseconds) from <code>Work</code>
-     * acceptance until start of execution. Note, this does not offer 
-     * real-time guarantees. It is valid to return -1, if the actual start 
-     * delay duration is unknown.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors or start timeout expiration.
-     */
-    long startWork(Work work, long startTimeout, 
-            ExecutionContext execContext, WorkListener workListener) 
-	throws WorkException;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * does not block and returns immediately once a <code>Work</code>
-     * instance has been accepted for processing. There is no guarantee
-     * on when the submitted <code>Work</code> instance would start
-     * execution ie., there is no time constraint to start execution.
-     *
-     * @param work The unit of work to be done.  
-     * Could be long or short-lived.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors.
-     */
-    void scheduleWork(Work work) // startTimeout = INDEFINITE
-	throws WorkException;
-
-    /**
-     * Accepts a <code>Work</code> instance for processing. This call
-     * does not block and returns immediately once a <code>Work</code>
-     * instance has been accepted for processing.
-     *
-     * @param work The unit of work to be done. 
-     * Could be long or short-lived.
-     *
-     * @param startTimeout a time duration (in milliseconds) 
-     * within which the execution of the <code>Work</code> instance must
-     * start. Otherwise, the <code>Work</code> instance is rejected with a
-     * <code>WorkRejectedException</code> set to an appropriate error code 
-     * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
-     * does not offer real-time guarantees.
-     *
-     * @param execContext an object containing the execution
-     * context with which the submitted <code>Work</code> instance must
-     * be executed.
-     *
-     * @param workListener an object which would be notified
-     * when the various <code>Work</code> processing events (work accepted, 
-     * work rejected, work started, work completed) occur.
-     *
-     * @throws WorkRejectedException indicates that a 
-     * <code>Work</code> instance has been rejected from further processing.
-     * This can occur due to internal factors.
-     */
-    void scheduleWork(Work work, long startTimeout, 
-            ExecutionContext execContext, WorkListener workListener) 
-	throws WorkException;
+public interface WorkManager 
+{
+   
+   /**
+    * A constant to indicate timeout duration. A zero timeout value indicates
+    * an action be performed immediately. The WorkManager implementation
+    * must timeout the action as soon as possible.
+    */
+   long IMMEDIATE = 0L;
+   
+   /**
+    * A constant to indicate timeout duration. A maximum timeout value 
+    * indicates that an action be performed arbitrarily without any time 
+    * constraint.
+    */
+   long INDEFINITE = Long.MAX_VALUE;
+   
+   /**
+    * A constant to indicate an unknown start delay duration or other unknown
+    * values.
+    */
+   long UNKNOWN = -1;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * blocks until the <code>Work</code> instance completes execution.
+    * There is no guarantee on when the accepted <code>Work</code> 
+    * instance would start execution ie., there is no time constraint 
+    * to start execution. (that is, startTimeout=INDEFINITE)
+    *
+    * @param work The unit of work to be done.  
+    * Could be long or short-lived.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors.
+    *
+    * @throws WorkCompletedException indicates that a
+    * <code>Work</code> instance has completed execution with an exception.
+    */
+   void doWork(Work work)
+      throws WorkException;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * blocks until the <code>Work</code> instance completes execution.
+    *
+    * @param work The unit of work to be done.  
+    * Could be long or short-lived.
+    *
+    * @param startTimeout a time duration (in milliseconds) 
+    * within which the execution of the <code>Work</code> instance must
+    * start. Otherwise, the <code>Work</code> instance is rejected with a
+    * <code>WorkRejectedException</code> set to an appropriate error code 
+    * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
+    * does not offer real-time guarantees.
+    *
+    * @param execContext an object containing the execution
+    * context with which the submitted <code>Work</code> instance must
+    * be executed.
+    *
+    * @param workListener an object which would be notified
+    * when the various <code>Work</code> processing events (work accepted, 
+    * work rejected, work started, work completed) occur.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors or start timeout expiration.
+    *
+    * @throws WorkCompletedException indicates that a
+    * <code>Work</code> instance has completed execution with an exception.
+    */
+   void doWork(Work work,
+               long startTimeout, 
+               ExecutionContext execContext, 
+               WorkListener workListener) 
+      throws WorkException;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * blocks until the <code>Work</code> instance starts execution
+    * but not until its completion. There is no guarantee on when
+    * the accepted <code>Work</code> instance would start
+    * execution ie., there is no time constraint to start execution
+    * (that is, startTimeout=INDEFINITE)
+    *
+    * @param work The unit of work to be done.  
+    * Could be long or short-lived.
+    *
+    * @return the time elapsed (in milliseconds) from <code>Work</code>
+    * acceptance until start of execution. Note, this does not offer 
+    * real-time guarantees. It is valid to return -1, if the actual start 
+    * delay duration is unknown.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors.
+    */
+   long startWork(Work work)
+      throws WorkException;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * blocks until the <code>Work</code> instance starts execution
+    * but not until its completion. There is no guarantee on when
+    * the accepted <code>Work</code> instance would start
+    * execution ie., there is no time constraint to start execution.
+    *
+    * @param work The unit of work to be done.  
+    * Could be long or short-lived.
+    *
+    * @param startTimeout a time duration (in milliseconds) 
+    * within which the execution of the <code>Work</code> instance must
+    * start. Otherwise, the <code>Work</code> instance is rejected with a
+    * <code>WorkRejectedException</code> set to an appropriate error code 
+    * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
+    * does not offer real-time guarantees.
+    *
+    * @param execContext an object containing the execution
+    * context with which the submitted <code>Work</code> instance must
+    * be executed.
+    *
+    * @param workListener an object which would be notified
+    * when the various <code>Work</code> processing events (work accepted, 
+    * work rejected, work started, work completed) occur.
+    *
+    * @return the time elapsed (in milliseconds) from <code>Work</code>
+    * acceptance until start of execution. Note, this does not offer 
+    * real-time guarantees. It is valid to return -1, if the actual start 
+    * delay duration is unknown.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors or start timeout expiration.
+    */
+   long startWork(Work work, 
+                  long startTimeout, 
+                  ExecutionContext execContext, 
+                  WorkListener workListener) 
+      throws WorkException;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * does not block and returns immediately once a <code>Work</code>
+    * instance has been accepted for processing. There is no guarantee
+    * on when the submitted <code>Work</code> instance would start
+    * execution ie., there is no time constraint to start execution
+    * (that is, startTimeout=INDEFINITE).
+    *
+    * @param work The unit of work to be done.  
+    * Could be long or short-lived.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors.
+    */
+   void scheduleWork(Work work)
+      throws WorkException;
+   
+   /**
+    * Accepts a <code>Work</code> instance for processing. This call
+    * does not block and returns immediately once a <code>Work</code>
+    * instance has been accepted for processing.
+    *
+    * @param work The unit of work to be done. 
+    * Could be long or short-lived.
+    *
+    * @param startTimeout a time duration (in milliseconds) 
+    * within which the execution of the <code>Work</code> instance must
+    * start. Otherwise, the <code>Work</code> instance is rejected with a
+    * <code>WorkRejectedException</code> set to an appropriate error code 
+    * (<code>WorkRejectedException.TIMED_OUT</code>). Note, this
+    * does not offer real-time guarantees.
+    *
+    * @param execContext an object containing the execution
+    * context with which the submitted <code>Work</code> instance must
+    * be executed.
+    *
+    * @param workListener an object which would be notified
+    * when the various <code>Work</code> processing events (work accepted, 
+    * work rejected, work started, work completed) occur.
+    *
+    * @throws WorkException Thrown if an error occurs
+    *
+    * @throws WorkRejectedException indicates that a 
+    * <code>Work</code> instance has been rejected from further processing.
+    * This can occur due to internal factors.
+    */
+   void scheduleWork(Work work,
+                     long startTimeout, 
+                     ExecutionContext execContext, 
+                     WorkListener workListener) 
+      throws WorkException;
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkRejectedException.java
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkRejectedException.java	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/WorkRejectedException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source
-* Copyright 2008, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2009, 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 javax.resource.spi.work;
 
@@ -38,50 +38,60 @@
  * @version 1.0
  * @author  Ram Jeyaraman
  */
-public class WorkRejectedException extends WorkException {
+public class WorkRejectedException extends WorkException
+{
+   /** Serial version uid */
+   private static final long serialVersionUID = -687129544691878081L;
+   
+   /**
+    * Constructs a new instance with null as its detail message.
+    */
+   public WorkRejectedException() 
+   {
+      super();
+   }
 
-    /**
-     * Constructs a new instance with null as its detail message.
-     */
-    public WorkRejectedException() { super(); }
+   /**
+    * Constructs a new instance with the specified detail message.
+    *
+    * @param message the detail message.
+    */
+   public WorkRejectedException(String message) 
+   {
+      super(message);
+   }
+   
+   /**
+    * Constructs a new throwable with the specified cause.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public WorkRejectedException(Throwable cause) 
+   {
+      super(cause);
+   }
 
-    /**
-     * Constructs a new instance with the specified detail message.
-     *
-     * @param message the detail message.
-     */
-    public WorkRejectedException(String message) {
-	super(message);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and cause.
+    *
+    * @param message the detail message.
+    *
+    * @param cause a chained exception of type <code>Throwable</code>.
+    */
+   public WorkRejectedException(String message, Throwable cause) 
+   {
+      super(message, cause);
+   }
 
-    /**
-     * Constructs a new throwable with the specified cause.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public WorkRejectedException(Throwable cause) {
-	super(cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and cause.
-     *
-     * @param message the detail message.
-     *
-     * @param cause a chained exception of type <code>Throwable</code>.
-     */
-    public WorkRejectedException(String message, Throwable cause) {
-	super(message, cause);
-    }
-
-    /**
-     * Constructs a new throwable with the specified detail message and
-     * an error code.
-     *
-     * @param message a description of the exception.
-     * @param errorCode a string specifying the vendor specific error code.
-     */
-    public WorkRejectedException(String message, String errorCode) {
-	super(message, errorCode);
-    }
+   /**
+    * Constructs a new throwable with the specified detail message and
+    * an error code.
+    *
+    * @param message a description of the exception.
+    * @param errorCode a string specifying the vendor specific error code.
+    */
+   public WorkRejectedException(String message, String errorCode)
+   {
+      super(message, errorCode);
+   }
 }

Modified: projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/package.html
===================================================================
--- projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/package.html	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-connector-api_1.6_spec/src/main/javax/resource/spi/work/package.html	2010-01-28 22:28:11 UTC (rev 100091)
@@ -2,6 +2,6 @@
 <head>
 </head>
 <body>
-This package contains APIs for the Work Management, Generic Inflow and Security Inflow contracts.
+This package contains APIs for the Work Management, Generic Work and Security Work contracts.
 </body>
 </html>

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/pom.xml	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+<!--
+  vim:ts=2:sw=2:expandtab
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.spec</groupId>
+    <artifactId>jboss-spec-parent</artifactId>
+    <version>6.0.0-SNAPSHOT</version>
+    <relativePath>../jboss-spec-parent/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.spec.javax.ejb</groupId>
+  <artifactId>jboss-ejb-api_3.0_spec</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+  <name>EJB 3.0 API</name>
+  <url>http://www.jboss.org</url>
+  <description>The Java EJB 3.0 API classes</description>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.spec.javax.transaction</groupId>
+      <artifactId>jboss-transaction-api_1.0_spec</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.ws.native</groupId>
+      <artifactId>jbossws-native-jaxrpc</artifactId>
+      <version>3.0.4.GA</version>
+    </dependency>
+  </dependencies>
+</project>

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/default.mf
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/default.mf	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/default.mf	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Created-By: @java.vm.version@ (@java.vm.vendor@)
+Specification-Title: @specification.title@
+Specification-Version: @specification.version@
+Specification-Vendor: @specification.vendor@
+Implementation-Title: @implementation.title@
+Implementation-URL: @implementation.url@
+Implementation-Version: @implementation.version@
+Implementation-Vendor: @implementation.vendor@
+Implementation-Vendor-Id: @implementation.vendor.id@


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/etc/default.mf
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Generated.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Generated.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Generated.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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 javax.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * The Generated annoation is used to mark source code that has been generated. 
+ * It can also be used to differentiate user written code from generated code in 
+ * a single file. When used, the value element must have the name of the code 
+ * generator. The recommended convention is to use the fully qualified name of 
+ * the code generator in the value field . For example: com.company.package.classname. 
+ * The date element is used to indicate the date the source was generated. The 
+ * date element must follow the ISO 8601 standard. For example the date element 
+ * would have the following value 2001-07-04T12:08:56.235-0700 which represents 
+ * 2001-07-04 12:08:56 local time in the U.S. Pacific Time time zone. The comment 
+ * element is a place holder for any comments that the code generator may want to 
+ * include in the generated code.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ * @since Common Annotations 1.0
+ */
+ at Documented
+ at Retention(SOURCE)
+ at Target({PACKAGE, TYPE, ANNOTATION_TYPE, METHOD, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, PARAMETER})
+public @interface Generated {
+   /**
+    * This is used by the code generator to mark the generated classes and methods.
+    */
+   String[] value();
+   
+   /**
+    * A place holder for any comments that the code generator may want to include in the generated code.
+    */
+   String comments() default "";
+   
+   /**
+    * Date when the source was generated.
+    */
+   String date() default "";
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PostConstruct.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PostConstruct.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PostConstruct.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * The PostConstruct method is invoked on the newly constructed instance, after
+ * any dependency injection has been performed by the container and before the
+ * first business method is invoked on the bean.
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({METHOD})
+ at Retention(RUNTIME)
+public @interface PostConstruct
+{
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PreDestroy.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PreDestroy.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/PreDestroy.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * The PreDestroy method will execute after any method annotated with the Remove
+ * annotation has completed.
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({METHOD})
+ at Retention(RUNTIME)
+public @interface PreDestroy
+{
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resource.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resource.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resource.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,65 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation;
+
+import static java.lang.annotation.ElementType.*;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The Resource annotation is used to express a dependency on an external
+ * resource in the bean’s environment. The name property refers to the name by
+ * which the resource is to be known in the environment; the type is the
+ * resource manager connection factory type. The authenticationType member
+ * specifies whether the container or bean is to perform authentication. The
+ * shareable member refers to the sharability of resource manager connections.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Target({TYPE, FIELD, METHOD})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface Resource
+{
+   /**
+    * Enums for whether the container or bean is to perform authentication.
+    */
+   public enum AuthenticationType
+   {
+      CONTAINER,
+      APPLICATION
+   }
+
+   String name() default "";
+
+   Class type() default Object.class;
+
+   AuthenticationType authenticationType() default AuthenticationType.CONTAINER;
+
+   boolean shareable() default true;
+
+   String description() default "";
+
+   String mappedName() default "";
+
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resources.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resources.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/Resources.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import javax.annotation.Resource;
+
+/**
+ * Specify a collection of Resources on a bean class.
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({ElementType.TYPE}) 
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface Resources
+{
+   Resource[] value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DeclareRoles.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DeclareRoles.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DeclareRoles.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The Bean Provider is responsible for using the RolesReferenced metadata
+ * annotation or the security-role-ref elements of the deployment descriptor to
+ * declare all the security role names used in the enterprise bean code. The
+ * values must be the security role name that is used as a parameter to the
+ * isCallerInRole(String roleName) method.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({ElementType.TYPE})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface DeclareRoles
+{
+   String[] value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DenyAll.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DenyAll.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/DenyAll.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The DenyAll annotation specifies that no security roles are permitted to
+ * execute the specified method(s).
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({ElementType.METHOD})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface DenyAll
+{
+}
+

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/PermitAll.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/PermitAll.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/PermitAll.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The PermitAll annotation specifies that all security roles are permitted to
+ * execute the specified method(s).
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({ElementType.TYPE, ElementType.METHOD})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface PermitAll
+{
+}
+

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RolesAllowed.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RolesAllowed.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RolesAllowed.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The value of the RolesAllowed annotation is a list of security role names to
+ * be mapped to the security roles that are permitted to execute the specified
+ * method(s).
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target({ElementType.TYPE, ElementType.METHOD})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface RolesAllowed
+{
+   String[] value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RunAs.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RunAs.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/annotation/security/RunAs.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,51 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.annotation.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The Bean Provider can use the RunAs metadata annotation or the Bean Provider
+ * or Application Assembler can use the run-as deployment descriptor element to
+ * define a run-as identity for an enterprise bean in the deployment descriptor.
+ * The run-as identity applies to the enterprise bean as a whole, that is, to
+ * all methods of the enterprise bean’s business, home, component, web service
+ * endpoint interfaces, to the message listener methods of a message-driven
+ * bean, and to the timeout callback method of an enterprise bean, and all
+ * internal methods of the bean that they might in turn call. The value is
+ * the security role the bean runs as.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 57283 $
+ */
+ at Documented
+ at Target(ElementType.TYPE)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface RunAs
+{
+   String value();
+}
+

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/AccessLocalException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/AccessLocalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/AccessLocalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,56 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * An AccessLocalException is thrown to indicate that the caller does not
+ * have permission to call the method. This exception is thrown to local clients.
+ */
+public class AccessLocalException extends EJBException {
+
+  /**
+   * Constructs an AccessLocalException with no detail message.
+   */
+  public AccessLocalException() {
+    super();
+  }
+
+  /**
+   * Constructs an AccessLocalException with the specified detail message.
+   *
+   * @param message - The detailed message
+   */
+  public AccessLocalException(java.lang.String message) {
+    super(message);
+  }
+
+  /**
+   * Constructs an AccessLocalException with the specified detail message and a nested exception.
+   *
+   * @param message - The detailed message
+   * @param ex - The nested exception
+   */
+  public AccessLocalException(java.lang.String message,
+                              java.lang.Exception ex) {
+    super(message,ex);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ActivationConfigProperty.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ActivationConfigProperty.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ActivationConfigProperty.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.*;
+import java.lang.annotation.Target;
+
+
+
+/**
+ * Annotation for adding properties to messaging bean annotations (i.e. @MessageDriven, @Consumer)
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 62510 $
+ */
+ at Retention(RUNTIME)
+ at Target({})
+public @interface ActivationConfigProperty
+{
+   String propertyName();
+
+   String propertyValue();
+}


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ActivationConfigProperty.java
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ApplicationException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ApplicationException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ApplicationException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation for identifying an Exception class as an Application Exception, which does not cause
+ * a transaction rollback
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+ at Target(ElementType.TYPE)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface ApplicationException
+{
+   boolean rollback() default false;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ConcurrentAccessException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ConcurrentAccessException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ConcurrentAccessException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * A ConcurrentAccessException indicates that the client has attempted an invocation on a 
+ * stateful session bean while another invocation is in progress.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class ConcurrentAccessException extends EJBException
+{
+   private static final long serialVersionUID = 1L;
+
+   public ConcurrentAccessException()
+   {
+      super();
+   }
+
+   public ConcurrentAccessException(String message)
+   {
+      super(message);
+   }
+
+   public ConcurrentAccessException(String message, Exception ex)
+   {
+      super(message, ex);
+   }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/CreateException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/CreateException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/CreateException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <P>The CreateException exception must be included in the throws clauses of
+ * all create(...) methods define in an enterprise Bean's remote interface.</P>
+ * <P>The exception is used as a standard application-level exception
+ * to report a failure to create an entity EJB object. </P>
+ */
+public class CreateException extends Exception {
+
+  /**
+   * Constructs an CreateException with no detail message. 
+   */
+  public CreateException() {
+    super();
+  }
+
+  /**
+   * Constructs an CreateException with the specified detail message.
+   *
+   * @param message - The detailed message
+   */
+  public CreateException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/DuplicateKeyException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/DuplicateKeyException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/DuplicateKeyException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The DuplicateKeyException exception is thrown if an entity EJB
+ * object cannot be created because an object with the same key already
+ * exists. This exception is thrown by the create methods defined in an
+ * enterprise Bean's home interface.
+ */
+public class DuplicateKeyException extends CreateException {
+
+  /**
+   * Constructs an DuplicateKeyException with no detail message. 
+   */
+  public DuplicateKeyException() {
+    super();
+  }
+
+  /**
+   * Constructs an DuplicateKeyException with the specified detail message.
+   *
+   * @param message - The detailed message
+   */
+  public DuplicateKeyException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJB.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJB.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJB.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import static java.lang.annotation.ElementType.*;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.*;
+import java.lang.annotation.Target;
+
+/**
+ * The EJB annotation denotes a reference to an EJB 3.0 session bean.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 62538 $
+ */
+ at Retention(RUNTIME)
+ at Target({TYPE, METHOD, FIELD}) 
+public @interface EJB
+{
+   String name() default "";
+
+   Class beanInterface() default java.lang.Object.class;
+   
+   String beanName() default "";
+   
+   String mappedName() default "";
+
+   String description() default "";
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBAccessException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBAccessException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBAccessException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * An AccessLocalException is thrown to indicate that the caller does not
+ * have permission to call the method. This exception is thrown to local clients.
+ * @version $Revision: 62510 $
+ */
+public class EJBAccessException extends EJBException {
+
+  /**
+   * Constructs an AccessLocalException with no detail message.
+   */
+  public EJBAccessException() {
+    super();
+  }
+
+  /**
+   * Constructs an AccessLocalException with the specified detail message.
+   *
+   * @param message - The detailed message
+   */
+  public EJBAccessException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBContext.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,161 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import javax.transaction.UserTransaction;
+import java.security.Identity;
+import java.security.Principal;
+import java.util.Properties;
+
+/**
+ * <P>The EJBContext interface provides an instance with access to the
+ * container-provided runtime context of an enterprise Bean instance.</P>
+ * <P>This interface is extended by the SessionContext and EntityContext
+ * interface to provide additional methods specific to the enterprise
+ * Bean type.</P>
+ * @version $Revision: 78512 $
+ */
+public interface EJBContext
+{
+
+  /**
+   * Obtain the enterprise bean's remote home interface.
+   *
+   * @return The enterprise bean's remote home interface.
+   * @exception java.lang.IllegalStateException - if the enterprise bean does not have a remote home interface.
+   */
+  public EJBHome getEJBHome();
+
+  /**
+   * Obtain the enterprise bean's local home interface.
+   *
+   * @return The enterprise bean's local home interface.
+   * @exception java.lang.IllegalStateException - if the enterprise bean does not have a local home interface.
+   */
+  public EJBLocalHome getEJBLocalHome();
+
+  /**
+   * <B>Deprecated.</B> <I>Use the JNDI naming context java:comp/env to access enterprise bean's environment.</I>
+   *
+   * <P>Obtain the enterprise bean's environment properties.</P>
+   *
+   * <P><B>Note:</B> If the enterprise bean has no environment properties this method returns an empty
+   * java.util.Properties object. This method never returns null.</P>
+   *
+   * @return The environment properties for the enterprise bean.
+   */
+  public Properties getEnvironment();
+
+   /**
+    * <B>Deprecated.</B> <I>Use Principal getCallerPrincipal() instead.</I>
+    *
+    * <P>Obtain the java.security.Identity of the caller. This method is deprecated in EJB 1.1.
+    * The Container is allowed to return alway null from this method. The enterprise bean should use
+    * the getCallerPrincipal method instead.</P>
+    *
+    * @return The Identity object that identifies the caller.
+    */
+   public Identity getCallerIdentity();
+
+   /**
+    * Obtains the java.security.Principal of the caller.
+    *
+    * @return The Principal object that identifies the caller. This method never returns null.
+    */
+   public Principal getCallerPrincipal();
+
+
+   /**
+    * <B>Deprecated.</B> <I>Use boolean isCallerInRole(String roleName) instead.</I>
+    *
+    * <P>Test if the caller has a given role.</P>
+    *
+    * <P>This method is deprecated in EJB 1.1. The enterprise bean should use the
+    * isCallerInRole(String roleName) method instead.</P>
+    *
+    * @param role - The java.security.Identity of the role to be tested.
+    * @return True if the caller has the specified role.
+    */
+   public boolean isCallerInRole(Identity role);
+
+   /**
+    * Tests if the caller has a given role.
+    *
+    * @param roleName - The name of the security role. The role must be one of the security roles that
+    * is defined in the deployment descriptor.
+    * @return True if the caller has the specified role.
+    */
+   public boolean isCallerInRole(String roleName);
+
+  /**
+   * Obtain the transaction demarcation interface. Only enterprise beans with bean-managed transactions
+   * are allowed to to use the UserTransaction interface. As entity beans must always use container-managed
+   * transactions, only session beans with bean-managed transactions are allowed to invoke this method.
+   *
+   * @return The UserTransaction interface that the enterprise bean instance can use for transaction demarcation.
+   * @exception java.lang.IllegalStateException - The Container throws the exception if the instance is not
+   * allowed to use the UserTransaction interface (i.e. the instance is of a bean with container-managed
+   * transactions).
+   */
+  public UserTransaction getUserTransaction() throws IllegalStateException;
+
+  /**
+   * Mark the current transaction for rollback. The transaction will become permanently marked for rollback.
+   * A transaction marked for rollback can never commit. Only enterprise beans with container-managed
+   * transactions are allowed to use this method.
+   *
+   * @exception java.lang.IllegalStateException - The Container throws the exception if the instance is not
+   * allowed to use this method (i.e. the instance is of a bean with bean-managed transactions).
+   */
+  public void setRollbackOnly() throws IllegalStateException;
+
+   /**
+    * Test if the transaction has been marked for rollback only. An enterprise bean instance can use
+    * this operation, for example, to test after an exception has been caught, whether it is fruitless
+    * to continue computation on behalf of the current transaction. Only enterprise beans with
+    * container-managed transactions are allowed to use this method.</P>
+    *
+    * @return True if the current transaction is marked for rollback, false otherwise.
+    * @exception java.lang.IllegalStateException - The Container throws the exception if the instance
+    * is not allowed to use this method (i.e. the instance is of a bean with bean-managed transactions).
+    */
+   public boolean getRollbackOnly() throws IllegalStateException;
+   
+   /**
+    * Get access to the EJB Timer Service.
+    *
+    * @exception IllegalStateException The Container throws the exception
+    *    if the instance is not allowed to use this method (e.g. if the bean
+    *    is a stateful session bean)
+    */
+   public TimerService getTimerService() throws IllegalStateException;
+
+   /**
+    * Lookup a resource within the component's private naming context. 
+    *
+    * @param name - Name of the entry (relative to java:comp/env).
+    * @throws IllegalArgumentException - The Container throws the exception if
+    * the given name does not match an entry within the component's environment.
+    */
+   public Object lookup(String name) throws IllegalArgumentException;
+   
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,91 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The EJBException exception is thrown by an enterprise Bean instance to its
+ * container to report that the invoked business method or callback method
+ * could not be completed because of an unexpected error (e.g. the instance
+ * failed to open a database connection).
+ */
+public class EJBException extends RuntimeException
+{
+   /** @since 4.0.2 */
+   private static final long serialVersionUID = 796770993296843510L;
+   private Exception causeException;
+   
+   /**
+    * Constructs an EJBException with no detail message.
+    */
+   public EJBException()
+   {
+      super();
+      causeException = null;
+   }
+   
+   /**
+    * Constructs an EJBException with the specified detailed message.
+    *
+    * @param message - The detailed message.
+    */
+   public EJBException(String message)
+   {
+      super(message);
+      causeException = null;
+   }
+
+   /**
+    * Constructs an EJBException that embeds the originally thrown exception.
+    *
+    * @param ex - The originally thrown exception.
+    */
+   public EJBException(Exception ex)
+   {
+      super(ex);
+      causeException = ex;
+   }
+
+   /**
+    * Constructs an EJBException with the specified message and the
+    * originally throw exception.
+    *
+    * @param message - The detailed message.
+    * @param ex - The originally thrown exception.
+    */
+   public EJBException(String message, Exception ex)
+   {
+      super(message, ex);
+      causeException = ex;
+   }
+
+   /**
+    * Obtain the exception that caused the EJBException being thrown.
+    *
+    * @return The originally thrown exception.
+    */
+   public Exception getCausedByException()
+   {
+      return causeException;
+   }
+
+}
+

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBHome.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBHome.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBHome.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,78 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * <P>The EJBHome interface must be extended by all enterprise Beans' remote home interfaces.
+ * An enterprise Bean's remote home interface defines the methods that allow a remote client to
+ * create, find, and remove EJB objects, as well as home business methods that are not specific to
+ * a bean instance (Session Beans do not have finders and home methods).</P>
+ *
+ * <P>The remote home interface is defined by the enterprise Bean provider and implemented by the
+ * enterprise Bean container.</P>
+ */
+public interface EJBHome extends java.rmi.Remote {
+
+   /**
+    * Remove an EJB object identified by its handle.
+    *
+    * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+    * @exception RemoveException - Thrown if the enterprise Bean or the container does not allow
+    * the client to remove the object.
+    */
+   public void remove(Handle handle) throws RemoteException, RemoveException;
+
+   /**
+    * <P>Remove an EJB object identified by its primary key.</P>
+    *
+    * <P>This method can be used only for an entity bean. An attempt to call this method on
+    * a session bean will result in a RemoteException.</P>
+    *
+    * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+    * @exception RemoveException - Thrown if the enterprise Bean or the container does not allow
+    * the client to remove the object.
+    */
+   public void remove(Object primaryKey) throws RemoteException, RemoveException;
+
+  /**
+   * <P>Obtain the EJBMetaData interface for the enterprise Bean. The EJBMetaData interface allows
+   * the client to obtain information about the enterprise Bean.</P>
+   *
+   * <P>The information obtainable via the EJBMetaData interface is intended to be used by tools.</P>
+   *
+   * @return The enterprise Bean's EJBMetaData interface.
+   * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+   */
+  public EJBMetaData getEJBMetaData() throws RemoteException;
+
+  /**
+   * Obtain a handle for the remote home object. The handle can be used at later time to re-obtain
+   * a reference to the remote home object, possibly in a different Java Virtual Machine.
+   *
+   * @return A handle for the remote home object.
+   * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+   */
+  public HomeHandle getHomeHandle() throws RemoteException;
+
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalHome.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalHome.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalHome.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <p>The EJBLocalHome interface must be extended by all enterprise Beans'
+ * local home interfaces. An enterprise Bean's local home interface defines
+ * the methods that allow local clients to create, find, and remove EJB
+ * objects, as well as home business methods that are not specific to a
+ * bean instance (session Beans do not have finders and home business methods).</p>
+ *
+ * <p>The local home interface is defined by the enterprise Bean provider
+ * and implemented by the enterprise Bean container.</p>
+ */
+public interface EJBLocalHome {
+
+  /**
+   * <p>Remove an EJB object identified by its primary key.</p>
+   *
+   * <p>This method can only be used by local clients of an entity bean.
+   * An attempt to call this method on a session bean will result in an EJBException.</p>
+   *
+   * @param primaryKey - The primary key
+   * @exception RemoveException - Thrown if the enterprise Bean or the container does
+   *                              not allow the client to remove the object.
+   * @exception EJBException - Thrown when the method failed due to a system-level failure.
+   */
+  public void remove(java.lang.Object primaryKey)
+    throws RemoveException, EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalObject.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalObject.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBLocalObject.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,77 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <p>The EJBLocalObject interface must be extended by all enterprise
+ * Beans' local interfaces. An enterprise Bean's local interface provides
+ * the local client view of an EJB object. An enterprise Bean's local interface
+ * defines the business methods callable by local clients.</p>
+ *
+ * <p>The enterprise Bean's local interface is defined by the enterprise Bean
+ * provider and implemented by the enterprise Bean container.</p>
+ */
+public interface EJBLocalObject {
+
+  /**
+   * Obtain the enterprise Bean's local home interface. The local home interface
+   * defines the enterprise Bean's create, finder, remove, and home business methods
+   * that are available to local clients.
+   *
+   * @return A reference to the enterprise Bean's local home interface.
+   * @exception EJBException - Thrown when the method failed due to a system-level failure.
+   */
+  public EJBLocalHome getEJBLocalHome()
+    throws EJBException;
+
+  /**
+   * <p>Obtain the primary key of the EJB local object.</p>
+   *
+   * <p>This method can be called on an entity bean. An attempt to invoke this method
+   * on a session Bean will result in an EJBException.</p>
+   *
+   * @return The EJB local object's primary key.
+   * @exception EJBException - Thrown when the method failed due to a system-level failure.
+   */
+  public java.lang.Object getPrimaryKey()
+    throws EJBException;
+
+  /**
+   * Remove the EJB local object.
+   *
+   * @exception RemoveException - The enterprise Bean or the container does not allow
+   *                              destruction of the object.
+   * @exception EJBException - Thrown when the method failed due to a system-level failure.
+   */
+  public void remove()
+    throws RemoveException, EJBException;
+
+  /**
+   * Test if a given EJB local object is identical to the invoked EJB local object.
+   *
+   * @param obj - An object to test for identity with the invoked object.
+   * @return True if the given EJB local object is identical to the invoked object, false otherwise.
+   * @exception EJBException - Thrown when the method failed due to a system-level failure.
+   */
+  public boolean isIdentical(EJBLocalObject obj)
+    throws EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBMetaData.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBMetaData.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBMetaData.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,79 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <P>The EJBMetaData interface allows a client to obtain the enterprise
+ * Bean's meta-data information. </P>
+ * 
+ * <P>The meta-data is intended for development tools used for building
+ * applications that use deployed enterprise Beans, and for clients using
+ * a scripting language to access the enterprise Bean. </P>
+ * 
+ * <P>Note that the EJBMetaData is not a remote interface. The class that
+ * implements this interface (this class is typically generated by container
+ * tools) must be serializable, and must be a valid RMI/IDL value type. </P>
+ */
+public interface EJBMetaData {
+
+  /**
+   * Obtains the home interface of the enterprise Bean.
+   *
+   * @return The home interface of the enterprise Bean.
+   */
+  public EJBHome getEJBHome();
+
+  /**
+   * Obtains the Class object for the enterprise Bean's home interface.
+   *
+   * @return The class object for the enterprise Bean's home interface.
+   */
+  public Class getHomeInterfaceClass();
+
+   /**
+    * Obtains the Class object for the enterprise Bean's remote interface.
+    *
+    * @return The class object for the enterprise Bean's remote interface.
+    */
+   public Class getRemoteInterfaceClass();
+
+  /**
+   * Obtains the Class object for the enterprise Bean's primary key class.
+   *
+   * @return The class object for the enterprise Bean's primary key class.
+   */
+  public Class getPrimaryKeyClass();
+
+  /**
+   * Tests if the type of the enterprise Bean is "session".
+   *
+   * @return True if the type of the enterprise Bean is session bean.
+   */
+  public boolean isSession();
+
+  /**
+   * Tests if the type of the enterprise Bean is "stateless session".
+   *
+   * @return True if the type of the enterprise Bean is stateless session.
+   */
+  public boolean isStatelessSession();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBObject.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBObject.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBObject.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,87 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+/**
+ * <P>The EJBObject interface is extended by all enterprise Bean's remote
+ * interface. An enterprise Bean's remote interface provides the client's
+ * view of an EJB object. An enterprise Bean's remote interface defines
+ * the business methods callable by a client.</P>
+ * 
+ * <P>Each enterprise Bean has a remote interface. The remote interface must
+ * extend the javax.ejb.EJBObject interface, and define the enterprise Bean
+ * specific business methods.</P>
+ * 
+ * <P>The enterprise Bean's remote interface is defined by the enterprise Bean
+ * provider and implemented by the enterprise Bean container.</P>
+ */
+public interface EJBObject extends Remote {
+
+  /**
+   * Obtain the enterprise Bean's remote home interface. The remote home interface defines the
+   * enterprise Bean's create, finder, remove, and home business methods.
+   *
+   * @return A reference to the enterprise Bean's home interface.
+   * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+   */
+  public EJBHome getEJBHome() throws RemoteException;
+
+   /**
+    * <P>Obtain the primary key of the EJB object.</P>
+    *
+    * <P>This method can be called on an entity bean. An attempt to invoke this method on a session
+    * bean will result in RemoteException.</P>
+    *
+    * @return The EJB object's primary key.
+    * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+    */
+   public Object getPrimaryKey() throws RemoteException;
+
+   /**
+    * Remove the EJB object.
+    *
+    * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+    * @exception RemoveException - The enterprise Bean or the container does not allow destruction of the object.
+    */
+   public void remove() throws RemoteException, RemoveException;
+
+  /**
+   * Obtain a handle for the EJB object. The handle can be used at later time to re-obtain a
+   * reference to the EJB object, possibly in a different Java Virtual Machine.
+   *
+   * @return A handle for the EJB object.
+   * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+   */
+  public Handle getHandle() throws RemoteException;
+
+  /**
+   * Tests if a given EJB object is identical to the invoked EJB object.
+   *
+   * @param ejbo - An object to test for identity with the invoked object.
+   * @return True if the given EJB object is identical to the invoked object, false otherwise.
+   * @exception java.rmi.RemoteException - Thrown when the method failed due to a system-level failure.
+   */
+  public boolean isIdentical(EJBObject ejbo) throws RemoteException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRequiredException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRequiredException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRequiredException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,47 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * This exception indicates that a request carried a null transaction context,
+ * but the target object requires an activate transaction.
+ * 
+ * @version $Revision: 37459 $
+ */
+public class EJBTransactionRequiredException extends EJBException {
+
+  /**
+   * Constructs a TransactionRequiredLocalException with no detail message.
+   */
+  public EJBTransactionRequiredException() {
+    super();
+  }
+
+  /**
+   * Constructs a TransactionRequiredLocalException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public EJBTransactionRequiredException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRolledbackException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRolledbackException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBTransactionRolledbackException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,60 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * This exception indicates that the transaction associated with processing
+ * of the request has been rolled back, or marked to roll back. Thus the
+ * requested operation either could not be performed or was not performed
+ * because further computation on behalf of the transaction would be fruitless.
+ * 
+ * @version $Revision: 62510 $
+ */
+public class EJBTransactionRolledbackException extends EJBException {
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with no detail message.
+   */
+  public EJBTransactionRolledbackException() {
+    super();
+  }
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public EJBTransactionRolledbackException(String message) {
+    super(message);
+  }
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with the specified detail
+   * message and a nested exception.
+   *
+   * @param message - The detailed message.
+   * @param ex - The originally thrown exception.
+   */
+  public EJBTransactionRolledbackException(String message,Exception ex) {
+    super(message,ex);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBs.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBs.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EJBs.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import javax.ejb.EJB;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The EJBs annotation is used to specify multiple EJB 3.0 session bean
+ * references on a bean class.
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 45433 $
+ */
+ at Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME)
+public @interface EJBs
+{
+   EJB[] value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EnterpriseBean.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EnterpriseBean.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EnterpriseBean.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,29 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The EnterpriseBean interface must be implemented by every enterprise Bean class.
+ * It is a common superinterface for the SessionBean, EntityBean and MessageDrivenBean interfaces.
+ */
+public interface EnterpriseBean extends java.io.Serializable {
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityBean.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityBean.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityBean.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,148 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * The EntityBean interface is implemented by every entity enterprise
+ * Bean class. The container uses the EntityBean methods to notify the
+ * enterprise Bean instances of the instance's life cycle events.
+ */
+public interface EntityBean extends EnterpriseBean {
+
+   /**
+    * <P>Set the associated entity context. The container invokes this method on an instance
+    * after the instance has been created.</P>
+    *
+    * <P>This method is called in an unspecified transaction context.</P>
+    *
+    * @param ctx - An EntityContext interface for the instance. The instance should store the
+    * reference to the context in an instance variable.
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void setEntityContext(EntityContext ctx) throws EJBException, RemoteException;
+
+   /**
+    * <P>Unset the associated entity context. The container calls this method before removing the instance.</P>
+    *
+    * <P>This is the last method that the container invokes on the instance. The Java garbage collector
+    * will eventually invoke the finalize() method on the instance.</P>
+    *
+    * <P>This method is called in an unspecified transaction context.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void unsetEntityContext() throws EJBException, RemoteException;
+
+   /**
+    * <P>A container invokes this method before it removes the EJB object that is currently associated
+    * with the instance. This method is invoked when a client invokes a remove operation on the enterprise
+    * Bean's home interface or the EJB object's remote interface. This method transitions the instance from
+    * the ready state to the pool of available instances.</P>
+    *
+    * <P>This method is called in the transaction context of the remove operation.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void ejbRemove() throws RemoveException, EJBException, RemoteException;
+
+  /**
+   * <P>A container invokes this method when the instance is taken out of the pool of available
+   * instances to become associated with a specific EJB object. This method transitions the instance
+   * to the ready state.</P>
+   *
+   * <P>This method executes in an unspecified transaction context.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+   * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+   * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+   * instead of this exception.
+   */
+  public void ejbActivate() throws EJBException, RemoteException;
+
+   /**
+    * <P>A container invokes this method on an instance before the instance becomes disassociated with
+    * a specific EJB object. After this method completes, the container will place the instance into the
+    * pool of available instances.</P>
+    *
+    * <P>This method executes in an unspecified transaction context.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void ejbPassivate() throws EJBException, RemoteException;
+
+  /**
+   * <P>A container invokes this method to instruct the instance to synchronize its state by loading
+   * it state from the underlying database.</P>
+   *
+   * <P>This method always executes in the transaction context determined by the value of the transaction
+   * attribute in the deployment descriptor.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+   * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+   * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+   * instead of this exception.
+   */
+  public void ejbLoad() throws EJBException, RemoteException;
+
+  /**
+   * <P>A container invokes this method to instruct the instance to synchronize its state by storing it to
+   * the underlying database.</P>
+   *
+   * <P>This method always executes in the transaction context determined by the value of the transaction
+   * attribute in the deployment descriptor.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+   * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+   * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+   * instead of this exception.
+   */
+  public void ejbStore() throws EJBException, RemoteException;
+
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityContext.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/EntityContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,86 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <P>The EntityContext interface provides an instance with access to
+ * the container-provided runtime context of an entity enterprise Bean
+ * instance. The container passes the EntityContext interface to an entity
+ * enterprise Bean instance after the instance has been created.</P>
+ * 
+ * <P>The EntityContext interface remains associated with the instance for the
+ * lifetime of the instance. Note that the information that the instance
+ * obtains using the EntityContext interface (such as the result of the
+ * getPrimaryKey() method) may change, as the container assigns the instance
+ * to different EJB objects during the instance's life cycle.</P>
+ */
+public interface EntityContext extends EJBContext {
+
+  /**
+   * <P>Obtain a reference to the EJB local object that is currently associated with the instance.</P>
+   *
+   * <P>An instance of an entity enterprise Bean can call this method only when the instance is associated
+   * with an EJB local object identity, i.e. in the ejbActivate, ejbPassivate, ejbPostCreate, ejbRemove, ejbLoad,
+   * ejbStore, and business methods.</P>
+   *
+   * <P>An instance can use this method, for example, when it wants to pass a reference to itself in a
+   * method argument or result.</P>
+   *
+   * @return The EJB local object currently associated with the instance.
+   * @exception java.lang.IllegalStateException - if the instance invokes this method while the instance
+   * is in a state that does not allow the instance to invoke this method, or if the instance does not have
+   * a local interface.
+   */
+  public EJBLocalObject getEJBLocalObject() throws IllegalStateException;
+
+  /**
+   * <P>Obtain a reference to the EJB object that is currently associated with the instance.</P>
+   *
+   * <P>An instance of an entity enterprise Bean can call this method only when the instance is associated
+   * with an EJB object identity, i.e. in the ejbActivate, ejbPassivate, ejbPostCreate, ejbRemove, ejbLoad,
+   * ejbStore, and business methods.</P>
+   *
+   * <P>An instance can use this method, for example, when it wants to pass a reference to itself in a method
+   * argument or result.</P>
+   *
+   * @return The EJB object currently associated with the instance.
+   * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the instance
+   * is in a state that does not allow the instance to invoke this method, or if the instance does not have a
+   * remote interface.
+   */
+  public EJBObject getEJBObject() throws IllegalStateException;
+
+  /**
+   * <P>Obtain the primary key of the EJB object that is currently associated with this instance.</P>
+   *
+   * <P>An instance of an entity enterprise Bean can call this method only when the instance is associated
+   * with an EJB object identity, i.e. in the ejbActivate, ejbPassivate, ejbPostCreate, ejbRemove, ejbLoad,
+   * ejbStore, and business methods.</P>
+   *
+   * <P><B>Note:</B> The result of this method is that same as the result of getEJBObject().getPrimaryKey().</P>
+   *
+   * @return The primary key currently associated with the instance.
+   * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the
+   * instance is in a state that does not allow the instance to invoke this method.
+   */
+  public Object getPrimaryKey() throws IllegalStateException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/FinderException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/FinderException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/FinderException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <P>The FinderException exception must be included in the throws clause
+ * of every findMETHOD(...) method of an entity Bean's home interface.</P>
+ * 
+ * <P>The exception is used as a standard application-level exception to,
+ * report a failure to find the requested EJB object(s).</P>
+ */
+public class FinderException extends Exception {
+
+  /**
+   * Constructs an FinderException with no detail message.
+   */
+  public FinderException() {
+    super();
+  }
+
+  /**
+   * Constructs an FinderException with the specified detail message.
+   *
+   * @param message The detailed message.
+   */
+  public FinderException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Handle.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Handle.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Handle.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * The Handle interface is implemented by all EJB object handles. A handle
+ * is an abstraction of a network reference to an EJB object. A handle is
+ * intended to be used as a "robust" persistent reference to an EJB object.
+ */
+public interface Handle extends java.io.Serializable {
+
+  /**
+   * Obtains the EJB object reference represented by this handle.
+   *
+   * @return The EJB object reference represented by this handle.
+   * @exception java.rmi.RemoteException - The EJB object could not be obtained because of a
+   * system-level failure.
+   */
+  public EJBObject getEJBObject() throws RemoteException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/HomeHandle.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/HomeHandle.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/HomeHandle.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * The HomeHandle interface is implemented by all home object handles. A
+ * handle is an abstraction of a network reference to a home object. A
+ * handle is intended to be used as a "robust" persistent reference to a
+ * home object.
+ */
+public interface HomeHandle extends java.io.Serializable {
+
+  /**
+   * Obtains the home object represented by this handle.
+   *
+   * @return The home object represented by this handle.
+   * @exception java.rmi.RemoteException - The home object could not be obtained because of a
+   * system-level failure.
+   */
+  public EJBHome getEJBHome() throws RemoteException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Init.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Init.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Init.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation to mark a method that will initialize a stateful session
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 62510 $
+ */
+ at Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+public @interface Init{
+   String value() default "";
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Local.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Local.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Local.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Bean class annotation that specifies remote interfaces of the Session bean.
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({ElementType.TYPE})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface Local
+{
+   Class[] value() default {};
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/LocalHome.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/LocalHome.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/LocalHome.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2010, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation for specifying the local home interface for a bean
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 39861 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+public @interface LocalHome
+{
+   Class value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDriven.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDriven.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDriven.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,44 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The MessageDriven annotation specifies that the enterprise bean is a
+ * message-driven bean. This annotation is applied to the bean class.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 42322 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+   public @interface MessageDriven
+{
+   String name() default "";
+   Class messageListenerInterface() default Object.class;
+   ActivationConfigProperty[] activationConfig() default {};
+   String mappedName() default "";
+   String description() default "";
+}


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDriven.java
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenBean.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenBean.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenBean.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,54 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The MessageDrivenBean interface is implemented by every message driven
+ * enterprise bean class.  The container uses the MessageDrivenBean methods
+ * to notify the enterprise bean instances of the instance's life cycle events.
+ */
+public interface MessageDrivenBean extends EnterpriseBean {
+
+  /**
+   * <P>Set the associated message-driven context. The container calls this method after the
+   * instance creation.</P>
+   *
+   * <P>The enterprise Bean instance should store the reference to the context object in an instance
+   * variable.</P>
+   *
+   * <P>This method is called with no transaction context.</P>
+   *
+   * @param ctx - A MessageDrivenContext interface for the instance.
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   */
+  public void setMessageDrivenContext( MessageDrivenContext ctx ) throws EJBException;
+   
+   /**
+    * <P>A container invokes this method before it ends the life of the message-driven object.
+    * This happens when a container decides to terminate the message-driven object.</P>
+    *
+    * <P>This method is called with no transaction context.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    */
+   public void ejbRemove() throws EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenContext.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/MessageDrivenContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <P>The MessageDrivenContext interface provides an instance with access
+ * to the container-provided runtime context of a message-driven enterprise
+ * bean instance. The container passes the MessageDrivenContext interface
+ * to an entity enterprise Bean instance after the instance has been
+ * created.</P>
+ * 
+ * <P>The MessageDrivenContext interface remains associated with the
+ * instance for the lifetime of the instance.
+ */
+
+public interface MessageDrivenContext extends EJBContext {
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEJBException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEJBException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEJBException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,58 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * A NoSuchEJBException is thrown if an attempt is made to invoke
+ * a method on an object that no longer exists.
+ * @version $Revision: 57789 $
+ */
+public class NoSuchEJBException extends EJBException {
+   private static final long serialVersionUID = -4861625171310593950L;
+
+  /**
+   * Constructs a NoSuchEJBException with no detail message.
+   */
+  public NoSuchEJBException() {
+    super();
+  }
+
+  /**
+   * Constructs a NoSuchEJBException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public NoSuchEJBException(String message) {
+    super(message);
+  }
+
+  /**
+   * Constructs a NoSuchEJBException with the specified detail message and a
+   * nested exception.
+   *
+   * @param message - The detailed message.
+   * @param ex - The originally thrown exception.
+   */
+  public NoSuchEJBException(String message, Exception ex) {
+    super(message,ex);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEntityException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEntityException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchEntityException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,60 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <p>The NoSuchEntityException exception is thrown by an Entity Bean
+ * instance to its container to report that the invoked business method
+ * or callback method could not be completed because of the underlying
+ * entity was removed from the database.</p>
+ *
+ * <p>This exception may be thrown by the bean class methods that implement
+ * the business methods defined in the bean's component interface; and by the
+ * ejbLoad and ejbStore methods.</p>
+ */
+public class NoSuchEntityException extends EJBException {
+
+  /**
+   * Constructs a NoSuchEntityException with no detail message.
+   */
+  public NoSuchEntityException() {
+    super();
+  }
+
+  /**
+   * Constructs a NoSuchEntityException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public NoSuchEntityException(String message) {
+    super(message);
+  }
+   
+   /**
+    * Constructs a NoSuchEntityException that embeds the originally thrown exception.
+    *
+    * @param ex - The originally thrown exception.
+    */
+   public NoSuchEntityException(Exception ex) {
+     super(ex);
+   }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchObjectLocalException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchObjectLocalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/NoSuchObjectLocalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,56 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * A NoSuchObjectLocalException is thrown if an attempt is made to invoke
+ * a method on an object that no longer exists.
+ */
+public class NoSuchObjectLocalException extends EJBException {
+
+  /**
+   * Constructs a NoSuchObjectLocalException with no detail message.
+   */
+  public NoSuchObjectLocalException() {
+    super();
+  }
+
+  /**
+   * Constructs a NoSuchObjectLocalException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public NoSuchObjectLocalException(String message) {
+    super(message);
+  }
+
+  /**
+   * Constructs a NoSuchObjectLocalException with the specified detail message and a
+   * nested exception.
+   *
+   * @param message - The detailed message.
+   * @param ex - The originally thrown exception.
+   */
+  public NoSuchObjectLocalException(String message, Exception ex) {
+    super(message,ex);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ObjectNotFoundException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ObjectNotFoundException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/ObjectNotFoundException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * <p>The ObjectNotFoundException exception is thrown by a finder method
+ * to indicate that the specified EJB object does not exist.</p>
+ *
+ * <p>Only the finder methods that are declared to return a single EJB object
+ * use this exception. This exception should not be thrown by finder methods
+ * that return a collection of EJB objects (they should return an empty collection
+ * instead).</p>
+ */
+public class ObjectNotFoundException extends FinderException {
+
+  /**
+   * Constructs an ObjectNotFoundException with no detail message.
+   */
+  public ObjectNotFoundException() {
+    super();
+  }
+
+  /**
+   * Constructs an ObjectNotFoundException with the specified detail message.
+   *
+   * @param message - The detailed message.
+   */
+  public ObjectNotFoundException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PostActivate.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PostActivate.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PostActivate.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * An ejbActivate type of callback marker. The method may be called ejbActivate,
+ * or any signature matching:
+ *    public void <METHOD>()
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({METHOD}) @Retention(RUNTIME)
+public @interface PostActivate
+{
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PrePassivate.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PrePassivate.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/PrePassivate.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * An ejbPassivate type of callback marker. The method may be called ejbPassivate,
+ * or any signature matching:
+ *    public void <METHOD>()
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({METHOD}) @Retention(RUNTIME)
+public @interface PrePassivate
+{
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remote.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remote.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remote.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Bean class annotation that specifies remote interfaces of the Session bean.
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({ElementType.TYPE})
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface Remote
+{
+   Class[] value() default {};
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoteHome.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoteHome.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoteHome.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2010, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation for specifying the remote home interface for a bean
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 39861 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+public @interface RemoteHome
+{
+   Class value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remove.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remove.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Remove.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation to mark a method that will remove a stateful session on completion
+ *
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME)
+public @interface Remove
+{
+   boolean retainIfException() default false;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoveException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoveException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/RemoveException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The RemoveException exception is thrown at an attempt to remove an EJB
+ * object when the enterprise Bean or the container does not allow the EJB
+ * object to be removed.
+ */
+public class RemoveException extends Exception {
+
+  /**
+   * Constructs an RemoveException with no detail message.
+   */
+  public RemoveException() {
+    super();
+  }
+
+  /**
+   * Constructs an RemoveException with the specified detail message.
+   *
+   * @param message - The detailed message.
+   */
+  public RemoveException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionBean.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionBean.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionBean.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,98 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * The SessionBean interface is implemented by every session enterprise
+ * Bean class. The container uses the SessionBean methods to notify the
+ * enterprise Bean instances of the instance's life cycle events.
+ */
+public interface SessionBean extends EnterpriseBean {
+
+   /**
+    * <P>Set the associated session context. The container calls this method after the instance creation.</P>
+    *
+    * <P>The enterprise Bean instance should store the reference to the context object in an instance variable.</P>
+    *
+    * <P>This method is called with no transaction context.</P>
+    *
+    * @param ctx - A SessionContext interface for the instance.
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void setSessionContext(SessionContext ctx) throws EJBException, RemoteException;
+
+  /**
+   * <P>A container invokes this method before it ends the life of the session object. This happens
+   * as a result of a client's invoking a remove operation, or when a container decides to terminate
+   * the session object after a timeout.</P>
+   *
+   * <P>This method is called with no transaction context.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+   * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+   * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+   * instead of this exception.
+   */
+  public void ejbRemove() throws EJBException, RemoteException;
+
+   /**
+    * <P>The activate method is called when the instance is activated from its "passive" state.
+    * The instance should acquire any resource that it has released earlier in the ejbPassivate() method.</P>
+    *
+    * <P>This method is called with no transaction context.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void ejbActivate() throws EJBException, RemoteException;
+
+   /**
+    * <P>The passivate method is called before the instance enters the "passive" state. The instance should
+    * release any resources that it can re-acquire later in the ejbActivate() method.</P>
+    *
+    * <P>After the passivate method completes, the instance must be in a state that allows the container to
+    * use the Java Serialization protocol to externalize and store away the instance's state.</P>
+    *
+    * <P>This method is called with no transaction context.</P>
+    *
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide
+    * backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans
+    * written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException
+    * instead of this exception.
+    */
+   public void ejbPassivate() throws EJBException, RemoteException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionContext.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,98 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import javax.xml.rpc.handler.MessageContext;
+
+/**
+ * The SessionContext interface provides access to the runtime session
+ * context that the container provides for a session enterprise Bean
+ * instance. The container passes the SessionContext interface to an
+ * instance after the instance has been created. The session context
+ * remains associated with the instance for the lifetime of the instance.
+ * @version $Revision: 61191 $
+ */
+public interface SessionContext extends EJBContext
+{
+
+  /**
+   * <P>Obtain a reference to the EJB local object that is currently associated with the instance.</P>
+   *
+   * <P>An instance of an entity enterprise Bean can call this method only when the instance is associated
+   * with an EJB local object identity, i.e. in the ejbActivate, ejbPassivate, ejbPostCreate, ejbRemove, ejbLoad,
+   * ejbStore, and business methods.</P>
+   *
+   * <P>An instance can use this method, for example, when it wants to pass a reference to itself in a method
+   * argument or result.</P>
+   *
+   * @return The EJB local object currently associated with the instance.
+   * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the instance
+   * is in a state that does not allow the instance to invoke this method, or if the instance does not have a
+   * local interface.
+   */
+  public EJBLocalObject getEJBLocalObject() throws IllegalStateException;
+
+  /**
+   * <P>Obtain a reference to the EJB object that is currently associated with the instance.</P>
+   *
+   * <P>An instance of a session enterprise Bean can call this method at anytime between the ejbCreate()
+   * and ejbRemove() methods, including from within the ejbCreate() and ejbRemove() methods.</P>
+   *
+   * <P>An instance can use this method, for example, when it wants to pass a reference to itself in a method
+   * argument or result.</P>
+   *
+   * @return The EJB object currently associated with the instance.
+   * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the instance
+   * is in a state that does not allow the instance to invoke this method, or if the instance does not have a
+   * remote interface.
+   */
+  public EJBObject getEJBObject() throws IllegalStateException;
+
+   /** Obtain a reference to the JAX-RPC MessageContext. An instance of a
+    * stateless session bean can call this method from any business method
+    * invoked through its web service endpoint interface. 
+    * 
+    * @return The MessageContext for this web service invocation.
+    * @throws IllegalStateException - Thrown if this method is invoked while
+    * the instance is in a state that does not allow access to this method.
+    */ 
+   public MessageContext getMessageContext() throws IllegalStateException;
+   
+   /** Returns the session bean�s business interface. Only session beans with an EJB 3.0 business interface
+    * can call this method.
+    * 
+    * @return The business interface associated with the instance.
+    * @throws IllegalStateException - Thrown if this method is invoked while
+    * the instance is in a state that does not allow access to this method.
+    */ 
+   public <T> T getBusinessObject(Class<T> businessInterface) throws IllegalStateException;
+   
+   /** Returns the session bean business interface through which the bean was invoked.
+    * 
+    * @return The business interface through which the bean was invoked.
+    * @throws IllegalStateException - Thrown if this method is invoked while
+    * the instance is in a state that does not allow access to this method.
+    */ 
+   public Class getInvokedBusinessInterface() throws IllegalStateException;
+   
+   
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionSynchronization.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionSynchronization.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/SessionSynchronization.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,86 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.rmi.RemoteException;
+
+/**
+ * <P>The SessionSynchronization interface allows a session Bean instance
+ * to be notified by its container of transaction boundaries.</P>
+ * 
+ * <P>An session Bean class is not required to implement this interface. A
+ * session Bean class should implement this interface only if it wishes to
+ * synchronize its state with the transactions.</P>
+ */
+public interface SessionSynchronization {
+
+  /**
+   * <P>The afterBegin method notifies a session Bean instance that a new transaction has started, and that
+   * the subsequent business methods on the instance will be invoked in the context of the transaction.</P>
+   *
+   * <P>The instance can use this method, for example, to read data from a database and cache the data in
+   * the instance fields.</P>
+   *
+   * <P>This method executes in the proper transaction context.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide backward
+   * compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the
+   * EJB 1.1 and higher specifications should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB 2.0 and higher specifications must not throw the java.rmi.RemoteException.
+   */
+  public void afterBegin() throws EJBException, RemoteException;
+
+  /**
+   * <P>The beforeCompletion method notifies a session Bean instance that a transaction is about to be committed.
+   * The instance can use this method, for example, to write any cached data to a database.</P>
+   *
+   * <P>This method executes in the proper transaction context.</P>
+   *
+   * <P><B>Note:</B> The instance may still cause the container to rollback the transaction by invoking the
+   * setRollbackOnly() method on the instance context, or by throwing an exception.</P>
+   *
+   * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+   * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide backward
+   * compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the
+   * EJB 1.1 and higher specifications should throw the javax.ejb.EJBException instead of this exception.
+   * Enterprise beans written for the EJB 2.0 and higher specifications must not throw the java.rmi.RemoteException.
+   */
+  public void beforeCompletion() throws EJBException, RemoteException;
+
+   /**
+    * <P>The afterCompletion method notifies a session Bean instance that a transaction commit protocol has
+    * completed, and tells the instance whether the transaction has been committed or rolled back.</P>
+    *
+    * <P>This method executes with no transaction context.</P>
+    *
+    * <P>This method executes with no transaction context.</P>
+    *
+    * @param committed - True if the transaction has been committed, false if is has been rolled back.
+    * @exception EJBException - Thrown by the method to indicate a failure caused by a system-level error.
+    * @exception java.rmi.RemoteException - This exception is defined in the method signature to provide backward
+    * compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the
+    * EJB 1.1 and higher specifications should throw the javax.ejb.EJBException instead of this exception.
+    * Enterprise beans written for the EJB 2.0 and higher specifications must not throw the java.rmi.RemoteException.
+    */
+   public void afterCompletion(boolean committed) throws EJBException, RemoteException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateful.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateful.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateful.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * A stateful session bean must be annotated with the Stateful annotation or
+ * denoted in the deployment descriptor as a stateful session bean. If other
+ * annotations are applied to the bean class or its members, the Stateful
+ * annotation must be used. The bean class does not implement the
+ * javax.ejb.SessionBean interface.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 42322 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+   public @interface Stateful
+{
+   String name() default "";
+   String mappedName() default "";
+   String description() default "";
+}
+

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateless.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateless.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Stateless.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * A stateless session bean must be annotated with the Stateless annotation or
+ * denoted in the deployment descriptor as a stateless session bean. If other
+ * annotations are applied to the bean class or its members, the Stateless
+ * annotation must be used. The bean class does not implement the
+ * javax.ejb.SessionBean interface.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 42322 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+   public @interface Stateless
+{
+   String name() default "";
+   String mappedName() default "";
+   String description() default "";
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimedObject.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimedObject.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimedObject.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,37 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * The TimedObject interface contains the callback method that is used
+ * to deliver timer expiration notifications. It is implemented by an
+ * entity bean or stateless session bean or message-driven bean class.
+ **/
+public interface TimedObject {
+   
+   /**
+    * Invoked by the EJB container upon timer expiration.
+    *
+    * @param timer Timer whose expiration caused this notification
+    **/
+   public void ejbTimeout( Timer timer );
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timeout.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timeout.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timeout.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * Marks an ejbTimeout callback method:
+ *    public void <METHOD>(Timer timer)
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({METHOD}) @Retention(RUNTIME)
+public @interface Timeout
+{
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timer.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timer.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/Timer.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,112 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * The Timer interface contains information about a timer that was created
+ * through the EJB Timer Service
+ **/
+public interface Timer {
+   
+   /**
+    * Cause the timer and all its associated expiration notifications to be cancelled.
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public void cancel()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+   
+   /**
+    * Get the number of milliseconds that will elapse before the next scheduled timer expiration.
+    *
+    * @return Number of milliseconds that will elapse before the next scheduled timer expiration.
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public long getTimeRemaining()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+   
+   /**
+    * Get the point in time at which the next timer expiration is scheduled to occur.
+    *
+    * @return Get the point in time at which the next timer expiration is scheduled to occur.
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Date getNextTimeout()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+   
+   /**
+    * Get the information associated with the timer at the time of creation.
+    *
+    * @return The Serializable object that was passed in at timer creation, or null if the
+    *         info argument passed in at timer creation was null.
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Serializable getInfo()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+   
+   /**
+    * Get a serializable handle to the timer. This handle can be used at a later time to
+    * re-obtain the timer reference.
+    *
+    * @return Handle of the Timer
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public TimerHandle getHandle()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerHandle.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerHandle.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerHandle.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.io.Serializable;
+
+/**
+ * The TimerHandle interface is implemented by all EJB timer handles.
+ **/
+public interface TimerHandle
+    extends Serializable
+{
+   
+   /**
+    * Obtain a reference to the timer represented by this handle.
+    *
+    * @return Timer which this handle represents
+    *
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws NoSuchObjectLocalException If invoked on a timer that has expired or has been cancelled.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Timer getTimer()
+      throws
+         IllegalStateException,
+         NoSuchObjectLocalException,
+         EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerService.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerService.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TimerService.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,145 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * The TimerService interface provides enterprise bean components with access to the
+ * container-provided Timer Service. The EJB Timer Service allows entity beans, stateless
+ * session beans, and message-driven beans to be registered for timer callback events at
+ * a specified time, after a specified elapsed time, or after a specified interval.
+ **/
+public interface TimerService {
+   
+   /**
+    * Create a single-action timer that expires after a specified duration.
+    *
+    * @param duration  The number of milliseconds that must elapse before the timer expires.
+    * @param info Application information to be delivered along with the timer expiration
+    *             notification. This can be null.
+    *
+    * @return The newly created Timer. 
+    *
+    * @throws IllegalArgumentException If duration is negative
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Timer createTimer( long duration, Serializable info )
+      throws
+         IllegalArgumentException,
+         IllegalStateException,
+         EJBException;
+   
+   /**
+    * Create an interval timer whose first expiration occurs after a specified duration,
+    * and whose subsequent expirations occur after a specified interval.
+    *
+    * @param initialDuration The number of milliseconds that must elapse before the first
+    *                        timer expiration notification.
+    * @param intervalDuration The number of milliseconds that must elapse between timer
+    *                         expiration notifications. Expiration notifications are
+    *                         scheduled relative to the time of the first expiration. If
+    *                         expiration is delayed(e.g. due to the interleaving of other
+    *                         method calls on the bean) two or more expiration notifications
+    *                         may occur in close succession to "catch up".
+    * @param info Application information to be delivered along with the timer expiration
+    *             notification. This can be null.
+    *
+    * @return The newly created Timer. 
+    *
+    * @throws IllegalArgumentException If initialDuration is negative, or intervalDuration
+    *                                  is negative.
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Timer createTimer( long initialDuration, long intervalDuration, Serializable info )
+      throws
+         IllegalArgumentException,
+         IllegalStateException,
+         EJBException;
+   
+   /**
+    * Create a single-action timer that expires at a given point in time.
+    *
+    * @param expiration The point in time at which the timer must expire.
+    * @param info Application information to be delivered along with the timer expiration
+    *             notification. This can be null.
+    *
+    * @return The newly created Timer. 
+    *
+    * @throws IllegalArgumentException If expiration is null, or expiration.getTime() is negative.
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Timer createTimer( Date expiration, Serializable info )
+      throws
+         IllegalArgumentException,
+         IllegalStateException,
+         EJBException;
+   
+   /**
+    * Create an interval timer whose first expiration occurs at a given point in time and
+    * whose subsequent expirations occur after a specified interval.
+    *
+    * @param initialExpiration The point in time at which the first timer expiration must occur.
+    * @param intervalDuration The number of milliseconds that must elapse between timer
+    *                         expiration notifications. Expiration notifications are
+    *                         scheduled relative to the time of the first expiration. If
+    *                         expiration is delayed(e.g. due to the interleaving of other
+    *                         method calls on the bean) two or more expiration notifications
+    *                         may occur in close succession to "catch up".
+    * @param info Application information to be delivered along with the timer expiration
+    *             notification. This can be null.
+    *
+    * @return The newly created Timer. 
+    *
+    * @throws IllegalArgumentException If initialExpiration is null, or initialExpiration.getTime()
+    *                                  is negative, or intervalDuration is negative.
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Timer createTimer( Date initialExpiration, long intervalDuration, Serializable info )
+      throws
+         IllegalArgumentException,
+         IllegalStateException,
+         EJBException;
+   
+   /**
+    * Get all the active timers associated with this bean.
+    *
+    * @return A collection of javax.ejb.Timer objects.
+    * @throws IllegalStateException If this method is invoked while the instance is in
+    *                               a state that does not allow access to this method.
+    * @throws EJBException If this method could not complete due to a system-level failure.
+    **/
+   public Collection getTimers()
+      throws
+         IllegalStateException,
+         EJBException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttribute.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttribute.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttribute.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The TransactionManagement annotation specifies the transaction management
+ * demarcation type of a session bean or message-driven bean.
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+ at Target({ElementType.METHOD, ElementType.TYPE})
+   @Retention(RetentionPolicy.RUNTIME)
+   public @interface TransactionAttribute
+{
+   TransactionAttributeType value() default TransactionAttributeType.REQUIRED;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttributeType.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttributeType.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttributeType.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * Enum for the types of TransactionAttributes
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+public enum TransactionAttributeType
+{
+   MANDATORY,
+   REQUIRED,
+   REQUIRES_NEW,
+   SUPPORTS,
+   NOT_SUPPORTED,
+   NEVER
+}


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionAttributeType.java
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagement.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagement.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagement.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,43 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * The TransactionManagement annotation specifies the transaction management
+ * demarcation type of a session bean or message-driven bean. If the
+ * TransactionManagement annotation is not specified for a session bean or
+ * message-driven bean, the bean is assume to have container managed transaction
+ * demarcation.
+ * 
+ * @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
+ * @version $Revision: 37459 $
+ */
+ at Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
+   public @interface TransactionManagement
+{
+   TransactionManagementType value() default TransactionManagementType.CONTAINER;
+}


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagement.java
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagementType.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagementType.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagementType.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,36 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+
+
+/**
+ * Enums for the TransactionManagement types
+ * 
+ * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @version $Revision: 37459 $
+ */
+public enum TransactionManagementType
+{
+   CONTAINER,
+   BEAN
+}


Property changes on: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionManagementType.java
___________________________________________________________________
Name: svn:executable
   + *

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRequiredLocalException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRequiredLocalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRequiredLocalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * This exception indicates that a request carried a null transaction context,
+ * but the target object requires an activate transaction.
+ */
+public class TransactionRequiredLocalException extends EJBException {
+
+  /**
+   * Constructs a TransactionRequiredLocalException with no detail message.
+   */
+  public TransactionRequiredLocalException() {
+    super();
+  }
+
+  /**
+   * Constructs a TransactionRequiredLocalException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public TransactionRequiredLocalException(String message) {
+    super(message);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRolledbackLocalException.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRolledbackLocalException.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/TransactionRolledbackLocalException.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,58 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb;
+
+/**
+ * This exception indicates that the transaction associated with processing
+ * of the request has been rolled back, or marked to roll back. Thus the
+ * requested operation either could not be performed or was not performed
+ * because further computation on behalf of the transaction would be fruitless.
+ */
+public class TransactionRolledbackLocalException extends EJBException {
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with no detail message.
+   */
+  public TransactionRolledbackLocalException() {
+    super();
+  }
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with the specified detailed message.
+   *
+   * @param message - The detailed message.
+   */
+  public TransactionRolledbackLocalException(String message) {
+    super(message);
+  }
+
+  /**
+   * Constructs a TransactionRolledbackLocalException with the specified detail
+   * message and a nested exception.
+   *
+   * @param message - The detailed message.
+   * @param ex - The originally thrown exception.
+   */
+  public TransactionRolledbackLocalException(String message,Exception ex) {
+    super(message,ex);
+  }
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/spi/HandleDelegate.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/spi/HandleDelegate.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/ejb/spi/HandleDelegate.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,113 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.ejb.spi;
+
+import javax.ejb.EJBHome;
+import javax.ejb.EJBObject;
+
+/**
+ * <P>The HandleDelegate interface is implemented by the EJB container. 
+ * It is used by portable implementations of javax.ejb.Handle and
+ * javax.ejb.HomeHandle. It is not used by EJB components or by client components.
+ * It provides methods to serialize and deserialize EJBObject and EJBHome
+ * references to streams.</P>
+ *
+ * <P>The HandleDelegate object is obtained by JNDI lookup at the reserved name
+ * "java:comp/HandleDelegate".</P>
+ */
+public interface HandleDelegate {
+
+  /**
+   * <P>Serialize the EJBObject reference corresponding to a Handle.</P>
+   *
+   * <P>This method is called from the writeObject method of portable
+   * Handle implementation classes. The ostream object is the same
+   * object that was passed in to the Handle class's writeObject.</P>
+   *
+   * @param ejbObject - The EJBObject reference to be serialized.
+   * @param ostream - The output stream.
+   * @exception java.io.IOException - The EJBObject could not be serialized
+   *                                  because of a system-level failure.
+   */
+  public void writeEJBObject(EJBObject ejbObject,
+                             java.io.ObjectOutputStream ostream)
+    throws java.io.IOException;
+
+
+  /**
+   * <P>Deserialize the EJBObject reference corresponding to a Handle.</P>
+   *
+   * <P>readEJBObject is called from the readObject method of portable
+   * Handle implementation classes. The istream object is the same object
+   * that was passed in to the Handle class's readObject. When readEJBObject
+   * is called, istream must point to the location in the stream at which
+   * the EJBObject reference can be read. The container must ensure that
+   * the EJBObject reference is capable of performing invocations immediately
+   * after deserialization.</P>
+   * 
+   * @param istream - The input stream.
+   * @return The deserialized EJBObject reference.
+   * @exception java.io.IOException - The EJBObject could not be deserialized
+   *                                  because of a system-level failure.
+   * @exception java.lang.ClassNotFoundException - The EJBObject could not be
+   *                                               deserialized because some
+   *                                               class could not be found.
+   */
+  public EJBObject readEJBObject(java.io.ObjectInputStream istream)
+    throws java.io.IOException, java.lang.ClassNotFoundException;
+
+  /**
+   * <P>Serialize the EJBHome reference corresponding to a HomeHandle.</P>
+   *
+   * <P>This method is called from the writeObject method of portable HomeHandle
+   * implementation classes. The ostream object is the same object that was
+   * passed in to the Handle class's writeObject.</P>
+   *
+   * @param ejbHome - The EJBHome reference to be serialized.
+   * @param ostream - The output stream.
+   * @exception java.io.IOException - The EJBObject could not be serialized
+   *                                  because of a system-level failure.
+   */
+  public void writeEJBHome(EJBHome ejbHome,
+                           java.io.ObjectOutputStream ostream)
+    throws java.io.IOException;
+
+  /**
+   * <P>Deserialize the EJBHome reference corresponding to a HomeHandle.</P>
+   *
+   * <P>readEJBHome is called from the readObject method of portable HomeHandle
+   * implementation classes. The istream object is the same object that was
+   * passed in to the HomeHandle class's readObject. When readEJBHome is called,
+   * istream must point to the location in the stream at which the EJBHome reference
+   * can be read. The container must ensure that the EJBHome reference is capable
+   * of performing invocations immediately after deserialization.</P>
+   *
+   * @param istream - The input stream.
+   * @return The deserialized EJBHome reference.
+   * @exception java.io.IOException - The EJBHome could not be deserialized because
+   *                                  of a system-level failure.
+   * @exception java.lang.ClassNotFoundException - The EJBHome could not be deserialized
+   *                                               because some class could not be found.
+   */
+  public EJBHome readEJBHome(java.io.ObjectInputStream istream)
+    throws java.io.IOException, java.lang.ClassNotFoundException;
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/AroundInvoke.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/AroundInvoke.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/AroundInvoke.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.interceptor;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * Defines an interceptor method. The method must have the signature:
+ * public Object <METHOD>(InvocationContext) throws Exception
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44679 $
+ */
+ at Target({METHOD}) @Retention(RUNTIME)
+public @interface AroundInvoke {
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeClassInterceptors.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeClassInterceptors.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeClassInterceptors.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,23 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package javax.interceptor;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 44679 $
+ */
+ at Target({METHOD}) @Retention(RUNTIME)
+public @interface ExcludeClassInterceptors {
+
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeDefaultInterceptors.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeDefaultInterceptors.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/ExcludeDefaultInterceptors.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,24 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ * 
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package javax.interceptor;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 57282 $
+ */
+ at Target({TYPE, METHOD}) @Retention(RUNTIME)
+public @interface ExcludeDefaultInterceptors {
+
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/Interceptors.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/Interceptors.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/Interceptors.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,41 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.interceptor;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
+
+/**
+ * An interceptor class is denoted using the Interceptor annotation on the bean
+ * class with which it is associated. In the case of multiple interceptor
+ * classes, the Interceptors annotation is used.
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 44679 $
+ */
+ at Target({TYPE, METHOD}) @Retention(RUNTIME)
+   public @interface Interceptors
+{
+   Class[] value();
+}

Added: projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/InvocationContext.java
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/InvocationContext.java	                        (rev 0)
+++ projects/javaee/trunk/jboss-ejb-api_3.0_spec/src/main/javax/interceptor/InvocationContext.java	2010-01-28 22:28:11 UTC (rev 100091)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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 javax.interceptor;
+
+import java.lang.reflect.Method;
+
+/**
+ * The InvocationContext object provides the metadata that is required for
+ * AroundInvoke interceptor methods.
+ * 
+ * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
+ * @version $Revision: 57282 $
+ */
+public interface InvocationContext
+{
+   public Object getTarget();
+
+   public Method getMethod();
+
+   public Object[] getParameters();
+
+   public void setParameters(Object[] params);
+
+   /**
+    * Returns the context data associated with this invocation or lifecycle callback. If there is no context data, an empty Map object will be returned.
+    */
+   public java.util.Map<String, Object> getContextData();
+
+   public Object proceed() throws Exception;
+}

Modified: projects/javaee/trunk/jboss-ejb-api_3.1_spec/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-ejb-api_3.1_spec/pom.xml	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-ejb-api_3.1_spec/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -37,7 +37,7 @@
     <dependency>
       <groupId>org.jboss.ws.native</groupId>
       <artifactId>jbossws-native-jaxrpc</artifactId>
-      <version>3.0.4.GA</version>
+      <version>3.2.2.GA</version>
     </dependency>
   </dependencies>
 </project>

Copied: projects/javaee/trunk/jboss-el-api_2.2_spec (from rev 100072, projects/javaee/trunk/jboss-el-api_1.2_spec)

Modified: projects/javaee/trunk/jboss-el-api_2.2_spec/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-el-api_1.2_spec/pom.xml	2010-01-28 19:11:59 UTC (rev 100072)
+++ projects/javaee/trunk/jboss-el-api_2.2_spec/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -7,12 +7,12 @@
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jboss.spec.javax.el</groupId>
-  <artifactId>jboss-el-api_1.2_spec</artifactId>
+  <artifactId>jboss-el-api_2.2_spec</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
-  <name>Expression Language 1.2 API</name>
+  <name>Expression Language 2.2 API</name>
   <url>http://www.jboss.org</url>
-  <description>The Expression Language 1.2 API classes</description>
+  <description>The Expression Language 2.2 API classes</description>
   <reporting>
     <plugins>
       <plugin>

Modified: projects/javaee/trunk/jboss-spec-parent/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-spec-parent/pom.xml	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-spec-parent/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -30,7 +30,7 @@
       </dependency>
       <dependency>
         <groupId>org.jboss.spec.javax.resource</groupId>
-        <artifactId>jboss-connector-api_1.6_spec</artifactId>
+        <artifactId>jboss-connector-api_1.5_spec</artifactId>
         <version>1.0-SNAPSHOT</version>
       </dependency>
       <dependency>
@@ -40,7 +40,7 @@
       </dependency>
       <dependency>
         <groupId>org.jboss.spec.javax.el</groupId>
-        <artifactId>jboss-el-api_1.2_spec</artifactId>
+        <artifactId>jboss-el-api_2.2_spec</artifactId>
         <version>1.0-SNAPSHOT</version>
       </dependency>
       <dependency>

Modified: projects/javaee/trunk/jboss-transaction-api_1.0_spec/pom.xml
===================================================================
--- projects/javaee/trunk/jboss-transaction-api_1.0_spec/pom.xml	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/jboss-transaction-api_1.0_spec/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -13,4 +13,16 @@
   <name>Transaction 1.0.1 API</name>
   <url>http://www.jboss.org</url>
   <description>The Java Transaction 1.0.1 API classes</description>
+    <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+            <source>1.5</source>
+            <target>1.5</target>
+            </configuration>
+          </plugin>
+        </plugins>
+     </build>
+
 </project>

Modified: projects/javaee/trunk/pom.xml
===================================================================
--- projects/javaee/trunk/pom.xml	2010-01-28 22:19:45 UTC (rev 100090)
+++ projects/javaee/trunk/pom.xml	2010-01-28 22:28:11 UTC (rev 100091)
@@ -29,9 +29,11 @@
     
     <!-- individual specs -->
     <module>jboss-annotations-api_1.1_spec</module>
+    <module>jboss-connector-api_1.5_spec</module>
     <module>jboss-connector-api_1.6_spec</module>
+    <module>jboss-ejb-api_3.0_spec</module>
     <module>jboss-ejb-api_3.1_spec</module>
-    <module>jboss-el-api_1.2_spec</module>
+    <module>jboss-el-api_2.2_spec</module>
     <module>jboss-interceptors-api_1.1_spec</module>
     <module>jboss-jacc-api_1.1_spec</module>
     <module>jboss-jad-api_1.2_spec</module>




More information about the jboss-cvs-commits mailing list