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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]