001 package com.mockrunner.mock.connector.cci; 002 003 import javax.resource.ResourceException; 004 import javax.resource.cci.LocalTransaction; 005 006 /** 007 * Mock implementation of <code>LocalTransaction</code>. 008 */ 009 public class MockLocalTransaction implements LocalTransaction 010 { 011 private boolean beginCalled; 012 private boolean commitCalled; 013 private boolean rollbackCalled; 014 private int beginCalls; 015 private int commitCalls; 016 private int rollbackCalls; 017 018 public MockLocalTransaction() 019 { 020 reset(); 021 } 022 023 /** 024 * Resets the transaction state. Sets the number of overall 025 * begin, commit and rollback calls to <code>0</code>. 026 */ 027 public void reset() 028 { 029 beginCalled = false; 030 commitCalled = false; 031 rollbackCalled = false; 032 beginCalls = 0; 033 commitCalls = 0; 034 rollbackCalls = 0; 035 } 036 037 /** 038 * Starts the transaction. The flags <code>wasCommitCalled</code> 039 * and <code>wasRollbackCalled</code> are reset to <code>false</code>. 040 * This method does not reset the number of overall calls. 041 */ 042 public void begin() throws ResourceException 043 { 044 beginCalled = true; 045 commitCalled = false; 046 rollbackCalled = false; 047 beginCalls++; 048 } 049 050 /** 051 * Commits the transaction. 052 */ 053 public void commit() throws ResourceException 054 { 055 commitCalled = true; 056 commitCalls++; 057 } 058 059 /** 060 * Rolls back the transaction. 061 */ 062 public void rollback() throws ResourceException 063 { 064 rollbackCalled = true; 065 rollbackCalls++; 066 } 067 068 /** 069 * Returns if {@link #begin} was called. 070 * @return was {@link #begin} called 071 */ 072 public boolean wasBeginCalled() 073 { 074 return beginCalled; 075 } 076 077 /** 078 * Returns if {@link #commit} was called. 079 * @return was {@link #commit} called 080 */ 081 public boolean wasCommitCalled() 082 { 083 return commitCalled; 084 } 085 086 /** 087 * Returns if {@link #rollback} was called. 088 * @return was {@link #rollback} called 089 */ 090 public boolean wasRollbackCalled() 091 { 092 return rollbackCalled; 093 } 094 095 /** 096 * Returns the number of overall {@link #begin} calls. 097 * @return the number of overall {@link #begin} calls 098 */ 099 public int getNumberBeginCalls() 100 { 101 return beginCalls; 102 } 103 104 /** 105 * Returns the number of overall {@link #commit} calls. 106 * @return the number of overall {@link #commit} calls 107 */ 108 public int getNumberCommitCalls() 109 { 110 return commitCalls; 111 } 112 113 /** 114 * Returns the number of overall {@link #rollback} calls. 115 * @return the number of overall {@link #rollback} calls 116 */ 117 public int getNumberRollbackCalls() 118 { 119 return rollbackCalls; 120 } 121 }