Index: lams_build/lib/lams/lams-contentrepository.jar =================================================================== diff -u -r6d9f76784c1cf0006c118d74c1757ed8aa2032a4 -r1fe7ee75ce1b32575ba3ecf61525107efe5da080 Binary files differ Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java =================================================================== diff -u -r6d9f76784c1cf0006c118d74c1757ed8aa2032a4 -r1fe7ee75ce1b32575ba3ecf61525107efe5da080 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java (.../SimpleVersionedNode.java) (revision 6d9f76784c1cf0006c118d74c1757ed8aa2032a4) +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java (.../SimpleVersionedNode.java) (revision 1fe7ee75ce1b32575ba3ecf61525107efe5da080) @@ -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