X-Git-Url: https://code.grnet.gr/git/pithos-web-client/blobdiff_plain/7b28ae076fd3319ee11ee9ad2370cb2d627a507b..f3c8bd5beb254a23a4125e0d797547edb2bb8679:/src/gr/grnet/pithos/web/client/foldertree/Folder.java diff --git a/src/gr/grnet/pithos/web/client/foldertree/Folder.java b/src/gr/grnet/pithos/web/client/foldertree/Folder.java index 202408e..3e73b16 100644 --- a/src/gr/grnet/pithos/web/client/foldertree/Folder.java +++ b/src/gr/grnet/pithos/web/client/foldertree/Folder.java @@ -39,11 +39,11 @@ import gr.grnet.pithos.web.client.Pithos; import java.util.Date; import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; +import com.google.gwt.core.client.GWT; import com.google.gwt.http.client.Response; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; @@ -97,7 +97,8 @@ public class Folder extends Resource { return name; } - public Date getLastModified() { + @Override + public Date getLastModified() { return lastModified; } @@ -105,10 +106,6 @@ public class Folder extends Resource { return bytesUsed; } - public void setLastModified(Date lastModified) { - this.lastModified = lastModified; - } - public Set getSubfolders() { return subfolders; } @@ -156,10 +153,15 @@ public class Folder extends Resource { this.owner = _owner; String header = response.getHeader("Last-Modified"); if (header != null) - lastModified = DateTimeFormat.getFormat(PredefinedFormat.RFC_2822).parse(header); + try { + lastModified = DateTimeFormat.getFormat(PredefinedFormat.RFC_2822).parse(header); + } catch (IllegalArgumentException e) { + GWT.log("Last-Modified will be set to null", e); + lastModified = null; + } header = response.getHeader("X-Container-Bytes-Used"); - if (header != null) + if (header != null && header.length() > 0) bytesUsed = Long.valueOf(header); header = response.getHeader("X-Container-Object-Meta"); @@ -169,11 +171,6 @@ public class Folder extends Resource { } } - inheritedPermissionsFrom = response.getHeader("X-Object-Shared-By"); - String rawPermissions = response.getHeader("X-Object-Sharing"); - if (rawPermissions != null) - parsePermissions(rawPermissions); - subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up files.clear(); JSONValue json = JSONParser.parseStrict(response.getText()); @@ -306,11 +303,32 @@ public class Folder extends Resource { return !permissions.isEmpty(); } + /** + * I am THE trash + * + * @return + */ public boolean isTrash() { return isContainer() && name.equals(Pithos.TRASH_CONTAINER); } + + /** + * I am IN THE trash + * + * @return + */ + public boolean isInTrash() { + return container.equals(Pithos.TRASH_CONTAINER); + } public boolean isHome() { return isContainer() && name.equals(Pithos.HOME_CONTAINER); } + + public boolean contains(Folder folder) { + for (Folder f : subfolders) + if (f.equals(folder) || f.contains(folder)) + return true; + return false; + } }