@Override
public void onSelectionChange(com.google.gwt.view.client.SelectionChangeEvent event) {
NodeInfo<RestResource> nodeInfo = (NodeInfo<RestResource>) getModel().getNodeInfo(selectionModel.getSelectedObject());
- if(nodeInfo==null || nodeInfo.getValueUpdater()==null){}
-
+ if(nodeInfo==null || nodeInfo.getValueUpdater()==null){
+ GSS.get().showFileList(getSelection());
+ }
else
nodeInfo.getValueUpdater().update(selectionModel.getSelectedObject());
GSS.get().setCurrentSelection(selectionModel.getSelectedObject());
- GSS.get().showFileList(true);
+
}
};
return null;
}
+ public void refreshCurrentNode(){
+ NodeInfo<RestResource> nodeInfo = (NodeInfo<RestResource>) getModel().getNodeInfo(selectionModel.getSelectedObject());
+ if(nodeInfo==null || nodeInfo.getValueUpdater()==null){
+ GSS.get().showFileList(getSelection());
+ }
+ else
+ nodeInfo.getValueUpdater().update(selectionModel.getSelectedObject());
+ }
}
getRootNodes().getList().set(getRootNodes().getList().indexOf(r),GSS.get().getTreeView().getTrash());
}
GSS.get().getTreeView().updateNodeChildren(GSS.get().getTreeView().getTrash());
- GSS.get().showFileList(true);
+ //GSS.get().showFileList(true);
+ GSS.get().onResourceUpdate(value);
}
@Override
};
DeferredCommand.addCommand(gf);
}
+ else if(value instanceof SharedFolderResource){
+ GetCommand<FolderResource> gf = new GetCommand<FolderResource>(FolderResource.class, value.getUri(), null) {
+
+ @Override
+ public void onComplete() {
+ FolderResource rootResource = getResult();
+ //((MyFolderResource)value).getResource().setFiles(rootResource.getFiles());
+ ((SharedFolderResource)value).setResource(rootResource);
+ if(GSS.get().getTreeView().getSelection().getUri().equals(value.getUri()))
+ selectionModel.setSelected(value, true);
+ GSS.get().onResourceUpdate(value);
+
+ }
+
+ @Override
+ public void onError(Throwable t) {
+ GWT.log("Error fetching root folder", t);
+ GSS.get().displayError("Unable to fetch root folder");
+ }
+
+ };
+ DeferredCommand.addCommand(gf);
+ }
+ else if(value instanceof SharedResource){
+ GetCommand<SharedResource> gf = new GetCommand<SharedResource>(SharedResource.class, value.getUri(), null) {
+
+ @Override
+ public void onComplete() {
+ SharedResource rootResource = getResult();
+ ((SharedResource)value).setFolders(getResult().getFolders());
+ ((SharedResource)value).setFiles(getResult().getFiles());
+
+ if(GSS.get().getTreeView().getSelection().getUri().equals(value.getUri()))
+ selectionModel.setSelected(value, true);
+ GSS.get().onResourceUpdate(value);
+
+ }
+
+ @Override
+ public void onError(Throwable t) {
+ GWT.log("Error fetching root folder", t);
+ GSS.get().displayError("Unable to fetch root folder");
+ }
+
+ };
+ DeferredCommand.addCommand(gf);
+ }
+ else if(value instanceof OtherUserResource){
+ GetCommand<OtherUserResource> gf = new GetCommand<OtherUserResource>(OtherUserResource.class, value.getUri(), null) {
+
+ @Override
+ public void onComplete() {
+ OtherUserResource rootResource = getResult();
+ ((OtherUserResource)value).setFolders(getResult().getFolders());
+ ((OtherUserResource)value).setFiles(getResult().getFiles());
+
+ if(GSS.get().getTreeView().getSelection().getUri().equals(value.getUri()))
+ selectionModel.setSelected(value, true);
+ GSS.get().onResourceUpdate(value);
+
+ }
+
+ @Override
+ public void onError(Throwable t) {
+ GWT.log("Error fetching root folder", t);
+ GSS.get().displayError("Unable to fetch root folder");
+ }
+
+ };
+ DeferredCommand.addCommand(gf);
+ }
}
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) {
@Override
public String getValue(FileResource object) {
- // TODO Auto-generated method stub
return object.getVersion().toString();
}
},aheader = new SortableHeader("Version"));
public void updateCurrentlyShowingStats() {
GSS.get().getStatusPanel().updateCurrentlyShowing(showingStats);
}
-
- public void updateFileCache(boolean updateSelectedFolder, final boolean clearSelection) {
- updateFileCache(updateSelectedFolder, clearSelection, null);
- }
-
- public void updateFileCache(boolean updateSelectedFolder, final boolean clearSelection, final String newFilename) {
- if (!updateSelectedFolder && !GSS.get().getTreeView().getSelection().equals(GSS.get().getTreeView().getTrash()))
- updateFileCache(clearSelection);
- else if (GSS.get().getTreeView().getSelection() != null) {
- update(true);
- }
- updateFileCache(clearSelection);
- }
-
-
- private void updateFileCache(boolean clearSelection) {
- updateFileCache(clearSelection, null);
- }
-
- /**
- * Update the file cache with data from the server.
- *
- * @param newFilename the new name of the previously selected file,
- * if a rename operation has taken place
- */
- private void updateFileCache(boolean clearSelection, String newFilename) {
- if (clearSelection)
+
+ public void updateFileCache(boolean clearSelection){
+ if(clearSelection)
clearSelectedRows();
- startIndex = 0;
final RestResource folderItem = GSS.get().getTreeView().getSelection();
// Validation.
if (folderItem == null || folderItem.equals(GSS.get().getTreeView().getOthers())) {
update(true);
return;
}
- if (folderItem instanceof RestResourceWrapper) {
+ else if (folderItem instanceof RestResourceWrapper) {
setFiles(((RestResourceWrapper) folderItem).getResource().getFiles());
update(true);
}
- if (folderItem instanceof SharedResource) {
+ else if (folderItem instanceof SharedResource) {
setFiles(((SharedResource) folderItem).getFiles());
update(true);
}
- if (folderItem instanceof OtherUserResource) {
-
+ else if (folderItem instanceof OtherUserResource) {
setFiles(((OtherUserResource) folderItem).getFiles());
- GWT.log("----->"+files);
update(true);
}
- if (folderItem instanceof TrashResource) {
+ else if (folderItem instanceof TrashResource) {
setFiles(((TrashResource) folderItem).getFiles());
update(true);
}
- GWT.log(folderItem.getClass().getName());
}
+
/**
* Fill the file cache with data.
\r
@Override\r
public void onComplete() {\r
- GSS.get().getFileList().updateFileCache(true, false /* do not clear selected file*/, newFilenameFinal);\r
+ GSS.get().getTreeView().refreshCurrentNode();\r
}\r
\r
@Override\r
\r
@Override\r
public void onComplete() {\r
- GSS.get().getFileList().updateFileCache(true, false /* do not clear selected file*/);\r
+ GSS.get().getTreeView().refreshCurrentNode();\r
}\r
\r
@Override\r
\r
@Override\r
public void onComplete() {\r
- GSS.get().getFileList().updateFileCache(true, false /* do not clear selected file*/);\r
+ GSS.get().getTreeView().refreshCurrentNode();\r
}\r
\r
@Override\r
import gr.ebs.gss.client.rest.GetCommand;
import gr.ebs.gss.client.rest.RestException;
import gr.ebs.gss.client.rest.resource.FileResource;
-import gr.ebs.gss.client.rest.resource.FolderResource;
import gr.ebs.gss.client.rest.resource.OtherUserResource;
-import gr.ebs.gss.client.rest.resource.OthersResource;
import gr.ebs.gss.client.rest.resource.RestResource;
import gr.ebs.gss.client.rest.resource.RestResourceWrapper;
+import gr.ebs.gss.client.rest.resource.SharedResource;
import gr.ebs.gss.client.rest.resource.TrashResource;
import gr.ebs.gss.client.rest.resource.UserResource;
*/
public static final boolean DONE = false;
- public static final int VISIBLE_FILE_COUNT = 100;
+ public static final int VISIBLE_FILE_COUNT = 25;
/**
* Instantiate an application-level image bundle. This object will provide
* Make the file list visible.
*/
public void showFileList() {
- fileList.updateFileCache(false, true /*clear selection*/);
+ fileList.updateFileCache(true /*clear selection*/);
inner.selectTab(0);
}
* @param update
*/
public void showFileList(boolean update) {
- /*TreeItem currentFolder = getFolders().getCurrent();
- if (currentFolder != null) {
- List<FileResource> files = null;
- Object cachedObject = currentFolder.getUserObject();
- if (cachedObject instanceof FolderResource) {
- FolderResource folder = (FolderResource) cachedObject;
- files = folder.getFiles();
- } else if (cachedObject instanceof TrashResource) {
- TrashResource folder = (TrashResource) cachedObject;
- files = folder.getFiles();
- }
- if (files != null)
- getFileList().setFiles(files);
- }*/
- RestResource currentFolder = getTreeView().getSelection();
- GWT.log("SELECTED:"+currentFolder);
- if(currentFolder!=null){
- GWT.log("SELECTED:"+currentFolder.getClass());
- List<FileResource> files = null;
- if (currentFolder instanceof RestResourceWrapper) {
- RestResourceWrapper folder = (RestResourceWrapper) currentFolder;
- files = folder.getResource().getFiles();
- } else if (currentFolder instanceof TrashResource) {
- TrashResource folder = (TrashResource) currentFolder;
- files = folder.getFiles();
- }
- else if(currentFolder instanceof OthersResource){
- files = new ArrayList<FileResource>();
- }
- else if(currentFolder instanceof OtherUserResource){
- files = ((OtherUserResource)currentFolder).getFiles();
+ if(update){
+ getTreeView().refreshCurrentNode();
+ }
+ else{
+ RestResource currentFolder = getTreeView().getSelection();
+ if(currentFolder!=null){
+ showFileList(currentFolder);
}
- if (files != null)
- getFileList().setFiles(files);
}
- fileList.updateFileCache(update, true /*clear selection*/);
- inner.selectTab(0);
+
}
- public void showFileList(RestResource r,boolean update) {
- /*TreeItem currentFolder = getFolders().getCurrent();
- if (currentFolder != null) {
- List<FileResource> files = null;
- Object cachedObject = currentFolder.getUserObject();
- if (cachedObject instanceof FolderResource) {
- FolderResource folder = (FolderResource) cachedObject;
- files = folder.getFiles();
- } else if (cachedObject instanceof TrashResource) {
- TrashResource folder = (TrashResource) cachedObject;
- files = folder.getFiles();
- }
- if (files != null)
- getFileList().setFiles(files);
- }*/
+ public void showFileList(RestResource r) {
RestResource currentFolder = r;
- GWT.log("SELECTED:"+currentFolder);
if(currentFolder!=null){
List<FileResource> files = null;
if (currentFolder instanceof RestResourceWrapper) {
TrashResource folder = (TrashResource) currentFolder;
files = folder.getFiles();
}
+ else if (currentFolder instanceof SharedResource) {
+ SharedResource folder = (SharedResource) currentFolder;
+ files = folder.getFiles();
+ }
else if (currentFolder instanceof OtherUserResource) {
OtherUserResource folder = (OtherUserResource) currentFolder;
files = folder.getFiles();
}
if (files != null)
getFileList().setFiles(files);
+ else
+ getFileList().setFiles(new ArrayList<FileResource>());
}
- fileList.updateFileCache(update, true /*clear selection*/);
+ fileList.updateFileCache(true /*clear selection*/);
inner.selectTab(0);
}
}
public void onResourceUpdate(RestResource resource){
- if(resource instanceof RestResourceWrapper || resource instanceof OtherUserResource){
+ if(resource instanceof RestResourceWrapper || resource instanceof OtherUserResource || resource instanceof TrashResource || resource instanceof SharedResource){
if(getTreeView().getSelection()!=null&&getTreeView().getSelection().getUri().equals(resource.getUri()))
- showFileList(resource,true);
+ showFileList(resource);
}
}
public void onComplete() {
toRemove = version;
updateTable();
- GSS.get().getFileList().updateFileCache(false, true /*clear selection*/);
+ GSS.get().getTreeView().refreshCurrentNode();
}
@Override
@Override
public void onComplete() {
container.hide();
- GSS.get().getFileList().updateFileCache(true, true /*clear selection*/);
+ GSS.get().getTreeView().refreshCurrentNode();
}
@Override