luetzkendorf 2005/01/11 09:05:23
Modified: src/webdav/server/org/apache/slide/webdav/util/resourcekind
ResourceKindManager.java
Log:
support for ConfigurablePropertyValueValidator added
Revision Changes Path
1.5 +21 -6
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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ResourceKindManager.java 10 Jan 2005 18:06:39 -0000 1.4
+++ ResourceKindManager.java 11 Jan 2005 17:05:23 -0000 1.5
@@ -48,6 +48,7 @@
import org.apache.slide.webdav.util.UriHandler;
import org.apache.slide.webdav.util.WebdavConstants;
import org.apache.slide.webdav.util.properties.ConfigurablePropertyComputer;
+import
org.apache.slide.webdav.util.properties.ConfigurablePropertyValueValidator;
import org.apache.slide.webdav.util.properties.PropertyComputer;
import org.apache.slide.webdav.util.properties.PropertyDefaultProvider;
import org.apache.slide.webdav.util.properties.PropertyValueValidator;
@@ -233,7 +234,6 @@
message.append(kind + " (property: " + name);
String p = propConfig.getAttribute("computer", null);
if (p != null) {
- // computed property
message.append(" comupted" );
registerComputedProperty(kind, name, p, propConfig);
}
@@ -245,7 +245,7 @@
p = propConfig.getAttribute("validator", null);
if (p != null) {
- registerPropertyValidator(kind, name, p);
+ registerPropertyValidator(kind, name, p, propConfig);
message.append(" validated" );
}
@@ -340,11 +340,26 @@
}
}
private static void registerPropertyValidator(Kind kind,
- PropertyName name, String validatorClass) {
+ PropertyName name, String validatorClass, Configuration
propConfig) {
try {
Class cls = Class.forName(validatorClass);
PropertyValueValidator validator =
(PropertyValueValidator)cls.newInstance();
registerPropertyValidator(kind, name, validator);
+
+ if (validator instanceof Configurable) {
+ Configuration configuration = null;
+ try {
+ configuration =
propConfig.getConfiguration("validator-configuration");
+ } catch (ConfigurationException e) {
+ // ignore; no configuration given, is OK too
+ }
+ if (configuration != null) {
+ ((Configurable)validator).configure(configuration);
+ }
+ }
+ if (validator instanceof ConfigurablePropertyValueValidator) {
+
((ConfigurablePropertyValueValidator)validator).setPropertyName(name);
+ }
} catch (ClassNotFoundException ex) {
error("Class " + validatorClass + " for validator not found!");
} catch (InstantiationException ex) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]