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]

Reply via email to