dir listing speed: dont't determine filesize during getProperties() but only when explicitly asked by getProperty(String)

This commit is contained in:
Sebastian Stenzel
2016-01-09 22:19:16 +01:00
parent 5ff4f4c9c7
commit 8f319b3f87
@@ -9,7 +9,6 @@
package org.cryptomator.webdav.jackrabbitservlet;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.WritableByteChannel;
@@ -24,7 +23,6 @@ import org.apache.jackrabbit.webdav.io.OutputContext;
import org.apache.jackrabbit.webdav.lock.LockManager;
import org.apache.jackrabbit.webdav.property.DavProperty;
import org.apache.jackrabbit.webdav.property.DavPropertyName;
import org.apache.jackrabbit.webdav.property.DavPropertySet;
import org.apache.jackrabbit.webdav.property.DefaultDavProperty;
import org.cryptomator.filesystem.ReadableFile;
import org.cryptomator.filesystem.WritableFile;
@@ -106,19 +104,6 @@ class DavFile extends DavNode<FileLocator> {
}
}
@Override
public DavPropertySet getProperties() {
final DavPropertySet result = super.getProperties();
if (node.exists()) {
try (ReadableFile src = node.openReadable()) {
result.add(new DefaultDavProperty<Long>(DavPropertyName.GETCONTENTLENGTH, src.size()));
} catch (UncheckedIOException e) {
result.add(new DefaultDavProperty<Long>(DavPropertyName.GETCONTENTLENGTH, -1l));
}
}
return result;
}
@Override
protected void setModificationTime(Instant instant) {
try (WritableFile writable = node.openWritable()) {