[prev in list] [next in list] [prev in thread] [next in thread] 

List:       slide-dev
Subject:    svn commit: r527196 -
From:       ozeigermann () apache ! org
Date:       2007-04-10 16:54:07
Message-ID: 20070410165407.7B5E71A9838 () eris ! apache ! org
[Download RAW message or body]

Author: ozeigermann
Date: Tue Apr 10 09:54:06 2007
New Revision: 527196

URL: http://svn.apache.org/viewvc?view=rev&rev=527196
Log:
Added code for permissions to work outside of transactions

Modified:
    jakarta/slide/trunk/wck/src/org/apache/slide/simple/store/WebdavStoreAdapter.java

Modified: jakarta/slide/trunk/wck/src/org/apache/slide/simple/store/WebdavStoreAdapter.java
                
URL: http://svn.apache.org/viewvc/jakarta/slide/trunk/wck/src/org/apache/slide/simple/store/WebdavStoreAdapter.java?view=diff&rev=527196&r1=527195&r2=527196
 ==============================================================================
--- jakarta/slide/trunk/wck/src/org/apache/slide/simple/store/WebdavStoreAdapter.java \
                (original)
+++ jakarta/slide/trunk/wck/src/org/apache/slide/simple/store/WebdavStoreAdapter.java \
Tue Apr 10 09:54:06 2007 @@ -366,22 +366,75 @@
 
     public Enumeration enumeratePermissions(Uri uri) throws ServiceAccessException {
         log("enumeratePermissions(" + uri + ")");
-        return ((TransactionId) \
getCurrentlyActiveTransactionalResource()).enumeratePermissions(uri); +        \
TransactionId id = ((TransactionId) getCurrentlyActiveTransactionalResource()); +     \
if (id == null) { +            id = createTransactionResource(uri);
+            try {
+                return id.enumeratePermissions(uri);
+            } finally {
+                try {
+                    id.commit();
+                } catch (XAException e) {
+                    throw new ServiceAccessException(this, e);
+                }
+            }
+        }
+
+        return id.enumeratePermissions(uri);
     }
 
     public void grantPermission(Uri uri, NodePermission permission) throws \
ServiceAccessException {  log("grantPermission(" + uri + ")");
-        ((TransactionId) \
getCurrentlyActiveTransactionalResource()).grantPermission(uri, permission); +        \
TransactionId id = ((TransactionId) getCurrentlyActiveTransactionalResource()); +     \
if (id == null) { +            id = createTransactionResource(uri);
+            try {
+                id.grantPermission(uri, permission);
+            } finally {
+                try {
+                    id.commit();
+                } catch (XAException e) {
+                    throw new ServiceAccessException(this, e);
+                }
+            }
+        }
+        id.grantPermission(uri, permission);
     }
 
     public void revokePermission(Uri uri, NodePermission permission) throws \
ServiceAccessException {  log("revokePermission(" + uri + ")");
-        ((TransactionId) \
getCurrentlyActiveTransactionalResource()).revokePermission(uri, permission); +       \
TransactionId id = ((TransactionId) getCurrentlyActiveTransactionalResource()); +     \
if (id == null) { +            id = createTransactionResource(uri);
+            try {
+                id.revokePermission(uri, permission);
+            } finally {
+                try {
+                    id.commit();
+                } catch (XAException e) {
+                    throw new ServiceAccessException(this, e);
+                }
+            }
+        }
+        id.revokePermission(uri, permission);
     }
 
     public void revokePermissions(Uri uri) throws ServiceAccessException {
         log("revokePermissions(" + uri + ")");
-        ((TransactionId) \
getCurrentlyActiveTransactionalResource()).revokePermissions(uri); +        \
TransactionId id = ((TransactionId) getCurrentlyActiveTransactionalResource()); +     \
if (id == null) { +            id = createTransactionResource(uri);
+            try {
+                id.revokePermissions(uri);
+            } finally {
+                try {
+                    id.commit();
+                } catch (XAException e) {
+                    throw new ServiceAccessException(this, e);
+                }
+            }
+        }
+        id.revokePermissions(uri);
     }
     protected void log(String msg) {
         getLogger().log(msg, this.getClass().getName(), Logger.DEBUG);



---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic