2 * Copyright 2008, 2009 Electronic Business Systems Ltd.
4 * This file is part of GSS.
6 * GSS is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GSS is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GSS. If not, see <http://www.gnu.org/licenses/>.
19 package gr.ebs.gss.client.commands;
21 import gr.ebs.gss.client.FileUploadDialog;
22 import gr.ebs.gss.client.GSS;
23 import gr.ebs.gss.client.rest.GetCommand;
24 import gr.ebs.gss.client.rest.resource.FileResource;
25 import gr.ebs.gss.client.rest.resource.FolderResource;
26 import gr.ebs.gss.client.rest.resource.RestResource;
27 import gr.ebs.gss.client.rest.resource.RestResourceWrapper;
29 import java.util.ArrayList;
30 import java.util.List;
32 import com.google.gwt.core.client.GWT;
33 import com.google.gwt.user.client.Command;
34 import com.google.gwt.user.client.DeferredCommand;
35 import com.google.gwt.user.client.IncrementalCommand;
36 import com.google.gwt.user.client.ui.PopupPanel;
37 import com.google.gwt.user.client.ui.TreeItem;
40 * Upload a file command
44 public class UploadFileCommand implements Command {
46 private PopupPanel containerPanel;
47 private List<FileResource> files;
49 public UploadFileCommand(PopupPanel _containerPanel) {
50 containerPanel = _containerPanel;
54 public void execute() {
55 containerPanel.hide();
60 * Display the 'new file' dialog for uploading a new file to the system.
62 private void displayNewFile() {
63 RestResource currentFolder = GSS.get().getTreeView().getSelection();
64 if (currentFolder == null) {
65 GSS.get().displayError("You have to select the parent folder first");
69 DeferredCommand.addCommand(new IncrementalCommand() {
72 public boolean execute() {
73 boolean res = canContinue();
75 FileUploadDialog dlg = GWT.create(FileUploadDialog.class);
86 private boolean canContinue() {
92 private void getFileList() {
93 GetCommand<FolderResource> eg = new GetCommand<FolderResource>(FolderResource.class,((RestResourceWrapper)GSS.get().getTreeView().getSelection()).getUri(), null){
96 public void onComplete() {
97 files = getResult().getFiles();
101 public void onError(Throwable t) {
102 files = new ArrayList<FileResource>();
106 DeferredCommand.addCommand(eg);