diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java index e1a0a7e..cd9de06 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java @@ -155,7 +155,6 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt } public GWTWorkspaceServiceAsync getRpcWorkspaceService() { - return rpcWorkspaceService; } @@ -679,7 +678,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt } private void doFileUploadEvent(FileUploadEvent fileUploadEvent) { - FileModel folder = fileUploadEvent.getParentFileModel(); + FileModel folder = fileUploadEvent.getTargetFolderModel(); if(folder == null) folder = explorerPanel.getAsycTreePanel().getRootItem(); @@ -707,8 +706,14 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt private void doCompletedFileUploadEvent(CompletedFileUploadEvent completedFileUploadEvent) { // explorerPanel.getAsycTreePanel().reloadAndSelectTreeLevelFromWorkspaceForUplaod(completedFileUploadEvent.getParentFileModel().getIdentifier()); - explorerPanel.getAsycTreePanel().reloadTreeLevelAndExpandFolder(completedFileUploadEvent.getParentFileModel().getIdentifier()); + + //REFRESH TREE ONLY IF FOLDER PARENT EXISTS IN TREE + if(explorerPanel.getAsycTreePanel().getFileModelByIdentifier(completedFileUploadEvent.getTargetFolderModel().getIdentifier())!=null){ + explorerPanel.getAsycTreePanel().reloadTreeLevelAndExpandFolder(completedFileUploadEvent.getTargetFolderModel().getIdentifier()); + } + notifySubscriber(completedFileUploadEvent); + } }); @@ -1398,7 +1403,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt CompletedFileUploadEvent fileUpEvent = (CompletedFileUploadEvent) event; - sub.addedFile(fileUpEvent.getItemIdentifier(), fileUpEvent.getParentFileModel()); + sub.addedFile(fileUpEvent.getItemIdentifier(), fileUpEvent.getTargetFolderModel()); }else if(event instanceof CreateUrlEvent){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/CompletedFileUploadEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/CompletedFileUploadEvent.java index 9e28dcf..c893cc4 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/event/CompletedFileUploadEvent.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/CompletedFileUploadEvent.java @@ -36,7 +36,7 @@ public class CompletedFileUploadEvent extends GwtEvent implements GuiEventInterface{ public static Type TYPE = new Type(); public enum UploadType {ARCHIVE, FILE}; - private FileModel parentFileModel = null; + private FileModel targetFolder = null; private UploadType uploadType; - public FileUploadEvent(FileModel parentFileModel, UploadType uploadType) { - this.parentFileModel = parentFileModel; + public FileUploadEvent(FileModel targetFolder, UploadType uploadType) { + this.targetFolder = targetFolder; this.uploadType = uploadType; } @@ -32,8 +32,8 @@ public class FileUploadEvent extends GwtEvent implements return EventsTypeEnum.FILE_UPLOAD_EVENT; } - public FileModel getParentFileModel() { - return parentFileModel; + public FileModel getTargetFolderModel() { + return targetFolder; } public UploadType getUploadType() { diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/windows/DialogUpload.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/windows/DialogUpload.java index e34ee1c..69ccd44 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/windows/DialogUpload.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/windows/DialogUpload.java @@ -75,8 +75,6 @@ public class DialogUpload extends Window { // Add a label formPanel.add(new Hidden("idFolder",parent.getIdentifier())); - - formPanel.add(new Hidden("uploadType",fieldLabel)); // fileUploadField.setFieldLabel(ConstantsExplorer.FILE); fileUploadField.setFieldLabel(fieldLabel);