You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2005/02/02 12:35:11 UTC
cvs commit: jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind ResourceKindManager.java
luetzkendorf 2005/02/02 03:35:11
Modified: src/webdav/server/org/apache/slide/webdav/util/resourcekind
ResourceKindManager.java
Log:
features attribute in resource kind configuration now is considered
Revision Changes Path
1.7 +37 -12 jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/ResourceKindManager.java
Index: ResourceKindManager.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/ResourceKindManager.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ResourceKindManager.java 21 Jan 2005 16:11:48 -0000 1.6
+++ ResourceKindManager.java 2 Feb 2005 11:35:11 -0000 1.7
@@ -27,6 +27,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.StringTokenizer;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
@@ -47,6 +48,7 @@
import org.apache.slide.webdav.util.DeltavConstants;
import org.apache.slide.webdav.util.UriHandler;
import org.apache.slide.webdav.util.WebdavConstants;
+import org.apache.slide.webdav.util.WebdavFeatures;
import org.apache.slide.webdav.util.properties.ConfigurablePropertyComputer;
import org.apache.slide.webdav.util.properties.ConfigurablePropertyValueValidator;
import org.apache.slide.webdav.util.properties.PropertyComputer;
@@ -228,7 +230,14 @@
propConfig.getAttribute("name"),
propConfig.getAttribute("namespace", "DAV:"));
- // TODO check features
+ // check features
+ boolean enabled = true;
+ for(StringTokenizer t = new StringTokenizer(
+ propConfig.getAttribute("features", "")," "); t.hasMoreTokens();) {
+ if (!WebdavFeatures.isSupported(t.nextToken())) enabled = false;
+ }
+ if (!enabled) continue;
+
StringBuffer message = new StringBuffer();
message.append(kind + " (property: " + name);
@@ -237,6 +246,8 @@
message.append(" comupted" );
registerComputedProperty(kind, name, p, propConfig);
}
+ // TODO handle properties which are not enabled but protected
+ // see DAV:supported-live-property in RFC 3253
p = propConfig.getAttribute("protected", "false");
if ("true".equals(p)) {
registerProtectedProperty(kind, name);
@@ -263,11 +274,11 @@
// ignore, no default
}
}
-
+
// live property
message.append(" live");
registerLiveProperty(kind, name);
-
+
message.append(")");
log(message.toString());
}
@@ -282,9 +293,16 @@
for(Enumeration e = subConfig.getConfigurations("report"); e.hasMoreElements();) {
Configuration repConfig = (Configuration)e.nextElement();
- // TODO check features
- registerReport(kind, repConfig.getAttribute("name"));
- log(kind + " (report: " + repConfig.getAttribute("name") + ")");
+ // check features
+ boolean enabled = true;
+ for(StringTokenizer t = new StringTokenizer(
+ repConfig.getAttribute("features", "")," "); t.hasMoreTokens();) {
+ if (!WebdavFeatures.isSupported(t.nextToken())) enabled = false;
+ }
+ if (enabled) {
+ registerReport(kind, repConfig.getAttribute("name"));
+ log(kind + " (report: " + repConfig.getAttribute("name") + ")");
+ }
}
}
}
@@ -296,9 +314,16 @@
for(Enumeration e = subConfig.getConfigurations("method"); e.hasMoreElements();) {
Configuration methodConfig = (Configuration)e.nextElement();
- // TODO check features
- registerMethod(kind, methodConfig.getAttribute("name"));
- log(kind + " (method: " + methodConfig.getAttribute("name") + ")");
+ // check features
+ boolean enabled = true;
+ for(StringTokenizer t = new StringTokenizer(
+ methodConfig.getAttribute("features", "")," "); t.hasMoreTokens();) {
+ if (!WebdavFeatures.isSupported(t.nextToken())) enabled = false;
+ }
+ if (enabled) {
+ registerMethod(kind, methodConfig.getAttribute("name"));
+ log(kind + " (method: " + methodConfig.getAttribute("name") + ")");
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org