diff --git a/source/java/org/alfresco/repo/template/BaseContentNode.java b/source/java/org/alfresco/repo/template/BaseContentNode.java index d059fc5e31..f8ca1eb9ab 100644 --- a/source/java/org/alfresco/repo/template/BaseContentNode.java +++ b/source/java/org/alfresco/repo/template/BaseContentNode.java @@ -37,6 +37,8 @@ import org.alfresco.model.ContentModel; import org.alfresco.repo.content.MimetypeMap; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.dictionary.DictionaryService; +import org.alfresco.service.cmr.model.FileInfo; +import org.alfresco.service.cmr.model.FileNotFoundException; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentData; import org.alfresco.service.cmr.repository.ContentReader; @@ -408,6 +410,39 @@ public abstract class BaseContentNode implements TemplateContent } } + /** + * @return The WebDav cm:name based path to the content for the default content property + * (@see ContentModel.PROP_CONTENT) + */ + public String getWebdavUrl() + { + try + { + List paths = this.services.getFileFolderService().getNamePath(null, getNodeRef()); + + // build up the webdav url + StringBuilder path = new StringBuilder(128); + path.append("/webdav"); + + // build up the path skipping the first path as it is the root folder + for (int i=1; i