projects
/
pithos-web-client
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
When last_modified is not in valid format the date will be set to null
[pithos-web-client]
/
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
(file)
--- 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.Date;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
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;
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;
}
return name;
}
- public Date getLastModified() {
+ @Override
+ public Date getLastModified() {
return lastModified;
}
return lastModified;
}
@@
-105,10
+106,6
@@
public class Folder extends Resource {
return bytesUsed;
}
return bytesUsed;
}
- public void setLastModified(Date lastModified) {
- this.lastModified = lastModified;
- }
-
public Set<Folder> getSubfolders() {
return subfolders;
}
public Set<Folder> getSubfolders() {
return subfolders;
}
@@
-156,10
+153,15
@@
public class Folder extends Resource {
this.owner = _owner;
String header = response.getHeader("Last-Modified");
if (header != null)
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");
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");
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());
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();
}
return !permissions.isEmpty();
}
+ /**
+ * I am THE trash
+ *
+ * @return
+ */
public boolean isTrash() {
return isContainer() && name.equals(Pithos.TRASH_CONTAINER);
}
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 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;
+ }
}
}