luetzkendorf 2005/02/02 03:34:18
Modified: src/webdav/server/org/apache/slide/webdav/util/resourcekind
AbstractResourceKind.java
Added: src/webdav/server/org/apache/slide/webdav/util
WebdavFeatures.java
Log:
"supported features" stuff moved to extra class
Revision Changes Path
1.38 +5 -47
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/AbstractResourceKind.java
Index: AbstractResourceKind.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/resourcekind/AbstractResourceKind.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- AbstractResourceKind.java 10 Jan 2005 18:08:48 -0000 1.37
+++ AbstractResourceKind.java 2 Feb 2005 11:34:18 -0000 1.38
@@ -25,7 +25,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -41,7 +41,6 @@
import org.apache.slide.common.PropertyName;
import org.apache.slide.content.NodeRevisionDescriptor;
import org.apache.slide.content.NodeRevisionDescriptors;
-import org.apache.slide.util.Configuration;
import org.apache.slide.webdav.util.AclConstants;
import org.apache.slide.webdav.util.BindConstants;
import org.apache.slide.webdav.util.DaslConstants;
@@ -62,9 +61,6 @@
**/
public static final String EMPTY_STRING = "";
- // supported reports
- protected static Set supportedFeatures = new HashSet();
-
// protected properties
protected static Set liveProperties = new HashSet();
@@ -74,31 +70,6 @@
// computed properties
protected static Set computedProperties = new HashSet();
- // static initialization
- static {
- // features
- supportedFeatures.add( F_WEBDAV );
- supportedFeatures.add( F_SLIDE );
- if( Configuration.useIntegratedLocking() )
- supportedFeatures.add( F_LOCKING );
- if( Configuration.useIntegratedSecurity() )
- supportedFeatures.add( F_ACCESS_CONTROL );
- if( Configuration.useSearch() )
- supportedFeatures.add( F_SEARCHING_AND_LOCATING );
- if( Configuration.useVersionControl() ) {
- supportedFeatures.add( F_VERSION_CONTROL );
- supportedFeatures.add( F_VERSION_HISTORY );
- supportedFeatures.add( F_CHECKOUT_IN_PLACE );
- supportedFeatures.add( F_WORKSPACE );
- supportedFeatures.add( F_WORKING_RESOURCE );
- supportedFeatures.add( F_LABEL );
- supportedFeatures.add( F_UPDATE );
- }
- if (Configuration.useGlobalBinding()) {
- supportedFeatures.add( F_BINDING );
- }
- }
-
/**
* Factory method.
*/
@@ -119,22 +90,7 @@
static public ResourceKind determineResourceKind( NamespaceAccessToken
nsaToken, String resourcePath, NodeRevisionDescriptor nrd ) {
return ResourceKindManager.determineResourceKind(nsaToken,
resourcePath, nrd);
}
-
- /**
- *
- */
- protected static boolean isSupportedFeature( String feature ) {
- return supportedFeatures.contains( feature );
- }
-
- /**
- *
- */
- protected static boolean isSupportedFeature( String feature, String[]
excludedFeatures ) {
- return supportedFeatures.contains( feature )
- && (Arrays.binarySearch(excludedFeatures, feature) < 0);
- }
-
+
/**
* Return true if the specified property is a DAV: live property.
*/
@@ -433,7 +389,7 @@
return this.propertyValidators;
}
- Map getDefaultProviders() {
+ public Map getDefaultProviders() {
if (this.defaultProviders == null) {
this.defaultProviders = new HashMap();
@@ -442,6 +398,8 @@
this.defaultProviders.putAll(kind.getDefaultProviders());
}
this.defaultProviders.putAll(this.myDefaultProviders);
+
+ this.defaultProviders =
Collections.unmodifiableMap(this.defaultProviders);
}
return this.defaultProviders;
}
1.1
jakarta-slide/src/webdav/server/org/apache/slide/webdav/util/WebdavFeatures.java
Index: WebdavFeatures.java
===================================================================
package org.apache.slide.webdav.util;
import java.util.HashSet;
import java.util.Set;
import org.apache.slide.util.Configuration;
/**
* Helper class for managing features suported by slide.
*/
public class WebdavFeatures
{
private static Set supportedFeatures = new HashSet();
/**
* Tests whether a given feature is supported.
*/
public static boolean isSupported(String feature) {
return supportedFeatures.contains(feature);
}
// static initialization
static {
// features
supportedFeatures.add(WebdavConstants.F_WEBDAV);
supportedFeatures.add(WebdavConstants.F_SLIDE);
if(Configuration.useIntegratedLocking()) {
supportedFeatures.add(WebdavConstants.F_LOCKING);
}
if(Configuration.useIntegratedSecurity()) {
supportedFeatures.add(AclConstants.F_ACCESS_CONTROL);
}
if(Configuration.useSearch()) {
supportedFeatures.add(DaslConstants.F_SEARCHING_AND_LOCATING);
}
if(Configuration.useVersionControl()) {
supportedFeatures.add(DeltavConstants.F_VERSION_CONTROL);
supportedFeatures.add(DeltavConstants.F_VERSION_HISTORY);
supportedFeatures.add(DeltavConstants.F_CHECKOUT_IN_PLACE);
supportedFeatures.add(DeltavConstants.F_WORKSPACE);
supportedFeatures.add(DeltavConstants.F_WORKING_RESOURCE);
supportedFeatures.add(DeltavConstants.F_LABEL);
supportedFeatures.add(DeltavConstants.F_UPDATE);
}
if (Configuration.useGlobalBinding()) {
supportedFeatures.add(BindConstants.F_BINDING);
}
if (Configuration.useRedirectReferences()) {
supportedFeatures.add(WebdavConstants.F_REDIRECTREFS);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]