Revision ba0078a6 web_client/src/gr/grnet/pithos/web/client/tagtree/TagTreeViewModel.java

b/web_client/src/gr/grnet/pithos/web/client/tagtree/TagTreeViewModel.java
46 46
import com.google.gwt.view.client.ListDataProvider;
47 47
import com.google.gwt.view.client.SingleSelectionModel;
48 48
import com.google.gwt.view.client.TreeViewModel;
49
import gr.grnet.pithos.web.client.Pithos;
50
import gr.grnet.pithos.web.client.foldertree.AccountResource;
51
import gr.grnet.pithos.web.client.foldertree.Folder;
49 52
import gr.grnet.pithos.web.client.tagtree.TagTreeView.Templates;
53
import java.util.Arrays;
54
import java.util.Iterator;
55
import java.util.List;
56
import java.util.Set;
50 57

  
51 58
public class TagTreeViewModel implements TreeViewModel {
52 59

  
......
54 61

  
55 62
       @Override
56 63
        public void render(Context context, Tag tag, SafeHtmlBuilder safeHtmlBuilder) {
57
            String html = AbstractImagePrototype.create(TagTreeView.images.info()).getHTML();
64
            String html = AbstractImagePrototype.create(TagTreeView.images.tag()).getHTML();
58 65
            safeHtmlBuilder.appendHtmlConstant(html);
59 66
            safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(tag.getName()));
60 67
        }
......
79 86
    @Override
80 87
    public <T> NodeInfo<?> getNodeInfo(T value) {
81 88
        if (value == null) {
82
            rootDataProvider.getList().add("Tags");
89
//            rootDataProvider.getList().add("Tags");
83 90
            return new DefaultNodeInfo<String>(rootDataProvider, new TextCell(new SafeHtmlRenderer<String>() {
84 91
                @Override
85 92
                public SafeHtml render(String object) {
86 93
                    SafeHtmlBuilder builder = new SafeHtmlBuilder();
87
                    String html = AbstractImagePrototype.create(TagTreeView.images.tag()).getHTML();
88
                    builder.appendHtmlConstant(html);
89
                    builder.append(Templates.INSTANCE.nameSpan(object));
94
                    render(object, builder);
90 95
                    return builder.toSafeHtml();
91 96
                }
92 97

  
......
111 116
        if (o == null)
112 117
            return false;
113 118
        if (o instanceof String)
114
            return false;
119
            return tagDataProvider.getList().isEmpty();
115 120
        else
116 121
            return true;
117 122
    }
118 123

  
119
//    private void fetchFolder(final Iterator<Tag> iter, final ListDataProvider<Tag> dataProvider, final Set<Tag> tags) {
120
//        final Pithos app = Pithos.get();
121
//        if (iter.hasNext()) {
122
//            final Tag f = iter.next();
123
//
124
//            String path = app.getApiPath() + app.getUsername() + "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + f.getPrefix();
124
    private void fetchTags(final Iterator<Folder> iter) {
125
        final Pithos app = Pithos.get();
126
        if (iter.hasNext()) {
127
            final Folder f = iter.next();
128

  
129
            String path = app.getApiPath() + app.getUsername() + "/" + f.getUri() + "?format=json&delimiter=/&prefix=" + f.getPrefix();
125 130
//            GetRequest<Tag> getFolder = new GetRequest<Tag>(Tag.class, path, f) {
126 131
//                @Override
127 132
//                public void onSuccess(Tag result) {
......
139 144
//            };
140 145
//            getFolder.setHeader("X-Auth-Token", app.getToken());
141 146
//            Scheduler.get().scheduleDeferred(getFolder);
142
//        }
143
//        else {
144
//            dataProvider.getList().clear();
145
//            dataProvider.getList().addAll(tags);
146
//            if (dataProvider.equals(rootDataProvider)) {
147
//                selectionModel.setSelected(dataProvider.getList().get(0), true);
148
//
149
//                Tag f = new Tag("Trash");
150
//                f.setTrash(true);
151
//                f.setContainer("trash");
152
//                dataProvider.getList().add(f);
153
//
154
//                f = new Tag("Shared");
155
//                f.setContainer("shared");
156
//                dataProvider.getList().add(f);
157
//
158
//                f = new Tag("Others");
159
//                f.setContainer("others");
160
//                dataProvider.getList().add(f);
161
//
162
//                f = new Tag("Tags");
163
//                f.setContainer("tags");
164
//                dataProvider.getList().add(f);
165
//
166
//                f = new Tag("Groups");
167
//                f.setContainer("groups");
168
//                dataProvider.getList().add(f);
169
//            }
170
//        }
171
//    }
147
        }
148
    }
172 149
//
173 150
//    public void initialize(AccountResource account) {
174 151
//        Iterator<Tag> iter = account.getContainers().iterator();
......
219 196
//            }
220 197
//        });
221 198
//    }
199

  
200
    public void initialize(AccountResource account) {
201
        List<Tag> tagList = tagDataProvider.getList();
202
        for (Folder f : account.getContainers()) {
203
            for (String t : f.getTags())
204
                tagList.add(new Tag(t));
205
        }
206
        rootDataProvider.getList().add("Tags");
207
    }
222 208
}

Also available in: Unified diff