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]