[jboss-cvs] JBoss Messaging SVN: r2276 - trunk/src/main/org/jboss/messaging/core/tx.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 12 13:36:34 EST 2007


Author: timfox
Date: 2007-02-12 13:36:34 -0500 (Mon, 12 Feb 2007)
New Revision: 2276

Modified:
   trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java
   trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
Log:
Fixed bug in when hashCode is generated



Modified: trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java	2007-02-12 16:34:31 UTC (rev 2275)
+++ trunk/src/main/org/jboss/messaging/core/tx/MessagingXid.java	2007-02-12 18:36:34 UTC (rev 2276)
@@ -50,6 +50,8 @@
    private byte[] globalTransactionId;
    
    private int hash;
+   
+   private boolean hashCalculated;
 
    public byte[] getBranchQualifier()
    {
@@ -75,8 +77,7 @@
    {
       this.branchQualifier = branchQualifier;
       this.formatId = formatId;
-      this.globalTransactionId = globalTransactionId;      
-      calcHash();     
+      this.globalTransactionId = globalTransactionId;          
    }
    
    //Copy constructor
@@ -89,6 +90,10 @@
       
    public int hashCode()
    {
+      if (!hashCalculated)
+      {
+         calcHash();
+      }
       return hash;
    }
    
@@ -117,7 +122,7 @@
          if (this.branchQualifier[i] != otherBQ[i])
          {
             return false;
-         }
+         }         
       }
       for (int i = 0; i < this.globalTransactionId.length; i++)
       {
@@ -192,6 +197,7 @@
       System.arraycopy(intBytes, 0, hashBytes, branchQualifier.length + globalTransactionId.length, 4);
       String s = new String(hashBytes);
       hash = s.hashCode();
+      hashCalculated = true;
    }
    
    private byte[] copyBytes(byte[] other)

Modified: trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java	2007-02-12 16:34:31 UTC (rev 2275)
+++ trunk/src/main/org/jboss/messaging/core/tx/TransactionRepository.java	2007-02-12 18:36:34 UTC (rev 2276)
@@ -205,7 +205,7 @@
 
 
    public Transaction getPreparedTx(Xid xid) throws Exception
-   {
+   {            
       Transaction tx = (Transaction)globalToLocalMap.get(xid);
 
       if (tx == null)




More information about the jboss-cvs-commits mailing list