Index: lams_build/lib/lams/lams-contentrepository.jar =================================================================== RCS file: /usr/local/cvsroot/lams_build/lib/lams/lams-contentrepository.jar,v diff -u -r1.27 -r1.28 Binary files differ Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java,v diff -u -r1.11 -r1.12 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java 7 Nov 2007 03:25:16 -0000 1.11 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java 7 Nov 2007 07:02:10 -0000 1.12 @@ -43,6 +43,7 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.contentrepository.CrNode; import org.lamsfoundation.lams.contentrepository.CrNodeVersion; +import org.lamsfoundation.lams.contentrepository.CrNodeVersionProperty; import org.lamsfoundation.lams.contentrepository.CrWorkspace; import org.lamsfoundation.lams.contentrepository.FileException; import org.lamsfoundation.lams.contentrepository.ITicket; @@ -60,6 +61,7 @@ import org.lamsfoundation.lams.contentrepository.ValueFormatException; import org.lamsfoundation.lams.contentrepository.dao.IFileDAO; import org.lamsfoundation.lams.contentrepository.dao.INodeDAO; +import org.lamsfoundation.lams.util.FileUtil; /** @@ -270,37 +272,17 @@ /** * @see org.lamsfoundation.lams.contentrepository.IVersionedNode#getZipCompatiblePath() */ - public String getZipCompatiblePath() { + public String getZipCompatibleFilename() { nodeObjectInitilised("Unable to get path."); - String path = node.getPath(); - if ( path == null ) { + + CrNodeVersionProperty filenameProperty = nodeVersion.getProperty(PropertyName.FILENAME); + String filename = filenameProperty != null ? filenameProperty.getString() : null; + + if ( filename == null ) { return null; } else { String uuidString = node.getNodeId().toString(); - - path = path.trim(); - int dotPos = path.lastIndexOf("."); - String extension = dotPos >= 0 ? path.substring(dotPos + 1, path.length()) : null; - - // convert each section of the path to the number - // should try to handle funny paths like ones with leading or trailing slashes - String modified = ""; - if ( path.startsWith("/") ) { - modified = "/" + modified; - path = path.substring(1,path.length()); - } - - String[] pathParts = path.split("[/]+"); - for ( int i=0; i