private Set<File> files = new LinkedHashSet<File>();
- private Set<String> tags = new LinkedHashSet<String>();
-
private String owner;
private Map<String, Boolean[]> permissions = new HashMap<String, Boolean[]>();
if (header != null && header.length() > 0)
bytesUsed = Long.valueOf(header);
- header = response.getHeader("X-Container-Object-Meta");
- if (header != null && header.length() > 0) {
- for (String t : header.split(",")) {
- tags.add(URL.decodePathSegment(t));
- }
+ String rawPermissions = response.getHeader("X-Object-Sharing");
+ if (rawPermissions != null && rawPermissions.length() > 0) {
+ parsePermissions(URL.decodePathSegment(rawPermissions));
}
-
- subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up
- files.clear();
+
+ if (response.getText() == null || response.getText().isEmpty())
+ return;
JSONValue json = JSONParser.parseStrict(response.getText());
JSONArray array = json.isArray();
if (array != null) {
+ subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up
+ files.clear();
for (int i=0; i<array.size(); i++) {
JSONObject o = array.get(i).isObject();
if (o != null) {
this.container = container;
}
- public Set<String> getTags() {
- return tags;
- }
-
public String getInheritedPermissionsFrom() {
return inheritedPermissionsFrom;
}
return owner;
}
- public boolean existChildrenPermissions() {
- for (File f : files)
- if (!f.getPermissions().isEmpty() && f.getInheritedPermissionsFrom() == null)
- return true;
-
- for (Folder fo : subfolders)
- if ((!fo.getPermissions().isEmpty() && fo.getInheritedPermissionsFrom() == null) || fo.existChildrenPermissions())
- return true;
- return false;
- }
-
public boolean isShared() {
return !permissions.isEmpty();
}