You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2008/07/25 16:11:58 UTC
svn commit: r679811 - in /jackrabbit/trunk/jackrabbit-jca/src:
main/java/org/apache/jackrabbit/jca/JCASessionHandle.java
test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java
Author: jukka
Date: Fri Jul 25 07:11:58 2008
New Revision: 679811
URL: http://svn.apache.org/viewvc?rev=679811&view=rev
Log:
JCR-1682: Session returned does not offer transaction support
Applied patch by Douglas Jose.
Modified:
jackrabbit/trunk/jackrabbit-jca/src/main/java/org/apache/jackrabbit/jca/JCASessionHandle.java
jackrabbit/trunk/jackrabbit-jca/src/test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java
Modified: jackrabbit/trunk/jackrabbit-jca/src/main/java/org/apache/jackrabbit/jca/JCASessionHandle.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jca/src/main/java/org/apache/jackrabbit/jca/JCASessionHandle.java?rev=679811&r1=679810&r2=679811&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jca/src/main/java/org/apache/jackrabbit/jca/JCASessionHandle.java (original)
+++ jackrabbit/trunk/jackrabbit-jca/src/main/java/org/apache/jackrabbit/jca/JCASessionHandle.java Fri Jul 25 07:11:58 2008
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.jca;
+import org.apache.jackrabbit.api.XASession;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -40,6 +41,8 @@
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.NoSuchNodeTypeException;
import javax.jcr.version.VersionException;
+import javax.transaction.xa.XAResource;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -48,8 +51,7 @@
/**
* This class implements the JCA implementation of session.
*/
-public final class JCASessionHandle
- implements Session {
+public final class JCASessionHandle implements XASession {
/**
* Managed connection.
@@ -80,7 +82,7 @@
/**
* Return the session.
*/
- private Session getSession() {
+ private XASession getSession() {
return mc.getSession(this);
}
@@ -327,4 +329,16 @@
public void removeLockToken(String arg0) {
getSession().removeLockToken(arg0);
}
+
+ //---------------------------------------------------------< XASession >--
+
+ /**
+ * Returns the XAResource associated with this session.
+ *
+ * @return XA resource
+ */
+ public XAResource getXAResource() {
+ return getSession().getXAResource();
+ }
+
}
Modified: jackrabbit/trunk/jackrabbit-jca/src/test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jca/src/test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java?rev=679811&r1=679810&r2=679811&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jca/src/test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jca/src/test/java/org/apache/jackrabbit/jca/test/ConnectionFactoryTest.java Fri Jul 25 07:11:58 2008
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.jca.test;
+import org.apache.jackrabbit.api.XASession;
import org.apache.jackrabbit.jca.JCAConnectionRequestInfo;
import org.apache.jackrabbit.jca.JCARepositoryHandle;
import org.apache.jackrabbit.jca.JCASessionHandle;
@@ -103,4 +104,19 @@
assertTrue(cf instanceof Referenceable);
}
+ /**
+ * Test if the session supports transactions
+ */
+ public void testTransactionSupport() throws Exception {
+ // Create the connection factory
+ Object cf = mcf.createConnectionFactory();
+ assertTrue(cf instanceof JCARepositoryHandle);
+ Repository repository = (Repository) cf;
+
+ // Open a session
+ Session session = repository.login(JCR_SUPERUSER);
+ assertTrue(session instanceof XASession);
+ session.logout();
+ }
+
}