Revision 25007267

b/src/gr/grnet/pithos/web/client/Pithos.java
151 151
    	otherSharedTreeView.updateFolder(f, showfiles);
152 152
    }
153 153

  
154
    public List<Tag> getAllTags() {
155
        List<Tag> tagList = new ArrayList<Tag>();
156
        for (Folder f : account.getContainers()) {
157
            for (String t : f.getTags()) {
158
                tagList.add(new Tag(t));
159
            }
160
        }
161
        return tagList;
162
    }
163

  
164 154
    public MysharedTreeView getMySharedTreeView() {
165 155
        return mysharedTreeView;
166 156
    }
......
519 509
        fileList.setFiles(new ArrayList<File>(files));
520 510
    }
521 511

  
522
    protected void fetchFile(final Iterator<File> iter, final Set<File> files) {
523
        if (iter.hasNext()) {
524
            File file = iter.next();
525
            String path = file.getUri() + "?format=json";
526
            GetRequest<File> getFile = new GetRequest<File>(File.class, getApiPath(), username, path, file) {
527
                @Override
528
                public void onSuccess(File _result) {
529
                    fetchFile(iter, files);
530
                }
531

  
532
                @Override
533
                public void onError(Throwable t) {
534
                    GWT.log("Error getting file", t);
535
					setError(t);
536
                    if (t instanceof RestException)
537
                        displayError("Error getting file: " + ((RestException) t).getHttpStatusText());
538
                    else
539
                        displayError("System error fetching file: " + t.getMessage());
540
                }
541

  
542
				@Override
543
				protected void onUnauthorized(Response response) {
544
					sessionExpired();
545
				}
546
            };
547
            getFile.setHeader("X-Auth-Token", "0000");
548
            Scheduler.get().scheduleDeferred(getFile);
549
        }
550
        else
551
            fileList.setFiles(new ArrayList<File>(files));
552
    }
553

  
554 512
    /**
555 513
	 * Parse and store the user credentials to the appropriate fields.
556 514
	 */
b/src/gr/grnet/pithos/web/client/foldertree/File.java
217 217
        return container;
218 218
    }
219 219

  
220
    //Never called
220 221
    public static File createFromResponse(String owner, Response response, File result) {
221 222
        result.populate(owner, response);
222 223
        return result;
b/src/gr/grnet/pithos/web/client/foldertree/Folder.java
80 80

  
81 81
    private Set<File> files = new LinkedHashSet<File>();
82 82

  
83
    private Set<String> tags = new LinkedHashSet<String>();
84

  
85 83
    private String owner;
86 84

  
87 85
    private Map<String, Boolean[]> permissions = new HashMap<String, Boolean[]>();
......
161 159
        if (header != null && header.length() > 0)
162 160
            bytesUsed = Long.valueOf(header);
163 161

  
164
        header = response.getHeader("X-Container-Object-Meta");
165
        if (header != null && header.length() > 0) {
166
            for (String t : header.split(",")) {
167
                tags.add(URL.decodePathSegment(t));
168
            }
169
        }
170

  
171 162
        subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up
172 163
        files.clear();
173 164
        JSONValue json = JSONParser.parseStrict(response.getText());
......
278 269
        this.container = container;
279 270
    }
280 271

  
281
    public Set<String> getTags() {
282
        return tags;
283
    }
284

  
285 272
    public String getInheritedPermissionsFrom() {
286 273
        return inheritedPermissionsFrom;
287 274
    }
b/src/gr/grnet/pithos/web/client/foldertree/Resource.java
109 109
            result1 = (T) Folder.createFromResponse(owner, response, (Folder) result);
110 110
        }
111 111
        else if (aClass.equals(File.class)) {
112
        	//This case cannot happen since we never GET a file directly. Files are always fetch through their parent Folder
112 113
            result1 = (T) File.createFromResponse(owner, response, (File) result);
113 114
        }
114 115
        else if (aClass.equals(SharingUsers.class)) {

Also available in: Unified diff