Commit 6eed1337 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Upload: added owner folder only if node has a virtual parent

parent c2239cfe
Loading
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ public class FileInfo {
    private String osPath;
    private String virtualPath;
    private boolean isPublic;
    private boolean virtualParent;
    private List<String> groupRead;
    private List<String> groupWrite;
    private String ownerId;
@@ -47,6 +48,14 @@ public class FileInfo {
        this.isPublic = isPublic;
    }

    public boolean hasVirtualParent() {
        return virtualParent;
    }

    public void setVirtualParent(boolean virtualParent) {
        this.virtualParent = virtualParent;
    }

    public List<String> getGroupRead() {
        return groupRead;
    }
+3 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ public class FileDAO {
    public Optional<FileInfo> getFileInfo(String virtualPath) {

        String sql = "SELECT n.node_id, is_public, group_read, group_write, owner_id, async_trans,\n"
                + "accept_views, provide_views, l.location_type,\n"
                + "accept_views, provide_views, l.location_type, n.path <> n.relative_path AS virtual_parent,\n"
                + "(SELECT user_name FROM users WHERE rap_id = owner_id) AS username,\n"
                + "base_path, os_path\n"
                + "FROM node_path p\n"
@@ -57,6 +57,7 @@ public class FileDAO {
                fi.setAsyncTrans(rs.getBoolean("async_trans"));
                fi.setAcceptViews(toList(rs.getArray("accept_views")));
                fi.setProvideViews(toList(rs.getArray("provide_views")));
                fi.setVirtualParent(rs.getBoolean("virtual_parent"));
                fi.setVirtualPath(virtualPath);

                fillOsPath(fi, rs);
@@ -93,7 +94,7 @@ public class FileDAO {
        if (asyncLocation) {
            String username = rs.getString("username");
            completeOsPath = completeOsPath.resolve(username).resolve("retrieve");
        } else {
        } else if (fi.hasVirtualParent()) {
            completeOsPath = completeOsPath.resolve(fi.getOwnerId());
        }