1 4 package com.tc.objectserver.gtx; 5 6 import com.tc.exception.ImplementMe; 7 import com.tc.net.protocol.tcm.ChannelID; 8 import com.tc.object.gtx.GlobalTransactionID; 9 import com.tc.object.tx.ServerTransactionID; 10 import com.tc.objectserver.persistence.api.PersistenceTransaction; 11 import com.tc.util.concurrent.NoExceptionLinkedQueue; 12 13 import java.util.Collection ; 14 import java.util.HashSet ; 15 import java.util.Iterator ; 16 import java.util.Set ; 17 18 public final class TestGlobalTransactionManager implements ServerGlobalTransactionManager { 19 20 public final NoExceptionLinkedQueue completeTransactionsContexts = new NoExceptionLinkedQueue(); 21 private long idSequence = 0; 22 private Set commitedSIDs = new HashSet (); 23 24 public boolean needsApply(ServerTransactionID stxID) { 25 return !commitedSIDs.contains(stxID); 26 } 27 28 public void commit(PersistenceTransaction persistenceTransaction, ServerTransactionID stxID) { 29 commitedSIDs.add(stxID); 30 } 31 32 public GlobalTransactionID getLowGlobalTransactionIDWatermark() { 33 return null; 34 } 35 36 public void completeTransactions(PersistenceTransaction persistenceTransaction, Collection collection) { 37 completeTransactionsContexts.put(collection); 38 } 39 40 public void shutdownClient(ChannelID channelID) { 41 return; 42 } 43 44 public void commitAll(PersistenceTransaction persistenceTransaction, Collection stxIDs) { 45 for (Iterator iter = stxIDs.iterator(); iter.hasNext();) { 46 commit(persistenceTransaction, (ServerTransactionID) iter.next()); 47 } 48 } 49 50 public GlobalTransactionID createGlobalTransactionID(ServerTransactionID stxnID) { 51 return new GlobalTransactionID(idSequence++); 52 } 53 54 public void clear() { 55 commitedSIDs.clear(); 56 while (!completeTransactionsContexts.isEmpty()) { 57 completeTransactionsContexts.take(); 58 } 59 } 60 61 public void addResentServerTransactionIDs(Collection stxIDs) { 62 throw new ImplementMe(); 63 } 64 65 public void transactionCompleted(ServerTransactionID stxID) { 66 throw new ImplementMe(); 67 } 68 69 public void clearAllTransactionsFor(ChannelID client) { 70 throw new ImplementMe(); 71 } 72 73 public void transactionApplied(ServerTransactionID stxID) { 74 throw new ImplementMe(); 75 } 76 77 public void incomingTransactions(ChannelID cid, Set serverTxnIDs) { 78 throw new ImplementMe(); 79 } 80 } | Popular Tags |