Revision fbff60ff web_client/src/gr/grnet/pithos/web/client/foldertree/FolderTreeViewModel.java

b/web_client/src/gr/grnet/pithos/web/client/foldertree/FolderTreeViewModel.java
21 21

  
22 22
public class FolderTreeViewModel implements TreeViewModel {
23 23

  
24
    private SingleSelectionModel<Folder> selectionModel = new SingleSelectionModel<Folder>();
25

  
26 24
    private ListDataProvider<Folder> rootDataProvider = new ListDataProvider<Folder>();
27 25

  
28
    public FolderTreeViewModel() {
29
        Handler selectionHandler = new SelectionChangeEvent.Handler() {
30
            @Override
31
            public void onSelectionChange(SelectionChangeEvent event) {
32
                NodeInfo<Folder> nodeInfo = (NodeInfo<Folder>) getNodeInfo(selectionModel.getSelectedObject());
33
                if(nodeInfo == null || nodeInfo.getValueUpdater() == null) {
34
//                    GSS.get().showFileList(selectionModel.getSelectedObject());
35
                }
36
                else
37
                    nodeInfo.getValueUpdater().update(selectionModel.getSelectedObject());
38
                GSS.get().setCurrentSelection(selectionModel.getSelectedObject());
39
            }
40
        };
41
        selectionModel.addSelectionChangeHandler(selectionHandler);
26
    private SingleSelectionModel<Folder> selectionModel;
27

  
28
    public FolderTreeViewModel(SingleSelectionModel<Folder> selectionModel) {
29
        this.selectionModel = selectionModel;
42 30
    }
43 31

  
44 32
    @Override
......
73 61
                                GSS.get().displayError("System error fetching folder: " + t.getMessage());
74 62
                        }
75 63
                    };
64
                    getFolder.setHeader("X-Auth-Token", app.getToken());
76 65
                    Scheduler.get().scheduleDeferred(getFolder);
77 66
                }
78 67
            });
......
110 99
                        GSS.get().displayError("System error fetching folder: " + t.getMessage());
111 100
                }
112 101
            };
102
            getFolder.setHeader("X-Auth-Token", app.getToken());
113 103
            Scheduler.get().scheduleDeferred(getFolder);
114 104
        }
115 105
        else {
116 106
            dataProvider.getList().clear();
117 107
            dataProvider.getList().addAll(folders);
108
            if (dataProvider.equals(rootDataProvider))
109
                selectionModel.setSelected(dataProvider.getList().get(0), true);
118 110
        }
119 111
    }
120 112

  
......
122 114
        Iterator<Folder> iter = account.getContainers().iterator();
123 115
        fetchFolder(iter, rootDataProvider, account.getContainers());
124 116
    }
117

  
118
    public Folder getSelection() {
119
        return selectionModel.getSelectedObject();
120
    }
125 121
}

Also available in: Unified diff