[exo-jcr-commits] exo-jcr SVN: r3345 - jcr/trunk/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Oct 26 04:39:50 EDT 2010


Author: dkuleshov
Date: 2010-10-26 04:39:49 -0400 (Tue, 26 Oct 2010)
New Revision: 3345

Modified:
   jcr/trunk/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java
Log:
EXOJCR-1010: created two more constructors for WebDavServiceImpl

Modified: jcr/trunk/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java	2010-10-25 14:13:33 UTC (rev 3344)
+++ jcr/trunk/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/WebDavServiceImpl.java	2010-10-26 08:39:49 UTC (rev 3345)
@@ -75,6 +75,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.PathNotFoundException;
@@ -286,6 +287,94 @@
    }
 
    /**
+    * Constructor.
+    * 
+    * @param params Initialization params
+    * @param repositoryService repository service
+    * @param sessionProviderService session provider service
+    */
+   protected WebDavServiceImpl(Map<String, String> params, RepositoryService repositoryService,
+      ThreadLocalSessionProviderService sessionProviderService) throws Exception
+   {
+      this.sessionProviderService = sessionProviderService;
+      this.repositoryService = repositoryService;
+      this.nullResourceLocks = new NullResourceLocksHolder();
+
+      String paramValue = params.get(INIT_PARAM_DEF_FOLDER_NODE_TYPE);
+      if (paramValue != null)
+      {
+         defaultFolderNodeType = paramValue;
+         log.info(INIT_PARAM_DEF_FOLDER_NODE_TYPE + " = " + defaultFolderNodeType);
+      }
+
+      paramValue = params.get(INIT_PARAM_DEF_FILE_NODE_TYPE);
+      if (paramValue != null)
+      {
+         defaultFileNodeType = paramValue;
+         log.info(INIT_PARAM_DEF_FILE_NODE_TYPE + " = " + defaultFileNodeType);
+      }
+
+      paramValue = params.get(INIT_PARAM_DEF_FILE_MIME_TYPE);
+      if (paramValue != null)
+      {
+         defaultFileMimeType = paramValue;
+         log.info(INIT_PARAM_DEF_FILE_MIME_TYPE + " = " + defaultFileMimeType);
+      }
+
+      paramValue = params.get(INIT_PARAM_UPDATE_POLICY);
+      if (paramValue != null)
+      {
+         updatePolicyType = paramValue;
+         log.info(INIT_PARAM_UPDATE_POLICY + " = " + updatePolicyType);
+      }
+
+      paramValue = params.get(INIT_PARAM_AUTO_VERSION);
+      if (paramValue != null)
+      {
+         autoVersionType = paramValue;
+         log.info(INIT_PARAM_AUTO_VERSION + " = " + autoVersionType);
+      }
+
+      paramValue = params.get(INIT_PARAM_CACHE_CONTROL);
+      if (paramValue != null)
+      {
+         try
+         {
+            String[] elements = paramValue.split(";");
+            for (String element : elements)
+            {
+               String cacheValue = element.split(":")[1];
+               String keys = element.split(":")[0];
+               for (String key : keys.split(","))
+               {
+                  MediaType mediaType = new MediaType(key.split("/")[0], key.split("/")[1]);
+                  cacheControlMap.put(mediaType, cacheValue);
+               }
+            }
+         }
+         catch (Exception e)
+         {
+            log.warn("Invalid " + INIT_PARAM_CACHE_CONTROL + " parameter");
+         }
+
+      }
+   }
+
+   /**
+    * Constructor.
+    * 
+    * @param repositoryService repository service
+    * @param sessionProviderService session provider service
+    */
+   protected WebDavServiceImpl(RepositoryService repositoryService,
+      ThreadLocalSessionProviderService sessionProviderService)
+   {
+      this.sessionProviderService = sessionProviderService;
+      this.repositoryService = repositoryService;
+      this.nullResourceLocks = new NullResourceLocksHolder();
+   }
+   
+   /**
     * {@inheritDoc}
     */
    @CHECKIN



More information about the exo-jcr-commits mailing list