pnever 2003/12/27 06:50:59
Modified: src/share/org/apache/slide/common SlideToken.java
SlideTokenImpl.java SlideTokenWrapper.java
Log:
Added resolve caching (binding)
Revision Changes Path
1.14 +16 -4 jakarta-slide/src/share/org/apache/slide/common/SlideToken.java
Index: SlideToken.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideToken.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- SlideToken.java 1 Dec 2003 12:10:49 -0000 1.13
+++ SlideToken.java 27 Dec 2003 14:50:59 -0000 1.14
@@ -66,6 +66,7 @@
import java.util.Enumeration;
import java.util.List;
import org.apache.slide.authenticate.CredentialsToken;
+import org.apache.slide.store.ResourceId;
import org.apache.slide.structure.ActionNode;
import org.apache.slide.structure.ObjectNode;
@@ -267,6 +268,17 @@
* @return true if locked, false otherwise
*/
public Boolean checkLockCache(ObjectNode object, ActionNode action);
+
+ /**
+ * Allows to cache the result of a resolve operation
+ */
+ public void cacheResolve(Uri uri, ResourceId resourceId);
+
+ /**
+ * Checks if the resolve cache contains an entry for the specified uri.
+ * @return the cached resourceId or null
+ */
+ public ResourceId checkResolveCache(Uri uri);
/**
* Force lock check. If false, checkLock of LockImpl will
1.8 +21 -4
jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java
Index: SlideTokenImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SlideTokenImpl.java 1 Dec 2003 12:10:49 -0000 1.7
+++ SlideTokenImpl.java 27 Dec 2003 14:50:59 -0000 1.8
@@ -68,6 +68,7 @@
import java.util.Hashtable;
import java.util.List;
import org.apache.slide.authenticate.CredentialsToken;
+import org.apache.slide.store.ResourceId;
import org.apache.slide.structure.ActionNode;
import org.apache.slide.structure.ObjectNode;
@@ -155,10 +156,11 @@
private Hashtable parameters = new Hashtable();
/**
- * permission cache
+ * Caches
*/
private Hashtable permissionCache = new Hashtable();
private Hashtable lockCache = new Hashtable();
+ private Hashtable resolveCache = new Hashtable();
// ------------------------------------------------------------- Properties
@@ -384,6 +386,21 @@
public Boolean checkLockCache(ObjectNode object, ActionNode action) {
String key = new String (object.getUri()+ action.getUri());
return (Boolean) lockCache.get(key);
+ }
+
+ /**
+ * Allows to cache the result of a resolve operation
+ */
+ public void cacheResolve(Uri uri, ResourceId resourceId) {
+ resolveCache.put(uri, resourceId);
+ }
+
+ /**
+ * Checks if the resolve cache contains an entry for the specified uri.
+ * @return the cached resourceId or null
+ */
+ public ResourceId checkResolveCache(Uri uri) {
+ return (ResourceId)resolveCache.get(uri);
}
public void setForceLock(boolean forceLock) {
1.8 +21 -5
jakarta-slide/src/share/org/apache/slide/common/SlideTokenWrapper.java
Index: SlideTokenWrapper.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideTokenWrapper.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- SlideTokenWrapper.java 1 Dec 2003 12:10:49 -0000 1.7
+++ SlideTokenWrapper.java 27 Dec 2003 14:50:59 -0000 1.8
@@ -66,6 +66,7 @@
import java.util.Enumeration;
import java.util.List;
import org.apache.slide.authenticate.CredentialsToken;
+import org.apache.slide.store.ResourceId;
import org.apache.slide.structure.ActionNode;
import org.apache.slide.structure.ObjectNode;
@@ -334,8 +335,23 @@
* @return true if locked, false otherwise
*/
public Boolean checkLockCache(ObjectNode object, ActionNode action) {
- // TODO
- return null;
+ // TODO ??
+ return wrappedToken.checkLockCache(object, action);
+ }
+
+ /**
+ * Allows to cache the result of a resolve operation
+ */
+ public void cacheResolve(Uri uri, ResourceId resourceId) {
+ wrappedToken.cacheResolve(uri, resourceId);
+ }
+
+ /**
+ * Checks if the resolve cache contains an entry for the specified uri.
+ * @return the cached resourceId or null
+ */
+ public ResourceId checkResolveCache(Uri uri) {
+ return wrappedToken.checkResolveCache(uri);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]