Revision 2637c9cd src/gr/grnet/pithos/web/client/foldertree/Folder.java
b/src/gr/grnet/pithos/web/client/foldertree/Folder.java | ||
---|---|---|
44 | 44 |
import com.google.gwt.json.client.JSONValue; |
45 | 45 |
import java.util.ArrayList; |
46 | 46 |
import java.util.Date; |
47 |
import java.util.Iterator; |
|
47 | 48 |
import java.util.LinkedHashSet; |
48 | 49 |
import java.util.List; |
49 | 50 |
import java.util.Set; |
... | ... | |
75 | 76 |
|
76 | 77 |
private Set<File> files = new LinkedHashSet<File>(); |
77 | 78 |
|
79 |
private boolean inTrash = false; |
|
80 |
|
|
78 | 81 |
public Folder() {}; |
79 | 82 |
|
80 | 83 |
public Folder(String name) { |
... | ... | |
126 | 129 |
if (header != null) |
127 | 130 |
bytesUsed = Long.valueOf(header); |
128 | 131 |
|
132 |
header = response.getHeader("X-Object-Meta-Trash"); |
|
133 |
if (header != null && header.equals("true")) |
|
134 |
inTrash = true; |
|
135 |
|
|
129 | 136 |
subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up |
130 | 137 |
files.clear(); |
131 | 138 |
JSONValue json = JSONParser.parseStrict(response.getText()); |
... | ... | |
147 | 154 |
} |
148 | 155 |
} |
149 | 156 |
} |
157 |
Iterator<Folder> iter = subfolders.iterator(); |
|
158 |
while (iter.hasNext()) { |
|
159 |
Folder f = iter.next(); |
|
160 |
if (f.isInTrash()) |
|
161 |
iter.remove(); |
|
162 |
} |
|
163 |
Iterator<File> it = files.iterator(); |
|
164 |
while (it.hasNext()) { |
|
165 |
File f = it.next(); |
|
166 |
if (f.isInTrash()) |
|
167 |
it.remove(); |
|
168 |
} |
|
150 | 169 |
} |
151 | 170 |
} |
152 | 171 |
|
... | ... | |
174 | 193 |
container = name; |
175 | 194 |
prefix = ""; |
176 | 195 |
} |
196 |
if (o.containsKey("x_object_meta_trash") && o.get("x_object_meta_trash").isString().stringValue().equals("true")) |
|
197 |
inTrash = true; |
|
177 | 198 |
} |
178 | 199 |
|
179 | 200 |
public static Folder createFromResponse(Response response, Folder result) { |
... | ... | |
212 | 233 |
public String getUri() { |
213 | 234 |
return "/" + container + (prefix.length() == 0 ? "" : "/" + prefix); |
214 | 235 |
} |
236 |
|
|
237 |
public boolean isInTrash() { |
|
238 |
return inTrash; |
|
239 |
} |
|
215 | 240 |
} |
Also available in: Unified diff