From 654b15f70d212ec94495c9687362d622f249c801 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 16 Oct 2015 12:27:20 +0000 Subject: [PATCH] Managed case of overwrite git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@119832 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/client/AppController.java | 31 ++++++++++++++----- .../view/grids/GxtGridFilterGroupPanel.java | 1 - 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java index be14fe5..21de98e 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppController.java @@ -104,7 +104,6 @@ import org.gcube.portlets.user.workspace.client.view.windows.DialogConfirm; import org.gcube.portlets.user.workspace.client.view.windows.DialogGetInfo; import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay; import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert; -import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxConfirm; import org.gcube.portlets.user.workspace.shared.ExtendedWorkspaceACL; import org.gcube.portlets.user.workspace.shared.SessionExpiredException; import org.gcube.portlets.user.workspace.shared.TrashContent; @@ -114,9 +113,6 @@ import org.gcube.portlets.user.workspace.shared.WorkspaceUserQuote; import org.gcube.portlets.widgets.sessionchecker.client.CheckSession; import org.gcube.portlets.widgets.wsmail.client.forms.MailForm; -import com.extjs.gxt.ui.client.event.Listener; -import com.extjs.gxt.ui.client.event.MessageBoxEvent; -import com.extjs.gxt.ui.client.widget.Dialog; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.google.gwt.core.client.GWT; @@ -1392,7 +1388,10 @@ public class AppController implements SubscriberInterface { /** - * Following methods implements SubscriberInterface + * Following methods implements SubscriberInterface. + * + * @param itemIdentifier the item identifier + * @param parent the parent */ @Override @@ -1400,8 +1399,11 @@ public class AppController implements SubscriberInterface { updateStoreByRpc(parent); } + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#addedFile(java.lang.String, java.lang.String, org.gcube.portlets.user.workspace.client.ConstantsExplorer.WS_UPLOAD_TYPE, boolean) + */ @Override - public void addedFile(String itemIdentifier, String parentId, WS_UPLOAD_TYPE uploadType) { + public void addedFile(String itemIdentifier, String parentId, WS_UPLOAD_TYPE uploadType, boolean isOverwrite) { // updateStoreByRpc(parent); if(parentId==null){ GWT.log("addedFile skipping, parentId is null"); @@ -1413,7 +1415,8 @@ public class AppController implements SubscriberInterface { if(uploadType.equals(WS_UPLOAD_TYPE.File)){ GWT.log("Calling addFileToStoreById "+parentId); - addFileToStoreById(itemIdentifier, parentId); + //IF IS OVERWRITE DELETE BEFORE THE ITEM FORM STORE + addFileToStoreById(itemIdentifier, parentId, isOverwrite); }else{ //is ARCHIVE updateStoreByRpc(wsPortlet.getToolBarPath().getLastParent()); } @@ -1432,7 +1435,15 @@ public class AppController implements SubscriberInterface { return ((breadParent!=null) && (parentId!=null) && (breadParent.getIdentifier().compareTo(parentId)==0)); } - private void addFileToStoreById(String itemIdentifier, String parentId){ + + /** + * Adds the file to store by id. + * + * @param itemIdentifier the item identifier + * @param parentId the parent id + * @param deleteCurrentItem the delete current item from store + */ + private void addFileToStoreById(final String itemIdentifier, String parentId, final boolean deleteCurrentItem){ appContrExplorer.getRpcWorkspaceService().getItemForFileGrid(itemIdentifier, new AsyncCallback() { @@ -1443,6 +1454,10 @@ public class AppController implements SubscriberInterface { @Override public void onSuccess(FileGridModel result) { + + if(deleteCurrentItem) + wsPortlet.getGridGroupContainer().deleteItem(itemIdentifier); + wsPortlet.getGridGroupContainer().addToStore(result); // wsPortlet.getGridGroupContainer().unmask(); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java index c5701b5..6b2620a 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/grids/GxtGridFilterGroupPanel.java @@ -557,7 +557,6 @@ public class GxtGridFilterGroupPanel extends LayoutContainer { } return -1; - } } \ No newline at end of file