diff --git a/source/java/org/alfresco/repo/webdav/DeleteMethod.java b/source/java/org/alfresco/repo/webdav/DeleteMethod.java index af1da7a626..2f4ca64977 100644 --- a/source/java/org/alfresco/repo/webdav/DeleteMethod.java +++ b/source/java/org/alfresco/repo/webdav/DeleteMethod.java @@ -139,7 +139,7 @@ public class DeleteMethod extends WebDAVMethod implements ActivityPostProducer String tenantDomain = getTenantDomain(); // Check there is enough information to publish site activity. - if (!siteId.equals(DEFAULT_SITE_ID)) + if (!siteId.equals(WebDAVHelper.EMPTY_SITE_ID)) { SiteService siteService = getServiceRegistry().getSiteService(); NodeRef documentLibrary = siteService.getContainer(siteId, SiteService.DOCUMENT_LIBRARY); diff --git a/source/java/org/alfresco/repo/webdav/PutMethod.java b/source/java/org/alfresco/repo/webdav/PutMethod.java index 28b5a70432..056a0e569b 100644 --- a/source/java/org/alfresco/repo/webdav/PutMethod.java +++ b/source/java/org/alfresco/repo/webdav/PutMethod.java @@ -240,7 +240,7 @@ public class PutMethod extends WebDAVMethod implements ActivityPostProducer // If the mime-type determined by the repository is different // from the original specified in the request, update it. - if (!m_strContentType.equals(writer.getMimetype())) + if (m_strContentType == null || !m_strContentType.equals(writer.getMimetype())) { String oldMimeType = m_strContentType; m_strContentType = writer.getMimetype(); @@ -347,7 +347,7 @@ public class PutMethod extends WebDAVMethod implements ActivityPostProducer String siteId = getSiteId(); String tenantDomain = getTenantDomain(); - if (siteId.equals(DEFAULT_SITE_ID)) + if (siteId.equals(WebDAVHelper.EMPTY_SITE_ID)) { // There is not enough information to publish site activity. return; diff --git a/source/java/org/alfresco/repo/webdav/WebDAVHelper.java b/source/java/org/alfresco/repo/webdav/WebDAVHelper.java index 8b7cd29008..34294e361b 100644 --- a/source/java/org/alfresco/repo/webdav/WebDAVHelper.java +++ b/source/java/org/alfresco/repo/webdav/WebDAVHelper.java @@ -24,8 +24,6 @@ import java.util.Collections; import java.util.List; import java.util.StringTokenizer; -import javax.servlet.http.HttpServletRequest; - import org.alfresco.model.ContentModel; import org.alfresco.repo.tenant.TenantService; import org.alfresco.service.ServiceRegistry; @@ -67,7 +65,7 @@ public class WebDAVHelper // Path seperator public static final String PathSeperator = "/"; public static final char PathSeperatorChar = '/'; - private static final String DEFAULT_SITE_ID = null; + public static final String EMPTY_SITE_ID = ""; // Logging private static Log logger = LogFactory.getLog("org.alfresco.webdav.protocol"); @@ -659,11 +657,18 @@ public class WebDAVHelper { FileInfo fileInfo = getNodeForPath(method.getRootNodeRef(), method.getPath(), method.getServletPath()); SiteInfo siteInfo = siteService.getSite(fileInfo.getNodeRef()); - siteId = siteInfo.getShortName(); + if (siteInfo != null) + { + siteId = siteInfo.getShortName(); + } + else + { + throw new RuntimeException("Node is not contained by a site: " + method.getPath()); + } } - catch (FileNotFoundException error) + catch (Exception error) { - siteId = DEFAULT_SITE_ID; + siteId = EMPTY_SITE_ID; } return siteId; } diff --git a/source/java/org/alfresco/repo/webdav/WebDAVMethod.java b/source/java/org/alfresco/repo/webdav/WebDAVMethod.java index dbc5b860c0..381b784889 100644 --- a/source/java/org/alfresco/repo/webdav/WebDAVMethod.java +++ b/source/java/org/alfresco/repo/webdav/WebDAVMethod.java @@ -86,8 +86,6 @@ import org.xml.sax.SAXException; */ public abstract class WebDAVMethod { - protected static final String DEFAULT_SITE_ID = ""; - // Log output protected static Log logger = LogFactory.getLog("org.alfresco.webdav.protocol");