From 6bf37916c9e1dbf9c4a4d51c1e774e9778f885b9 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Fri, 22 Jan 2016 17:16:33 +0000 Subject: [PATCH] 1452: Implement a GUI for StatMan Algorithms Importer Task-Url: https://support.d4science.org/issues/1452 Fixed Project Folder Move git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/statistical-algorithms-importer@122478 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/StatAlgoImporterController.java | 36 ++++++++-- .../client/project/ProjectManager.java | 3 +- .../server/storage/ProjectArchiver.java | 70 ++++++++++++++----- 3 files changed, 85 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/StatAlgoImporterController.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/StatAlgoImporterController.java index 1bd6a15..3a1f39c 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/StatAlgoImporterController.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/StatAlgoImporterController.java @@ -34,7 +34,10 @@ import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.sencha.gxt.widget.core.client.box.ConfirmMessageBox; import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer; +import com.sencha.gxt.widget.core.client.event.DialogHideEvent; +import com.sencha.gxt.widget.core.client.event.DialogHideEvent.DialogHideHandler; /** * @@ -335,11 +338,34 @@ public class StatAlgoImporterController { } private void softwareCreateRequest() { - monitor = new StatAlgoImporterMonitor(); - inputRequestType = InputRequestType.SoftwareCreate; - InputRequestEvent inputRequestEvent = new InputRequestEvent(); - eventBus.fireEvent(inputRequestEvent); - Log.debug("SoftwareCreateRequest: " + inputRequestEvent); + + final ConfirmMessageBox mb = new ConfirmMessageBox( + "Warning", + "The creation of new software will overwrite the possible" + + " previous version and will require publication again." + + " Do you want to proceed anyway?"); + mb.addDialogHideHandler(new DialogHideHandler() { + + @Override + public void onDialogHide(DialogHideEvent event) { + switch (event.getHideButton()) { + case NO: + break; + case YES: + monitor = new StatAlgoImporterMonitor(); + inputRequestType = InputRequestType.SoftwareCreate; + InputRequestEvent inputRequestEvent = new InputRequestEvent(); + eventBus.fireEvent(inputRequestEvent); + Log.debug("SoftwareCreateRequest: " + inputRequestEvent); + break; + default: + break; + } + + } + }); + mb.setWidth(300); + mb.show(); } private void softwarePublish() { diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java index 380e776..a649b61 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/client/project/ProjectManager.java @@ -320,9 +320,8 @@ public class ProjectManager { }); } - public void createSofware(InputData inputData, + public void createSofware(final InputData inputData, final StatAlgoImporterMonitor monitor) { - Log.debug("Create Software: " + inputData); StatAlgoImporterServiceAsync.INSTANCE.createSoftware(inputData, new AsyncCallback() { diff --git a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/ProjectArchiver.java b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/ProjectArchiver.java index e500796..08df800 100644 --- a/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/ProjectArchiver.java +++ b/src/main/java/org/gcube/portlets/user/statisticalalgorithmsimporter/server/storage/ProjectArchiver.java @@ -10,13 +10,13 @@ import org.gcube.application.framework.core.session.ASLSession; import org.gcube.common.homelibrary.home.exceptions.InternalErrorException; import org.gcube.common.homelibrary.home.workspace.WorkspaceItem; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.exception.StatAlgoImporterServiceException; +import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.MainCode; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.Project; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.project.ProjectFolder; import org.gcube.portlets.user.statisticalalgorithmsimporter.shared.workspace.ItemDescription; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - /** * * @author Giancarlo Panichi email: