[jboss-cvs] JBossAS SVN: r57119 - trunk/connector/src/main/org/jboss/resource/connectionmanager/xa
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Sep 24 16:44:23 EDT 2006
Author: weston.price at jboss.com
Date: 2006-09-24 16:44:22 -0400 (Sun, 24 Sep 2006)
New Revision: 57119
Modified:
trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/JcaXid.java
trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java
Log:
[JBAS-3183] [JBAS-1405] [JBAS-397] Continued work on XAResourceWrapper and JcaXid. Moving
previous handling of Xid padding and isSameRM from XidFactory and
BaseWrapperManagedConnectionFactory respectively. Made XAResoruceWrapper
configurable option from XSLT.
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/JcaXid.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/JcaXid.java 2006-09-24 14:12:18 UTC (rev 57118)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/JcaXid.java 2006-09-24 20:44:22 UTC (rev 57119)
@@ -22,6 +22,7 @@
package org.jboss.resource.connectionmanager.xa;
import java.io.Serializable;
+import java.util.Arrays;
import javax.transaction.xa.Xid;
@@ -46,6 +47,12 @@
/** The branchQualifier */
private byte[] branchQualifier;
+ /** Cached toString() */
+ private transient String cachedToString;
+
+ /** Cached hashCode() */
+ private transient int cachedHashCode;
+
/** Whether or not to pad the id */
private boolean pad;
@@ -61,7 +68,6 @@
branchQualifier = (pad) ? new byte[Xid.MAXBQUALSIZE] : new byte[xid.getBranchQualifier().length];
System.arraycopy(xid.getBranchQualifier(), 0, branchQualifier, 0, xid.getBranchQualifier().length);
-
this.globalTransactionId = xid.getGlobalTransactionId();
this.formatId = xid.getFormatId();
@@ -82,4 +88,47 @@
return this.globalTransactionId;
}
+ public boolean equals(Object object)
+ {
+ if (object == null || (object instanceof Xid) == false)
+ return false;
+
+ Xid other = (Xid) object;
+ return
+ (
+ formatId == other.getFormatId() &&
+ Arrays.equals(globalTransactionId, other.getGlobalTransactionId()) &&
+ Arrays.equals(branchQualifier, other.getBranchQualifier())
+ );
+ }
+
+ public int hashCode()
+ {
+ if (cachedHashCode == 0)
+ {
+ cachedHashCode = formatId;
+ for (int i = 0; i < globalTransactionId.length; ++i)
+ cachedHashCode += globalTransactionId[i];
+ }
+ return cachedHashCode;
+ }
+
+ public String toString()
+ {
+ if (cachedToString == null)
+ {
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("JcaXid[FormatId=").append(getFormatId());
+ buffer.append(" GlobalId=").append(new String(getGlobalTransactionId()).trim());
+ byte[] branchQualifer = getBranchQualifier();
+ buffer.append(" BranchQual=");
+ if (branchQualifer == null)
+ buffer.append("null");
+ else
+ buffer.append(new String(getBranchQualifier()).trim());
+ buffer.append(']');
+ cachedToString = buffer.toString();
+ }
+ return cachedToString;
+ }
}
Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java 2006-09-24 14:12:18 UTC (rev 57118)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/xa/XAResourceWrapper.java 2006-09-24 20:44:22 UTC (rev 57119)
@@ -22,6 +22,8 @@
package org.jboss.resource.connectionmanager.xa;
+import java.io.Serializable;
+
import javax.transaction.xa.XAException;
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;
@@ -34,8 +36,12 @@
* @author <a href="weston.price at jboss.com">Weston Price</a>
* @version $Revision: 1.1 $
*/
-public class XAResourceWrapper implements XAResource
+public class XAResourceWrapper implements XAResource, Serializable
{
+
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 4551722165222496828L;
+
private static final Logger log = Logger.getLogger(XAResourceWrapper.class);
/** The xaResource */
@@ -167,7 +173,6 @@
public String toString()
{
- // TODO Auto-generated method stub
return super.toString();
}
More information about the jboss-cvs-commits
mailing list