Revision 0393c0ed web_client/src/gr/grnet/pithos/web/client/foldertree/Folder.java
b/web_client/src/gr/grnet/pithos/web/client/foldertree/Folder.java | ||
---|---|---|
35 | 35 |
|
36 | 36 |
package gr.grnet.pithos.web.client.foldertree; |
37 | 37 |
|
38 |
import gr.grnet.pithos.web.client.Pithos; |
|
39 |
|
|
38 | 40 |
import java.util.Date; |
39 | 41 |
import java.util.HashMap; |
40 | 42 |
import java.util.Iterator; |
... | ... | |
77 | 79 |
|
78 | 80 |
private Set<File> files = new LinkedHashSet<File>(); |
79 | 81 |
|
80 |
private boolean inTrash = false; |
|
81 |
|
|
82 |
/* |
|
83 |
* Flag that indicates that this folder is the Trash |
|
84 |
*/ |
|
85 |
private boolean trash = false; |
|
86 |
|
|
87 | 82 |
private Set<String> tags = new LinkedHashSet<String>(); |
88 | 83 |
|
89 | 84 |
private String owner; |
... | ... | |
167 | 162 |
if (header != null) |
168 | 163 |
bytesUsed = Long.valueOf(header); |
169 | 164 |
|
170 |
header = response.getHeader("X-Object-Meta-Trash"); |
|
171 |
if (header != null && header.equals("true")) |
|
172 |
inTrash = true; |
|
173 |
|
|
174 | 165 |
header = response.getHeader("X-Container-Object-Meta"); |
175 | 166 |
if (header != null && header.length() > 0) { |
176 | 167 |
for (String t : header.split(",")) { |
... | ... | |
197 | 188 |
f.populate(this, o, _owner, container); |
198 | 189 |
subfolders.add(f); |
199 | 190 |
} |
200 |
else if (!(o.containsKey("x_object_meta_trash") && o.get("x_object_meta_trash").isString().stringValue().equals("true"))) {
|
|
191 |
else { |
|
201 | 192 |
File file = new File(); |
202 | 193 |
file.populate(this, o, _owner, container); |
203 | 194 |
files.add(file); |
204 | 195 |
} |
205 | 196 |
} |
206 | 197 |
} |
207 |
//This step is necessary to remove the trashed folders. Trashed folders are added initially because we need to |
|
208 |
//avoid having in the list the virtual folders of the form {"subdir":"folder1"} which have no indication of thrash |
|
209 |
Iterator<Folder> iter = subfolders.iterator(); |
|
210 |
while (iter.hasNext()) { |
|
211 |
Folder f = iter.next(); |
|
212 |
if (f.isInTrash()) |
|
213 |
iter.remove(); |
|
214 |
} |
|
215 | 198 |
} |
216 | 199 |
} |
217 | 200 |
|
... | ... | |
240 | 223 |
prefix = ""; |
241 | 224 |
} |
242 | 225 |
this.owner = _owner; |
243 |
if (o.containsKey("x_object_meta_trash") && o.get("x_object_meta_trash").isString().stringValue().equals("true")) |
|
244 |
inTrash = true; |
|
245 | 226 |
|
246 | 227 |
inheritedPermissionsFrom = unmarshallString(o, "x_object_shared_by"); |
247 | 228 |
String rawPermissions = unmarshallString(o, "x_object_sharing"); |
... | ... | |
286 | 267 |
return "/" + container + (prefix.length() == 0 ? "" : "/" + prefix); |
287 | 268 |
} |
288 | 269 |
|
289 |
public boolean isInTrash() { |
|
290 |
return inTrash; |
|
291 |
} |
|
292 |
|
|
293 | 270 |
public boolean isContainer() { |
294 | 271 |
return parent == null; |
295 | 272 |
} |
296 | 273 |
|
297 |
public boolean isTrash() { |
|
298 |
return trash; |
|
299 |
} |
|
300 |
|
|
301 |
public void setTrash(boolean trash) { |
|
302 |
this.trash = trash; |
|
303 |
} |
|
304 |
|
|
305 | 274 |
public void setContainer(String container) { |
306 | 275 |
this.container = container; |
307 | 276 |
} |
... | ... | |
336 | 305 |
public boolean isShared() { |
337 | 306 |
return !permissions.isEmpty(); |
338 | 307 |
} |
308 |
|
|
309 |
public boolean isTrash() { |
|
310 |
return isContainer() && name.equals(Pithos.TRASH_CONTAINER); |
|
311 |
} |
|
312 |
|
|
313 |
public boolean isHome() { |
|
314 |
return isContainer() && name.equals(Pithos.HOME_CONTAINER); |
|
315 |
} |
|
339 | 316 |
} |
Also available in: Unified diff