dflorey 2004/05/11 08:22:55
Modified: src/webdav/server/org/apache/slide/webdav/event
Subscriber.java
Log:
Added support for event listening with depth=1
Revision Changes Path
1.6 +14 -8
jakarta-slide/src/webdav/server/org/apache/slide/webdav/event/Subscriber.java
Index: Subscriber.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/event/Subscriber.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Subscriber.java 26 Apr 2004 11:40:58 -0000 1.5
+++ Subscriber.java 11 May 2004 15:22:54 -0000 1.6
@@ -30,6 +30,7 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
+import java.util.StringTokenizer;
import java.util.TimerTask;
/**
@@ -83,12 +84,17 @@
}
public boolean matches(ResourceEvent event) {
- boolean matching = false;
String eventUri = event.getUri();
- if ( eventUri != null && uri != null && ((depth ==
AbstractWebdavMethod.INFINITY && eventUri.startsWith(uri.toString())) || (depth == 0
&& eventUri.equals(uri.toString())))) {
- matching = true;
+ if ( eventUri != null && uri != null ) {
+ if ( depth == 0 && eventUri.equals(uri.toString()) ) return true;
+ if ( depth == AbstractWebdavMethod.INFINITY &&
eventUri.startsWith(uri.toString()) ) return true;
+ if ( eventUri.startsWith(uri.toString() )) {
+ String subpath = eventUri.substring(uri.toString().length());
+ StringTokenizer tokenizer = new StringTokenizer(subpath, "/");
+ if ( tokenizer.countTokens() <= depth ) return true;
+ }
}
- return matching;
+ return false;
}
public String getCallback() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]