Introduce transaction working copy abstraction
[lgpl/argeo-commons.git] / org.argeo.util / src / org / argeo / osgi / useradmin / WcXaResource.java
index af0f351c77e6b9b9105ed8f0ef3e9a0f009837d2..32bb401bc4695f997f021ebd190406308a538348 100644 (file)
@@ -11,7 +11,7 @@ import javax.transaction.xa.Xid;
 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;
 
@@ -23,7 +23,7 @@ class WcXaResource implements XAResource {
        public synchronized void start(Xid xid, int flags) throws XAException {
                if (editingXid != null)
                        throw new IllegalStateException("Already editing " + editingXid);
-               UserDirectoryWorkingCopy wc = workingCopies.put(xid, new UserDirectoryWorkingCopy());
+               DirectoryUserWorkingCopy wc = workingCopies.put(xid, new DirectoryUserWorkingCopy());
                if (wc != null)
                        throw new IllegalStateException("There is already a working copy for " + xid);
                this.editingXid = xid;
@@ -34,14 +34,14 @@ class WcXaResource implements XAResource {
                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 IllegalStateException("No working copy found for " + editingXid);
                return wc;
@@ -56,7 +56,7 @@ class WcXaResource implements XAResource {
        @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 {
@@ -72,7 +72,7 @@ class WcXaResource implements XAResource {
        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)