From 33c3c4fa2298feaea243336de1b3f7bb017b1c9a Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Mon, 20 Feb 2017 13:57:17 +0000 Subject: [PATCH] Enhancement on file versioning #7006 git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace@142775 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/client/AppController.java | 130 +++++++++++++- .../client/event/FileVersioningEvent.java | 162 ++++++++++++++++++ .../event/FileVersioningEventHandler.java | 20 +++ .../view/toolbars/GxtBottomToolBarItem.java | 78 ++++++++- .../VersioningInfoContainer.java | 22 +-- .../WindowVersioning.java | 6 +- 6 files changed, 395 insertions(+), 23 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEvent.java create mode 100644 src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEventHandler.java rename src/main/java/org/gcube/portlets/user/workspace/client/view/{version => versioning}/VersioningInfoContainer.java (93%) rename src/main/java/org/gcube/portlets/user/workspace/client/view/{version => versioning}/WindowVersioning.java (98%) 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 a68fc70..bece3d0 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 @@ -30,9 +30,12 @@ import org.gcube.portlets.user.workspace.client.event.DeleteMessageEventHandler; import org.gcube.portlets.user.workspace.client.event.DoubleClickElementSelectedEvent; import org.gcube.portlets.user.workspace.client.event.DoubleClickElementSelectedEventHandler; import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent; +import org.gcube.portlets.user.workspace.client.event.FileDownloadEvent.DownloadType; import org.gcube.portlets.user.workspace.client.event.FileDownloadEventHandler; import org.gcube.portlets.user.workspace.client.event.FileUploadEvent; import org.gcube.portlets.user.workspace.client.event.FileUploadEventHandler; +import org.gcube.portlets.user.workspace.client.event.FileVersioningEvent; +import org.gcube.portlets.user.workspace.client.event.FileVersioningEventHandler; import org.gcube.portlets.user.workspace.client.event.FilterScopeEvent; import org.gcube.portlets.user.workspace.client.event.GetFolderLinkEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEvent; @@ -105,6 +108,7 @@ import org.gcube.portlets.user.workspace.client.view.panels.GxtBorderLayoutPanel import org.gcube.portlets.user.workspace.client.view.panels.GxtItemsPanel; import org.gcube.portlets.user.workspace.client.view.toolbars.GxtBreadcrumbPathPanel; import org.gcube.portlets.user.workspace.client.view.trash.WindowTrash; +import org.gcube.portlets.user.workspace.client.view.versioning.WindowVersioning; 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; @@ -116,6 +120,7 @@ import org.gcube.portlets.user.workspace.shared.TrashContent; import org.gcube.portlets.user.workspace.shared.TrashOperationContent; import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; import org.gcube.portlets.user.workspace.shared.WorkspaceUserQuote; +import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation; import org.gcube.portlets.widgets.sessionchecker.client.CheckSession; import org.gcube.portlets.widgets.workspaceuploader.client.WorkspaceUploadNotification.WorskpaceUploadNotificationListener; import org.gcube.portlets.widgets.workspaceuploader.client.uploader.dragdrop.MultipleDNDUpload; @@ -190,7 +195,8 @@ public class AppController implements SubscriberInterface { EventsTypeEnum.COPY_EVENT, EventsTypeEnum.TRASH_EVENT, EventsTypeEnum.UPDATE_WORKSPACE_SIZE, - EventsTypeEnum.UPDATED_VRE_PERMISSION + EventsTypeEnum.UPDATED_VRE_PERMISSION, + EventsTypeEnum.FILE_VERSIONING_HISTORY_EVENT }); bind(); } @@ -228,6 +234,15 @@ public class AppController implements SubscriberInterface { } }); + eventBus.addHandler(FileVersioningEvent.TYPE, new FileVersioningEventHandler() { + + @Override + public void onFileVersioning(FileVersioningEvent fileVersioningEvent) { + + performVersioningOperation(fileVersioningEvent); + } + }); + eventBus.addHandler(UpdateWorkspaceSizeEvent.TYPE, new UpdateWorkspaceSizeEventHandler() { @@ -263,7 +278,7 @@ public class AppController implements SubscriberInterface { @Override public void onTrashEvent(TrashEvent trashEvent) { - executeTrashOperation(trashEvent.getTrashOperation(), trashEvent.getTargetFileModels()); + performTrashOperation(trashEvent.getTrashOperation(), trashEvent.getTargetFileModels()); } }); @@ -446,7 +461,7 @@ public class AppController implements SubscriberInterface { public void onFileDownloadEvent(FileDownloadEvent fileDownloadEvent) { if(fileDownloadEvent!=null && fileDownloadEvent.getItemIdentifier()!=null){ - AppControllerExplorer.getEventBus().fireEvent(new FileDownloadEvent(fileDownloadEvent.getItemIdentifier(), fileDownloadEvent.getItemName(), fileDownloadEvent.getDownloadType(), fileDownloadEvent.isFolder())); + AppControllerExplorer.getEventBus().fireEvent(new FileDownloadEvent(fileDownloadEvent.getItemIdentifier(), fileDownloadEvent.getItemName(), fileDownloadEvent.getDownloadType(), fileDownloadEvent.isFolder(), null)); } } @@ -1361,7 +1376,7 @@ public class AppController implements SubscriberInterface { Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { - executeTrashOperation(WorkspaceTrashOperation.REFRESH, null); + performTrashOperation(WorkspaceTrashOperation.REFRESH, null); } }); @@ -1715,7 +1730,7 @@ public class AppController implements SubscriberInterface { for (String itemIdentifier : ids) { deleted = wsPortlet.getGridGroupContainer().deleteItem(itemIdentifier); } - executeTrashOperation(WorkspaceTrashOperation.REFRESH, null); + performTrashOperation(WorkspaceTrashOperation.REFRESH, null); return deleted; } @@ -2020,13 +2035,101 @@ public class AppController implements SubscriberInterface { } } + /** - * Execute trash operation. + * Perform versioning operation. + * + * @param fileVersioningEvent the file versioning event + */ + private void performVersioningOperation(FileVersioningEvent fileVersioningEvent){ + + final FileModel currentVersion = fileVersioningEvent.getCurrentVersion(); + final FileModel olderVersion = fileVersioningEvent.getOlderVersion(); + + switch (fileVersioningEvent.getVersioningOperation()) { + case SHOW:{ + + final WindowVersioning wv = new WindowVersioning(currentVersion); + appContrExplorer.getRpcWorkspaceService().getVersionHistory(currentVersion.getIdentifier(), new AsyncCallback>() { + + @Override + public void onFailure(Throwable caught) { + } + + @Override + public void onSuccess(List result) { + wv.updateVersioningContainer(result); + wv.updateItemsNumber(result.size()); + } + }); + wv.show(); + + break; + } + case DOWNLOAD:{ + AppControllerExplorer.getEventBus().fireEvent(new FileDownloadEvent(olderVersion.getIdentifier(), currentVersion.getName(), DownloadType.DOWNLOAD, false, olderVersion.getIdentifier())); + break; + } + + case DELETE_PERMANENTLY: { + + final WindowVersioning wv = new WindowVersioning(currentVersion); + appContrExplorer.getRpcWorkspaceService().performOperationOnVersionedFile(currentVersion, olderVersion, WorkspaceVersioningOperation.DELETE_PERMANENTLY, new AsyncCallback>() { + + @Override + public void onFailure(Throwable caught) { + + } + + @Override + public void onSuccess(List result) { + wv.updateVersioningContainer(result); + wv.updateItemsNumber(result.size()); + + } + }); + wv.show(); + break; + } + + case REFRESH: { + final WindowVersioning wv = fileVersioningEvent.getWinVersioning(); + appContrExplorer.getRpcWorkspaceService().getVersionHistory(currentVersion.getIdentifier(), new AsyncCallback>() { + + @Override + public void onFailure(Throwable caught) { + } + + @Override + public void onSuccess(List result) { + wv.updateVersioningContainer(result); + wv.updateItemsNumber(result.size()); + } + }); + wv.show(); + + } + + case EMPTY_OLDER_VERSIONS: { + break; + } + case RESTORE:{ + + break; + } + } + + + } + + + /** + * Perform trash operation. * * @param operation the operation * @param trashItemIds the trash item ids */ - private void executeTrashOperation(final WorkspaceTrashOperation operation, List trashItemIds){ + private void performTrashOperation(final WorkspaceTrashOperation operation, List trashItemIds){ GWT.log("Executing trash operation: "+operation); @@ -2122,7 +2225,7 @@ public class AppController implements SubscriberInterface { */ @Override public void trashEvent(WorkspaceTrashOperation trashOperation, List targetFileModels) { - executeTrashOperation(trashOperation, targetFileModels); + performTrashOperation(trashOperation, targetFileModels); } @@ -2193,4 +2296,15 @@ public class AppController implements SubscriberInterface { else t.run(); } + + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface#versioningHistory(org.gcube.portlets.user.workspace.client.model.FileModel) + */ + @Override + public void versioningHistory(FileModel file) { + + eventBus.fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.SHOW, file, null, null)); + + } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEvent.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEvent.java new file mode 100644 index 0000000..6fd9a7f --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEvent.java @@ -0,0 +1,162 @@ +/* + * + */ +package org.gcube.portlets.user.workspace.client.event; + +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; +import org.gcube.portlets.user.workspace.client.view.versioning.WindowVersioning; +import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation; + +import com.google.gwt.event.shared.GwtEvent; + + +/** + * The Class FileVersioningEvent. + * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * Feb 20, 2017 + */ +public class FileVersioningEvent extends GwtEvent implements GuiEventInterface{ + + public static Type TYPE = new Type(); + private WorkspaceVersioningOperation workspaceVersioningOperation; + private FileModel currentVersion; + private FileModel olderVersion; + private WindowVersioning winVersioning; + + + /** + * Instantiates a new file versioning event. + * + * @param workspaceVersioningOperation the workspace versioning operation + * @param currentVersion the current version + * @param olderVersion the older version + * @param winVersioning the win versioning + */ + public FileVersioningEvent(WorkspaceVersioningOperation workspaceVersioningOperation, FileModel currentVersion, FileModel olderVersion, WindowVersioning winVersioning) { + this.workspaceVersioningOperation = workspaceVersioningOperation; + this.currentVersion = currentVersion; + this.olderVersion = olderVersion; + this.winVersioning = winVersioning; + + } + + /** + * Gets the win versioning. + * + * @return the winVersioning + */ + public WindowVersioning getWinVersioning() { + + return winVersioning; + } + + /** + * Gets the current version. + * + * @return the currentVersion + */ + public FileModel getCurrentVersion() { + + return currentVersion; + } + + + + /** + * Sets the current version. + * + * @param currentVersion the currentVersion to set + */ + public void setCurrentVersion(FileModel currentVersion) { + + this.currentVersion = currentVersion; + } + + + + + /** + * Gets the older version. + * + * @return the olderVersion + */ + public FileModel getOlderVersion() { + + return olderVersion; + } + + + + /** + * Sets the workspace versioning operation. + * + * @param workspaceVersioningOperation the workspaceVersioningOperation to set + */ + public void setWorkspaceVersioningOperation( + WorkspaceVersioningOperation workspaceVersioningOperation) { + + this.workspaceVersioningOperation = workspaceVersioningOperation; + } + + + + /** + * Sets the older version. + * + * @param olderVersion the olderVersion to set + */ + public void setOlderVersion(FileModel olderVersion) { + + this.olderVersion = olderVersion; + } + + + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#getAssociatedType() + */ + @Override + public Type getAssociatedType() { + return TYPE; + } + + /* (non-Javadoc) + * @see com.google.gwt.event.shared.GwtEvent#dispatch(com.google.gwt.event.shared.EventHandler) + */ + @Override + protected void dispatch(FileVersioningEventHandler handler) { + handler.onFileVersioning(this); + } + + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.interfaces.GuiEventInterface#getKey() + */ + @Override + public EventsTypeEnum getKey() { + return EventsTypeEnum.FILE_VERSIONING_HISTORY_EVENT; + } + + + /** + * Sets the versioning operation. + * + * @param workspaceVersioningOperation the new versioning operation + */ + public void setVersioningOperation(WorkspaceVersioningOperation workspaceVersioningOperation) { + this.workspaceVersioningOperation = workspaceVersioningOperation; + } + + + /** + * Gets the versioning operation. + * + * @return the versioning operation + */ + public WorkspaceVersioningOperation getVersioningOperation() { + + return workspaceVersioningOperation; + } +} diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEventHandler.java b/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEventHandler.java new file mode 100644 index 0000000..62d6aac --- /dev/null +++ b/src/main/java/org/gcube/portlets/user/workspace/client/event/FileVersioningEventHandler.java @@ -0,0 +1,20 @@ +package org.gcube.portlets.user.workspace.client.event; + +import com.google.gwt.event.shared.EventHandler; + + +/** + * The Interface FileVersioningEventHandler. + * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * Feb 20, 2017 + */ +public interface FileVersioningEventHandler extends EventHandler { + + /** + * On file versioning. + * + * @param fileVersioningEvent the file versioning event + */ + void onFileVersioning(FileVersioningEvent fileVersioningEvent); +} \ No newline at end of file diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java index f025d3a..9441893 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/toolbars/GxtBottomToolBarItem.java @@ -5,6 +5,7 @@ import org.gcube.portlets.user.workspace.client.ConstantsExplorer; import org.gcube.portlets.user.workspace.client.event.AccountingHistoryEvent; import org.gcube.portlets.user.workspace.client.event.AccountingReadersEvent; import org.gcube.portlets.user.workspace.client.event.AddAdministratorEvent; +import org.gcube.portlets.user.workspace.client.event.FileVersioningEvent; import org.gcube.portlets.user.workspace.client.event.GetInfoEvent; import org.gcube.portlets.user.workspace.client.event.TrashEvent; import org.gcube.portlets.user.workspace.client.resources.Resources; @@ -13,6 +14,7 @@ import org.gcube.portlets.user.workspace.shared.ExtendedWorkspaceACL; import org.gcube.portlets.user.workspace.shared.WorkspaceACL; import org.gcube.portlets.user.workspace.shared.WorkspaceACL.USER_TYPE; import org.gcube.portlets.user.workspace.shared.WorkspaceTrashOperation; +import org.gcube.portlets.user.workspace.shared.WorkspaceVersioningOperation; import com.extjs.gxt.ui.client.Style.ButtonScale; import com.extjs.gxt.ui.client.Style.HorizontalAlignment; @@ -30,11 +32,16 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.AbstractImagePrototype; /** - * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * The Class GxtBottomToolBarItem. * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it */ public class GxtBottomToolBarItem extends ToolBar{ + /** + * + */ + private static final String VERSIONING = "Versioning"; /** * */ @@ -58,11 +65,15 @@ public class GxtBottomToolBarItem extends ToolBar{ private Button bHistory; private Button bRead; private Button btnGetTrash; + private Button btnVersioning; private ACLDivInfo aclDivInfo; private Label labelItemsNumber = new Label(); private HorizontalPanel hpItemsNumber; private Button btnAddAdmin; + /** + * Instantiates a new gxt bottom tool bar item. + */ public GxtBottomToolBarItem(){ super(); initToolbar(); @@ -77,6 +88,9 @@ public class GxtBottomToolBarItem extends ToolBar{ setItemsNumberToCenter(); } + /** + * Inits the toolbar. + */ private void initToolbar(){ btnGetTrash = new Button("Trash"); @@ -129,6 +143,19 @@ public class GxtBottomToolBarItem extends ToolBar{ } }); + btnVersioning = new Button(VERSIONING); + btnVersioning.setIcon(Resources.getIconVersioning()); + btnVersioning.addSelectionListener(new SelectionListener() { + + @Override + public void componentSelected(ButtonEvent ce) { + + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.SHOW, null, null, null)); + + } + }); + + btnAddAdmin = new Button(EDIT_ADMINISTRATOR); //TODO CHANGE ICON btnAddAdmin.setIcon(Resources.getIconManageAdministrator()); @@ -149,6 +176,7 @@ public class GxtBottomToolBarItem extends ToolBar{ add(btnGetTrash); add(btnGetInfo); add(bHistory); + add(btnVersioning); hpItemsNumber = new HorizontalPanel(); hpItemsNumber.setId("HP-ItemsNumber"); @@ -165,11 +193,19 @@ public class GxtBottomToolBarItem extends ToolBar{ enableInfoHistoryButtons(false); } + /** + * Sets the visible add administrators. + * + * @param bool the new visible add administrators + */ private void setVisibleAddAdministrators(boolean bool){ btnAddAdmin.setVisible(bool); } + /** + * Reset details. + */ public void resetDetails(){ this.txtDimension.setText(""); @@ -178,12 +214,29 @@ public class GxtBottomToolBarItem extends ToolBar{ this.txtOwner.setText(""); } + + + /** + * Enable info history buttons. + * + * @param enable the enable + */ public void enableInfoHistoryButtons(boolean enable){ bHistory.setEnabled(enable); bRead.setEnabled(enable); btnGetInfo.setEnabled(enable); + btnVersioning.setEnabled(enable); } + /** + * Sets the details. + * + * @param itemName the item name + * @param description the description + * @param dimension the dimension + * @param creationTime the creation time + * @param owner the owner + */ public void setDetails(String itemName, String description, String dimension, String creationTime, String owner){ this.resetDetails(); @@ -195,6 +248,11 @@ public class GxtBottomToolBarItem extends ToolBar{ } + /** + * Update acl info. + * + * @param acl the acl + */ public void updateACLInfo(WorkspaceACL acl){ setVisibleAddAdministrators(false); @@ -209,6 +267,12 @@ public class GxtBottomToolBarItem extends ToolBar{ } + /** + * Update add administator info. + * + * @param loginUserLogger the login user logger + * @param acl the acl + */ public void updateAddAdministatorInfo(String loginUserLogger, ExtendedWorkspaceACL acl){ setVisibleAddAdministrators(false); @@ -225,6 +289,11 @@ public class GxtBottomToolBarItem extends ToolBar{ this.layout(); } + /** + * Update trash icon. + * + * @param trashIsFull the trash is full + */ public void updateTrashIcon(boolean trashIsFull){ if(trashIsFull) @@ -234,7 +303,9 @@ public class GxtBottomToolBarItem extends ToolBar{ } /** - * @param size + * Update items number. + * + * @param size the size */ public void updateItemsNumber(int size) { if(size<=0) @@ -247,6 +318,9 @@ public class GxtBottomToolBarItem extends ToolBar{ hpItemsNumber.layout(); } + /** + * Sets the items number to center. + */ public void setItemsNumberToCenter(){ if(this.isRendered()){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/version/VersioningInfoContainer.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java similarity index 93% rename from src/main/java/org/gcube/portlets/user/workspace/client/view/version/VersioningInfoContainer.java rename to src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java index f20c730..c39dc11 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/version/VersioningInfoContainer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/VersioningInfoContainer.java @@ -1,4 +1,4 @@ -package org.gcube.portlets.user.workspace.client.view.version; +package org.gcube.portlets.user.workspace.client.view.versioning; import java.util.Arrays; import java.util.List; @@ -59,19 +59,21 @@ public class VersioningInfoContainer extends LayoutContainer { private Button buttonRestore; private Button buttonRestoreAll; private Button buttonEmptyTrash; - private FileModel fileVersioned; + private FileModel currentVersion; + private WindowVersioning windowVersioning; /** * Instantiates a new versioning info container. * * @param file the versioning files */ - public VersioningInfoContainer(FileModel file) { + public VersioningInfoContainer(FileModel file, WindowVersioning windowVersioning) { initContentPanel(); initGrid(); createToolBar(); - this.fileVersioned = file; + this.currentVersion = file; + this.windowVersioning = windowVersioning; activeButtonOnSelection(false); //updateVersions(file); @@ -125,7 +127,7 @@ public class VersioningInfoContainer extends LayoutContainer { public void componentSelected(ButtonEvent ce) { if(checkSelection()) - AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.RESTORE, grid.getSelectionModel().getSelectedItems().get(0))); + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.RESTORE, currentVersion, grid.getSelectionModel().getSelectedItems().get(0), windowVersioning)); } }); @@ -142,7 +144,7 @@ public class VersioningInfoContainer extends LayoutContainer { public void componentSelected(ButtonEvent ce) { if(checkSelection()) - AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.DELETE_PERMANENTLY, grid.getSelectionModel().getSelectedItems().get(0))); + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.DELETE_PERMANENTLY,currentVersion, grid.getSelectionModel().getSelectedItems().get(0), windowVersioning)); } }); @@ -162,7 +164,7 @@ public class VersioningInfoContainer extends LayoutContainer { public void componentSelected(ButtonEvent ce) { if(checkSelection()) - AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.DOWNLOAD, grid.getSelectionModel().getSelectedItems().get(0))); + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.DOWNLOAD, currentVersion, grid.getSelectionModel().getSelectedItems().get(0), windowVersioning)); } }); @@ -181,7 +183,7 @@ public class VersioningInfoContainer extends LayoutContainer { // if(checkSelection()) // AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.EMPTY_OLDER_VERSIONS, null)); - DialogConfirm box = new DialogConfirm(null, "Confirm Delete?", "Are you sure you want delete older versions of: "+ fileVersioned.getName()); + DialogConfirm box = new DialogConfirm(null, "Confirm Delete?", "Are you sure you want delete older versions of: "+ currentVersion.getName()); box.setModal(true); box.center(); box.getYesButton().addClickHandler(new ClickHandler() { @@ -189,7 +191,7 @@ public class VersioningInfoContainer extends LayoutContainer { @Override public void onClick(ClickEvent event) { - AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.EMPTY_OLDER_VERSIONS, fileVersioned)); + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.EMPTY_OLDER_VERSIONS, currentVersion, null, windowVersioning)); } }); } @@ -209,7 +211,7 @@ public class VersioningInfoContainer extends LayoutContainer { @Override public void componentSelected(ButtonEvent ce) { - AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.REFRESH, null)); + AppController.getEventBus().fireEvent(new FileVersioningEvent(WorkspaceVersioningOperation.REFRESH, currentVersion, null, windowVersioning)); } }); diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/version/WindowVersioning.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/WindowVersioning.java similarity index 98% rename from src/main/java/org/gcube/portlets/user/workspace/client/view/version/WindowVersioning.java rename to src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/WindowVersioning.java index 8f2a6b1..be3989b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/version/WindowVersioning.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/versioning/WindowVersioning.java @@ -1,4 +1,4 @@ -package org.gcube.portlets.user.workspace.client.view.version; +package org.gcube.portlets.user.workspace.client.view.versioning; import java.util.ArrayList; import java.util.List; @@ -46,7 +46,7 @@ public class WindowVersioning extends Window { * * @param fileVersioned the file versioned */ - private WindowVersioning(FileModel fileVersioned) { + public WindowVersioning(FileModel fileVersioned) { initAccounting(); this.fileVersioned = fileVersioned; //setIcon(Resources.getTrashFull()); //TODO @@ -61,7 +61,7 @@ public class WindowVersioning extends Window { setSize(770, 400); setResizable(true); setMaximizable(true); - this.versioningContainer = new VersioningInfoContainer(fileVersioned); + this.versioningContainer = new VersioningInfoContainer(fileVersioned, this); add(versioningContainer); ToolBar toolBar = new ToolBar();