Merged V3.2 to HEAD

19165: Fix "avmbrowse" sample web script


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19257 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2010-03-12 15:41:50 +00:00
parent 76bba1fa4e
commit e96af8d097
3 changed files with 31 additions and 13 deletions

View File

@@ -1,24 +1,24 @@
<html> <html>
<head> <head>
<title>AVM Folder: ${folder.displayPath}/${folder.name}</title> <title>AVM Folder: ${folder.displayPath}</title>
</head> </head>
<body> <body>
<a href="${url.serviceContext}/sample/avm/stores">AVM Store</a>: ${store.id} <a href="${url.serviceContext}/sample/avm/stores">AVM Store</a>: ${store.id}
<br> <br>
<br> <br>
AVM Folder: ${folder.displayPath}/${folder.name} AVM Folder: ${folder.displayPath}
<br> <br>
<br> <br>
<table> <table>
<#if folder.parent?exists> <#if folder.parent?exists>
<tr> <tr>
<td>${folder.parent.properties.creator}<td>&nbsp;<td>${folder.parent.size}<td>&nbsp;<td>${folder.parent.properties.modified?datetime}<td>&nbsp;<td><td><a href="${url.serviceContext}/sample/avm/path/${store.id}<@encodepath node=folder.parent/>">..</a> <td>${folder.parent.properties.creator}<td>&nbsp;<td>&nbsp<td>&nbsp;<td>${folder.parent.properties.modified?datetime}<td>&nbsp;<td><td><a href="${url.serviceContext}/sample/avm/path/${store.id}<#if folder.parent.parent?exists><@encodepath node=folder.parent/><#else>/</#if>">..</a>
</tr> </tr>
</#if> </#if>
<#list folder.children as child> <#list folder.children as child>
<tr> <tr>
<#if child.isContainer> <#if child.isContainer>
<td>${child.properties.creator}<td>&nbsp;<td>${child.size}<td>&nbsp;<td>${child.properties.modified?datetime}<td>&nbsp;<td>&gt;<td><a href="${url.serviceContext}/sample/avm/path/${store.id}<@encodepath node=child/>">${child.name}</a> <td>${child.properties.creator}<td>&nbsp;<td>&nbsp<td>&nbsp;<td>${child.properties.modified?datetime}<td>&nbsp;<td>&gt;<td><a href="${url.serviceContext}/sample/avm/path/${store.id}<@encodepath node=child/>">${child.name}</a>
<#else> <#else>
<td>${child.properties.creator}<td>&nbsp;<td>${child.size}<td>&nbsp;<td>${child.properties.modified?datetime}<td>&nbsp;<td><td><a href="${url.serviceContext}/api/node/content/${child.nodeRef.storeRef.protocol}/${child.nodeRef.storeRef.identifier}/${child.nodeRef.id}/${child.name?url}">${child.name}</a> <td>${child.properties.creator}<td>&nbsp;<td>${child.size}<td>&nbsp;<td>${child.properties.modified?datetime}<td>&nbsp;<td><td><a href="${url.serviceContext}/api/node/content/${child.nodeRef.storeRef.protocol}/${child.nodeRef.storeRef.identifier}/${child.nodeRef.id}/${child.name?url}">${child.name}</a>
</#if> </#if>

View File

@@ -62,9 +62,11 @@ public class AVMUtil
} }
/** /**
* Split a path into its parent path and its base name. * Split a path into its parent path and its base name. If the store root path is passed, then return [null, ""].
*
* @param path The initial AVM path. * @param path The initial AVM path.
* @return An array of 2 Strings containing the parent path and the base *
* @return An array of 2 Strings containing the parent AVM path (or null) and the base
* name. * name.
*/ */
public static String[] splitBase(String path) public static String[] splitBase(String path)

View File

@@ -23,16 +23,14 @@ import java.io.StringReader;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMModel; import org.alfresco.model.WCMModel;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.avm.util.AVMUtil;
import org.alfresco.repo.domain.PropertyValue; import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.repo.template.BaseContentNode.TemplateContentData;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.audit.AuditInfo; import org.alfresco.service.cmr.audit.AuditInfo;
import org.alfresco.service.cmr.avm.AVMNodeDescriptor; import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
@@ -41,7 +39,6 @@ import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentData; import org.alfresco.service.cmr.repository.ContentData;
import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.repository.TemplateImageResolver; import org.alfresco.service.cmr.repository.TemplateImageResolver;
@@ -53,7 +50,6 @@ import org.springframework.extensions.surf.util.Pair;
import org.springframework.extensions.surf.util.URLEncoder; import org.springframework.extensions.surf.util.URLEncoder;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.util.StringUtils;
import org.xml.sax.InputSource; import org.xml.sax.InputSource;
import freemarker.ext.dom.NodeModel; import freemarker.ext.dom.NodeModel;
@@ -316,13 +312,17 @@ public class AVMTemplateNode extends BasePermissionsNode implements NamespacePre
// TemplateProperties API // TemplateProperties API
/** /**
* @return the immediate parent in the node path * @return the immediate parent in the node path (null if root of store)
*/ */
public TemplateProperties getParent() public TemplateProperties getParent()
{ {
if (this.parent == null) if (this.parent == null)
{ {
this.parent = new AVMTemplateNode(this.getParentPath(), this.version, this.services, this.imageResolver); String parentPath = this.getParentPath();
if (parentPath != null)
{
this.parent = new AVMTemplateNode(parentPath, this.version, this.services, this.imageResolver);
}
} }
return this.parent; return this.parent;
} }
@@ -498,6 +498,10 @@ public class AVMTemplateNode extends BasePermissionsNode implements NamespacePre
*/ */
public String getMimetype() public String getMimetype()
{ {
if (getIsContainer())
{
return null;
}
return this.services.getAVMService().getContentDataForRead(this.avmRef).getMimetype(); return this.services.getAVMService().getContentDataForRead(this.avmRef).getMimetype();
} }
@@ -507,6 +511,10 @@ public class AVMTemplateNode extends BasePermissionsNode implements NamespacePre
*/ */
public String getDisplayMimetype() public String getDisplayMimetype()
{ {
if (getIsContainer())
{
return null;
}
final String mimetype = this.services.getAVMService().getContentDataForRead(this.avmRef).getMimetype(); final String mimetype = this.services.getAVMService().getContentDataForRead(this.avmRef).getMimetype();
return services.getMimetypeService().getDisplaysByMimetype().get(mimetype); return services.getMimetypeService().getDisplaysByMimetype().get(mimetype);
} }
@@ -517,6 +525,10 @@ public class AVMTemplateNode extends BasePermissionsNode implements NamespacePre
*/ */
public String getEncoding() public String getEncoding()
{ {
if (getIsContainer())
{
return null;
}
return this.services.getAVMService().getContentDataForRead(this.avmRef).getEncoding(); return this.services.getAVMService().getContentDataForRead(this.avmRef).getEncoding();
} }
@@ -526,6 +538,10 @@ public class AVMTemplateNode extends BasePermissionsNode implements NamespacePre
*/ */
public long getSize() public long getSize()
{ {
if (getIsContainer())
{
return -1;
}
return this.services.getAVMService().getContentDataForRead(this.avmRef).getSize(); return this.services.getAVMService().getContentDataForRead(this.avmRef).getSize();
} }