From beeb3186fb79664cbae585c786fc8cee1164b0df Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Tue, 13 May 2014 09:26:57 +0000 Subject: [PATCH] enhancements on trash git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@95584 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/AppControllerExplorer.java | 2 +- .../workspace/client/event/TrashEvent.java | 37 +++++++++---------- .../interfaces/SubscriberInterface.java | 2 +- .../client/rpc/GWTWorkspaceService.java | 3 +- .../client/rpc/GWTWorkspaceServiceAsync.java | 3 +- .../server/GWTWorkspaceServiceImpl.java | 12 ++---- 6 files changed, 26 insertions(+), 33 deletions(-) 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 3e6c887..5f44e15 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 @@ -1944,7 +1944,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt }else if(event instanceof TrashEvent){ TrashEvent trashEvent = (TrashEvent) event; - sub.trashEvent(trashEvent.getTrashOperation(), trashEvent.getTargetFileModel()); + sub.trashEvent(trashEvent.getTrashOperation(), trashEvent.getTargetFileModels()); }else if(event instanceof UpdatedVREPermissionEvent){ UpdatedVREPermissionEvent vreEvent = (UpdatedVREPermissionEvent) event; diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/TrashEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/TrashEvent.java index ce4588d..3099fb8 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/event/TrashEvent.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/TrashEvent.java @@ -1,5 +1,7 @@ package org.gcube.portlets.user.workspace.client.event; +import java.util.List; + import org.gcube.portlets.user.workspace.client.interfaces.EventsTypeEnum; import org.gcube.portlets.user.workspace.client.interfaces.GuiEventInterface; import org.gcube.portlets.user.workspace.client.model.FileModel; @@ -17,12 +19,12 @@ public class TrashEvent extends GwtEvent implements GuiEventI public static Type TYPE = new Type(); - private FileModel targetFileModel; + private List targetFileModels; private WorkspaceTrashOperation trashOperation; - public TrashEvent(WorkspaceTrashOperation trashOperation, FileModel target) { + public TrashEvent(WorkspaceTrashOperation trashOperation, List targets) { this.trashOperation = trashOperation; - this.setTargetFileModel(target); + this.setTargetFileModels(targets); } @Override @@ -35,23 +37,6 @@ public class TrashEvent extends GwtEvent implements GuiEventI handler.onTrashEvent(this); } - /** - * @return the targetFileModel - */ - public FileModel getTargetFileModel() { - return targetFileModel; - } - - /** - * @param targetFileModel the targetFileModel to set - */ - public void setTargetFileModel(FileModel targetFileModel) { - this.targetFileModel = targetFileModel; - } - - public WorkspaceTrashOperation getTrashOperation() { - return trashOperation; - } /* (non-Javadoc) * @see org.gcube.portlets.user.workspace.client.interfaces.GuiEventInterface#getKey() @@ -64,6 +49,18 @@ public class TrashEvent extends GwtEvent implements GuiEventI public void setTrashOperation(WorkspaceTrashOperation trashOperation) { this.trashOperation = trashOperation; } + + public List getTargetFileModels() { + return targetFileModels; + } + + public void setTargetFileModels(List targetFileModels) { + this.targetFileModels = targetFileModels; + } + + public WorkspaceTrashOperation getTrashOperation() { + return trashOperation; + } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/interfaces/SubscriberInterface.java b/src/main/java/org/gcube/portlets/user/workspace/client/interfaces/SubscriberInterface.java index 259d7c8..5719207 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/interfaces/SubscriberInterface.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/interfaces/SubscriberInterface.java @@ -58,7 +58,7 @@ public interface SubscriberInterface { * @param trashOperation * @param targetFileModel */ - void trashEvent(WorkspaceTrashOperation trashOperation, FileModel targetFileModel); + void trashEvent(WorkspaceTrashOperation trashOperation, List targetFileModels); /** * @param vreFolderId diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java index ba9bb8e..bba3aac 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java @@ -18,6 +18,7 @@ import org.gcube.portlets.user.workspace.client.model.SubTree; import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem; import org.gcube.portlets.user.workspace.shared.SessionExpiredException; import org.gcube.portlets.user.workspace.shared.TrashContent; +import org.gcube.portlets.user.workspace.shared.TrashOperationContent; import org.gcube.portlets.user.workspace.shared.WorkspaceACL; import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField; @@ -248,7 +249,7 @@ public interface GWTWorkspaceService extends RemoteService{ * @return * @throws Exception */ - TrashContent executeOperationOnTrash(List listTrashItemIds, + TrashOperationContent executeOperationOnTrash(List listTrashItemIds, WorkspaceTrashOperation operation) throws Exception; } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java index 376d335..3bdbc1c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java @@ -17,6 +17,7 @@ import org.gcube.portlets.user.workspace.client.model.SmartFolderModel; import org.gcube.portlets.user.workspace.client.model.SubTree; import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem; import org.gcube.portlets.user.workspace.shared.TrashContent; +import org.gcube.portlets.user.workspace.shared.TrashOperationContent; import org.gcube.portlets.user.workspace.shared.WorkspaceACL; import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; import org.gcube.portlets.user.workspace.shared.accounting.GxtAccountingField; @@ -201,6 +202,6 @@ public interface GWTWorkspaceServiceAsync { void executeOperationOnTrash(List listTrashItemIds, WorkspaceTrashOperation operation, - AsyncCallback callback); + AsyncCallback callback); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index 4523ac1..4aa8386 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -2932,11 +2932,9 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT /** * - * @return - * @throws Exception */ @Override - public TrashContent executeOperationOnTrash(List listTrashItemIds, WorkspaceTrashOperation operation) throws Exception{ + public TrashOperationContent executeOperationOnTrash(List listTrashItemIds, WorkspaceTrashOperation operation) throws Exception{ workspaceLogger.info("Get TrashContent, operation: "+operation); @@ -2944,14 +2942,13 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT throw new Exception("List of Trash item ids is null or empty"); Workspace workspace; - List listErrors = null; + List listContentError = new ArrayList(); try { workspace = getWorkspace(); WorkspaceTrashFolder trash = workspace.getTrash(); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); TrashOperationContent result = new TrashOperationContent(); - List listContentError = new ArrayList(); List listUpdatedTrashIds = new ArrayList(); @@ -3014,10 +3011,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT // trash = workspace.getTrash(); // result.setTrashContent(builder.buildGXTListTrashContent(trash)); - if(listErrors.size()>0){ - for (String trashedItemId : listErrors) { - listContentError.add(builder.buildGXTTrashModelItemById(trashedItemId, trash)); - } + if(!listContentError.isEmpty()){ result.setListErrors(listContentError); }