Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions core/src/main/java/ch/cyberduck/core/Acl.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,25 @@
import java.util.Objects;
import java.util.Set;

public final class Acl extends HashMap<Acl.User, Set<Acl.Role>> implements Serializable {
public class Acl extends HashMap<Acl.User, Set<Acl.Role>> implements Serializable {
private static final Logger log = LogManager.getLogger(Acl.class);

public static final Acl EMPTY = new Acl();
public static final Acl EMPTY = new Acl() {
@Override
public boolean isEditable() {
return false;
}

@Override
public void addAll(final User user, final Role... permissions) {
// No-op
}

@Override
public void addAll(final UserAndRole... set) {
// No-op
}
};
/**
* A pre-canned REST ACL to set an object's permissions to Private (only owner can read/write)
*/
Expand Down
164 changes: 162 additions & 2 deletions core/src/main/java/ch/cyberduck/core/PathAttributes.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@
public class PathAttributes extends Attributes implements Serializable {
private static final Logger log = LogManager.getLogger(PathAttributes.class);

public static final PathAttributes EMPTY = new PathAttributes();

/**
* The file length
*/
Expand Down Expand Up @@ -716,4 +714,166 @@ public String toString() {
sb.append('}');
return sb.toString();
}

public static final PathAttributes EMPTY = new PathAttributes() {
@Override
public <T> T serialize(final Serializer<T> dict) {
return super.serialize(dict);
}

@Override
public PathAttributes setSize(final long size) {
return this;
}

@Override
public PathAttributes setQuota(final Quota.Space quota) {
return this;
}

@Override
public PathAttributes setModificationDate(final long millis) {
return this;
}

@Override
public PathAttributes setCreationDate(final long millis) {
return this;
}

@Override
public PathAttributes setAccessedDate(final long millis) {
return this;
}

@Override
public PathAttributes setPermission(final Permission p) {
return this;
}

@Override
public PathAttributes setAcl(final Acl acl) {
return this;
}

@Override
public PathAttributes setOwner(final String o) {
return this;
}

@Override
public PathAttributes setGroup(final String g) {
return this;
}

@Override
public PathAttributes setChecksum(final Checksum checksum) {
return this;
}

@Override
public PathAttributes setETag(final String etag) {
return this;
}

@Override
public PathAttributes setStorageClass(final String storageClass) {
return this;
}

@Override
public PathAttributes setEncryption(final Encryption.Algorithm encryption) {
return this;
}

@Override
public PathAttributes setVersionId(final String versionId) {
return this;
}

@Override
public PathAttributes setFileId(final String fileId) {
return this;
}

@Override
public PathAttributes setLockId(final String lockId) {
return this;
}

@Override
public PathAttributes setDirectoryId(final String directoryId) {
return this;
}

@Override
public PathAttributes setRevision(final Long revision) {
return this;
}

@Override
public PathAttributes setDecrypted(final Path decrypted) {
return this;
}

@Override
public PathAttributes setEncrypted(final Path encrypted) {
return this;
}

@Override
public PathAttributes setVault(final Path vault) {
return this;
}

@Override
public PathAttributes setDuplicate(final boolean duplicate) {
return this;
}

@Override
public PathAttributes setHidden(final boolean hidden) {
return this;
}

@Override
public PathAttributes setTrashed(final boolean trashed) {
return this;
}

@Override
public PathAttributes setMetadata(final Map<String, String> metadata) {
return this;
}

@Override
public PathAttributes setRegion(final String region) {
return this;
}

@Override
public PathAttributes setDisplayname(final String displayname) {
return this;
}

@Override
public PathAttributes setLink(final DescriptiveUrl link) {
return this;
}

@Override
public PathAttributes setCustom(final Map<String, String> custom) {
return this;
}

@Override
public PathAttributes setCustom(final String key, final String value) {
return this;
}

@Override
public PathAttributes setVerdict(final Verdict verdict) {
return this;
}
};
}
30 changes: 30 additions & 0 deletions core/src/main/java/ch/cyberduck/core/Permission.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,36 @@ public String getMode() {
public String getSymbol() {
return "--";
}

@Override
public void setUser(final Action user) {
// No-op
}

@Override
public void setGroup(final Action group) {
// No-op
}

@Override
public void setOther(final Action other) {
// No-op
}

@Override
public void setSetuid(final boolean setuid) {
// No-op
}

@Override
public void setSetgid(final boolean setgid) {
// No-op
}

@Override
public void setSticky(final boolean sticky) {
// No-op
}
};

private Action user;
Expand Down