class WcXaResource implements XAResource {
private final AbstractUserDirectory userDirectory;
- private Map<Xid, UserDirectoryWorkingCopy> workingCopies = new HashMap<Xid, UserDirectoryWorkingCopy>();
+ private Map<Xid, DirectoryUserWorkingCopy> workingCopies = new HashMap<Xid, DirectoryUserWorkingCopy>();
private Xid editingXid = null;
private int transactionTimeout = 0;
@Override
public synchronized void start(Xid xid, int flags) throws XAException {
if (editingXid != null)
- throw new UserDirectoryException("Already editing " + editingXid);
- UserDirectoryWorkingCopy wc = workingCopies.put(xid, new UserDirectoryWorkingCopy());
+ throw new IllegalStateException("Already editing " + editingXid);
+ DirectoryUserWorkingCopy wc = workingCopies.put(xid, new DirectoryUserWorkingCopy());
if (wc != null)
- throw new UserDirectoryException("There is already a working copy for " + xid);
+ throw new IllegalStateException("There is already a working copy for " + xid);
this.editingXid = xid;
}
checkXid(xid);
}
- private UserDirectoryWorkingCopy wc(Xid xid) {
+ private DirectoryUserWorkingCopy wc(Xid xid) {
return workingCopies.get(xid);
}
- synchronized UserDirectoryWorkingCopy wc() {
+ synchronized DirectoryUserWorkingCopy wc() {
if (editingXid == null)
return null;
- UserDirectoryWorkingCopy wc = workingCopies.get(editingXid);
+ DirectoryUserWorkingCopy wc = workingCopies.get(editingXid);
if (wc == null)
- throw new UserDirectoryException("No working copy found for " + editingXid);
+ throw new IllegalStateException("No working copy found for " + editingXid);
return wc;
}
@Override
public int prepare(Xid xid) throws XAException {
checkXid(xid);
- UserDirectoryWorkingCopy wc = wc(xid);
+ DirectoryUserWorkingCopy wc = wc(xid);
if (wc.noModifications())
return XA_RDONLY;
try {
public void commit(Xid xid, boolean onePhase) throws XAException {
try {
checkXid(xid);
- UserDirectoryWorkingCopy wc = wc(xid);
+ DirectoryUserWorkingCopy wc = wc(xid);
if (wc.noModifications())
return;
if (onePhase)