luetzkendorf    2005/02/02 03:32:40

  Modified:    src/webdav/server/org/apache/slide/webdav/method
                        MkcolMethod.java PutMethod.java
  Log:
  MKCOL and PUT (201 Created) create properties with default values 
(experimental).
  MICROSOFT Properties should be configured (removed)
  
  Revision  Changes    Path
  1.41      +17 -46    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkcolMethod.java
  
  Index: MkcolMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/MkcolMethod.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- MkcolMethod.java  26 Oct 2004 10:22:05 -0000      1.40
  +++ MkcolMethod.java  2 Feb 2005 11:32:40 -0000       1.41
  @@ -25,6 +25,7 @@
   
   import java.io.IOException;
   import java.util.Date;
  +import java.util.List;
   
   import org.apache.slide.common.NamespaceAccessToken;
   import org.apache.slide.common.ServiceAccessException;
  @@ -41,9 +42,11 @@
   import org.apache.slide.webdav.WebdavServletConfig;
   import org.apache.slide.webdav.event.WebdavEvent;
   import org.apache.slide.webdav.util.DeltavConstants;
  +import org.apache.slide.webdav.util.PropertyHelper;
   import org.apache.slide.webdav.util.UriHandler;
   import org.apache.slide.webdav.util.VersioningHelper;
   import org.apache.slide.webdav.util.WebdavStatus;
  +import org.apache.slide.webdav.util.resourcekind.ResourceKindManager;
   
   /**
    * MKCOL method.
  @@ -62,6 +65,7 @@
        */
       protected String colName;
       
  +    protected PropertyHelper propertyHelper = null;
       
       /**
        * Constructor.
  @@ -94,6 +98,9 @@
       protected void parseRequest()
           throws WebdavException {
           
  +        propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token, 
  +                getConfig());
  +        
           if (req.getContentLength() > 0) {
               int statusCode = WebdavStatus.SC_UNSUPPORTED_MEDIA_TYPE;
               sendError( statusCode, 
getClass().getName()+".requestBodyMustBeEmpty" );
  @@ -159,9 +166,6 @@
           // Content length name
           revisionDescriptor.setContentLength(0);
           
  -        // Source
  -        revisionDescriptor.setSource("");
  -        
           // Owner
           try {
               String creator = 
((SubjectNode)security.getPrincipal(slideToken)).getPath().lastSegment();
  @@ -183,47 +187,14 @@
           }
           // Added for DeltaV --end--
           
  -        if (isMsProprietarySupport()) {
  -            
  -            NodeProperty property = null;
  -            
  -            // Name
  -            /*
  -             property = new NodeProperty("name", colName, "ms", "MICROSOFT");
  -             properties.setProperty(property);
  -             */
  -            
  -            // ParentName
  -            // TODO : Fix this
  -            /*
  -             property = new NodeProperty("parentname", colName, "ms",
  -             "MICROSOFT");
  -             properties.setProperty(property);
  -             */
  -            
  -            // Href
  -            /*
  -             property = new NodeProperty("href", colName, "ms", "MICROSOFT");
  -             properties.setProperty(property);
  -             */
  -            
  -            // Is hidden
  -            property = new NodeProperty("ishidden", "0", "MICROSOFT");
  +        // create default property values of the new collection
  +        List defaultValues = propertyHelper.createInitialProperties(
  +                ResourceKindManager.determineResourceKind(
  +                        this.token, colName, revisionDescriptor),
  +                        colName);
  +        for(int i = 0, l = defaultValues.size(); i < l; i++) {
  +            NodeProperty property = (NodeProperty)defaultValues.get(i);
               revisionDescriptor.setProperty(property);
  -            
  -            // Is collection
  -            property = new NodeProperty("iscollection", "1", "MICROSOFT");
  -            revisionDescriptor.setProperty(property);
  -            
  -            // Is read only
  -            property = new NodeProperty("isreadonly", "0", "MICROSOFT");
  -            revisionDescriptor.setProperty(property);
  -            
  -            // Last accessed
  -            property = new NodeProperty("lastaccessed",
  -                                            (new Date()).toString(), 
"MICROSOFT");
  -            revisionDescriptor.setProperty(property);
  -            
           }
           
           // If everything is ok : 201 - Created / OK
  
  
  
  1.91      +17 -39    
jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java
  
  Index: PutMethod.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/webdav/server/org/apache/slide/webdav/method/PutMethod.java,v
  retrieving revision 1.90
  retrieving revision 1.91
  diff -u -r1.90 -r1.91
  --- PutMethod.java    26 Jan 2005 13:35:55 -0000      1.90
  +++ PutMethod.java    2 Feb 2005 11:32:40 -0000       1.91
  @@ -25,6 +25,7 @@
   
   import java.io.IOException;
   import java.util.Date;
  +import java.util.List;
   
   import javax.servlet.http.HttpServletResponse;
   
  @@ -58,6 +59,7 @@
   import org.apache.slide.webdav.util.resourcekind.AbstractResourceKind;
   import org.apache.slide.webdav.util.resourcekind.CheckedInVersionControlled;
   import org.apache.slide.webdav.util.resourcekind.ResourceKind;
  +import org.apache.slide.webdav.util.resourcekind.ResourceKindManager;
   
   /**
    * PUT method.
  @@ -74,6 +76,7 @@
        * The VersioningHelper used by this instance.
        */
       protected VersioningHelper versioningHelper = null;
  +    protected PropertyHelper propertyHelper = null;
       
       /**
        * Resource to be written.
  @@ -118,10 +121,9 @@
       protected void parseRequest()
           throws WebdavException {
           versioningHelper = VersioningHelper.getVersioningHelper(slideToken,
  -                                                                token,
  -                                                                req,
  -                                                                resp,
  -                                                                config);
  +                token, req, resp, config);
  +        propertyHelper = PropertyHelper.getPropertyHelper(slideToken, token, 
  +                getConfig());
           
           resourcePath = requestUri;
           if (resourcePath == null) {
  @@ -339,19 +341,9 @@
                       throw new WebdavException( statusCode );
                   }
                   
  -                //NodeProperty property = null;
  -                
  -                // Creation date
  -                
                   // Resource type
                   revisionDescriptor.setResourceType("");
                   
  -                // Source
  -                revisionDescriptor.setSource("");
  -                
  -                // Get content language
  -                revisionDescriptor.setContentLanguage("en");
  -                
                   // Get content type
                   String contentType = req.getContentType();
                   if (contentType == null) {
  @@ -365,7 +357,7 @@
                   
                   // Last modification date
                   revisionDescriptor.setLastModified(new Date());
  -                
  +
                   // Etag generation
                   
revisionDescriptor.setETag(PropertyHelper.computeEtag(resourcePath, 
revisionDescriptor));
                   
  @@ -384,28 +376,14 @@
                   }
                   // Added for DeltaV --end--
                   
  -                if (isMsProprietarySupport()) {
  -                    NodeProperty property = null;
  -                    // Is hidden
  -                    property = new NodeProperty("ishidden", "0", 
"MICROSOFT");
  +                // create default property values of the new resource 
  +                List defaultValues = propertyHelper.createInitialProperties(
  +                        ResourceKindManager.determineResourceKind(
  +                                this.token, resourcePath, 
revisionDescriptor),
  +                                resourcePath);
  +                for(int i = 0, l = defaultValues.size(); i < l; i++) {
  +                    NodeProperty property = 
(NodeProperty)defaultValues.get(i);
                       revisionDescriptor.setProperty(property);
  -                    
  -                    // Is collection
  -                    property = new NodeProperty("iscollection", "0",
  -                                                "MICROSOFT");
  -                    revisionDescriptor.setProperty(property);
  -                    
  -                    // Is read only
  -                    property = new NodeProperty("isreadonly", "0",
  -                                                "MICROSOFT");
  -                    revisionDescriptor.setProperty(property);
  -                    
  -                    // Last accessed
  -                    property = new NodeProperty("lastaccessed",
  -                                                    (new Date()).toString(),
  -                                                "MICROSOFT");
  -                    revisionDescriptor.setProperty(property);
  -                    
                   }
                   
                   // Creating revisionDescriptor associated with the object
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to