diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpFileFactory.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpFileFactory.java index 94bae15ea0f3acbd52a6a6af08223bd8373f1757..f72dcc866c08b3cd643894f52159f68c9236c183 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpFileFactory.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpFileFactory.java @@ -16,8 +16,6 @@ package ch.systemsx.cisd.openbis.dss.generic.server.ftp; -import java.io.File; - import org.apache.ftpserver.ftplet.FtpFile; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.IHierarchicalContentNodeFilter; @@ -66,11 +64,7 @@ public class FtpFileFactory { try { - File file = contentNode.getFile(); - if (file != null) - { - return file.lastModified(); - } + return contentNode.getLastModified(); } catch (UnsupportedOperationException uoe) { // ignore diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContent.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContent.java index f4b2ebfb55c24aac11799fea51bd06575484018c..f1933561d84a0cd817cf7f1dfe2cccf0c61c37da 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContent.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContent.java @@ -72,11 +72,11 @@ public class RemoteHierarchicalContent implements IHierarchicalContent if (info == null) { - FileInfoDssDTO[] files = - getRemoteDss().listFilesForDataSet(sessionHolder.getSessionToken(), - location.getLocation().getDataSetCode(), "", false); - - info = convert(files[0]); + info = new DataSetPathInfo(); + info.setDirectory(true); + info.setRelativePath(""); + info.setParent(null); + info.setFileName(""); } return createNode(info); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContentNode.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContentNode.java index 7156f93a2120317ced64bc5a95639fa2110d616b..16e1bc8cb9a45323fc55a2ce7ff42c2b2bc27091 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContentNode.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/RemoteHierarchicalContentNode.java @@ -23,6 +23,7 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; +import java.util.Date; import java.util.List; import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; @@ -132,7 +133,13 @@ public class RemoteHierarchicalContentNode implements IHierarchicalContentNode @Override public long getLastModified() { - return path.getLastModified().getTime(); + if (path.getLastModified() != null) + { + return path.getLastModified().getTime(); + } else + { + return 0; + } } @Override @@ -179,6 +186,7 @@ public class RemoteHierarchicalContentNode implements IHierarchicalContentNode info.setFileName(file.getPathInDataSet()); info.setRelativePath(file.getPathInDataSet()); info.setSizeInBytes(file.getFileSize()); + info.setLastModified(new Date(0L)); children.add(new RemoteHierarchicalContentNode(dataSetCode, info, provider, localDss, remoteDss, sessionHolder, sessionWorkspaceRoot, path.getRelativePath()));