From 87f25d1ae0ee8fd468a8e5544d798dde0c60fd04 Mon Sep 17 00:00:00 2001 From: Massimiliano Assante Date: Thu, 1 Oct 2015 13:47:28 +0000 Subject: [PATCH] added undeploy capability for Feature #852, but it does not work git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/admin/vre-manager@119310 82a268e6-3cf1-43bd-a215-b396298e98cf --- .classpath | 4 +- .settings/org.eclipse.wst.common.component | 2 +- distro/changelog.xml | 3 +- pom.xml | 2 +- .../client/VREDeploymentService.java | 2 + .../client/VREDeploymentServiceAsync.java | 2 + .../presenter/VREDeploymentPresenter.java | 41 ++++++++++++++++++- .../vredeployment/client/view/Display.java | 1 + .../client/view/VREDeploymentView.java | 13 ++++-- ...ceImpl.java => VREManagerServiceImpl.java} | 16 ++++++-- src/main/resources/clientlog4j.properties | 19 +++++++++ src/main/webapp/WEB-INF/web.xml | 2 +- 12 files changed, 93 insertions(+), 14 deletions(-) rename src/main/java/org/gcube/portlets/admin/vredeployment/server/{VREDeploymentServiceImpl.java => VREManagerServiceImpl.java} (96%) create mode 100644 src/main/resources/clientlog4j.properties diff --git a/.classpath b/.classpath index d828b58..7f2ebb4 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index fcda786..d4078a0 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -5,7 +5,7 @@ - + uses diff --git a/distro/changelog.xml b/distro/changelog.xml index e8d9617..56e93aa 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,6 +1,5 @@ - + added possibility to postpone VRE expiration time of six months moved to GWT 2.7.0 diff --git a/pom.xml b/pom.xml index 16e6bf7..623219a 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.admin vre-manager war - 5.2.0-SNAPSHOT + 5.3.0-SNAPSHOT VRE Manager Portlet gCube VRE Manager Portlet shows a Wizard to create VREs. diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentService.java b/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentService.java index 9e8f977..a6e66e0 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentService.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentService.java @@ -17,6 +17,8 @@ public interface VREDeploymentService extends RemoteService { boolean doRemove(String vreId); + boolean doUndeploy(String vreId); + boolean doEdit(String vreId); String doViewDetails(String vreId); diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentServiceAsync.java b/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentServiceAsync.java index b9aad5d..ee23b4f 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentServiceAsync.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/client/VREDeploymentServiceAsync.java @@ -25,4 +25,6 @@ public interface VREDeploymentServiceAsync { void getHTMLReport(String vreId, AsyncCallback callback); void postPone(String vreId, AsyncCallback callback); + + void doUndeploy(String vreId, AsyncCallback callback); } diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/client/presenter/VREDeploymentPresenter.java b/src/main/java/org/gcube/portlets/admin/vredeployment/client/presenter/VREDeploymentPresenter.java index eb27cdd..93c9ad8 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/client/presenter/VREDeploymentPresenter.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/client/presenter/VREDeploymentPresenter.java @@ -99,6 +99,18 @@ public class VREDeploymentPresenter implements Presenter { display.getRemoveButton().addSelectionListener(removesl); display.getRemoveMenu().addSelectionListener(removesl); + // REMOVE + @SuppressWarnings("rawtypes") + SelectionListener undeploysl = new SelectionListener() { + public void componentSelected(ComponentEvent ce) { + String vreEPR = display.getGridSelectionModel().getSelectedItem().getId(); + String vreName = display.getGridSelectionModel().getSelectedItem().getName(); + doUndeploy(vreEPR, vreName); + } + }; + display.getUndeployButton().addSelectionListener(undeploysl); + + // VIEW REPORT SelectionListener viewreportSL = new SelectionListener() { public void componentSelected(ComponentEvent ce) { @@ -142,6 +154,7 @@ public class VREDeploymentPresenter implements Presenter { }); } + /** * go method @@ -210,6 +223,32 @@ public class VREDeploymentPresenter implements Presenter { } }); } + + protected void doUndeploy(final String vreEPR, final String vreName) { + MessageBox.confirm("Confirm", "Are you REALLY REALLY sure you want to undeploy "+ vreName +"?", new Listener() { + public void handleEvent(MessageBoxEvent ce) { + if (ce.getButtonClicked().getText().equals("Yes")) { + display.maskCenterPanel("Undeploying VRE " + vreName +", please wait", true); + rpcService.doUndeploy(vreEPR, new AsyncCallback() { + @Override + public void onSuccess(Boolean arg0) { + display.maskCenterPanel("", false); + fetchVREDefinitions(); + Info.display("VRE Removal", "The '{0}' VRE undeploy has been successfully triggered. " + + "The infrastructure feels now relieved by having these resources back available. Thank you", vreName); + } + @Override + public void onFailure(Throwable arg0) { + display.maskCenterPanel("", false); + Window.alert("Failed to remove VRE" + arg0.getMessage()); + } + }); + } + + } + }); + + } private void doViewReport(String vreEPR, String vreName) { @@ -306,7 +345,7 @@ public class VREDeploymentPresenter implements Presenter { } }); } - + private void doViewDetails(String vreEPR, String vreName) { display.maskCenterPanel("Retrieving details for VRE " + vreName +", please wait", true); diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/Display.java b/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/Display.java index 6852f49..5cf5c2a 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/Display.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/Display.java @@ -26,6 +26,7 @@ public interface Display { Button getRefreshButton(); Button getViewTextualReportButton(); Button getPostPoneButton(); + Button getUndeployButton(); MenuItem getViewMenu(); diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/VREDeploymentView.java b/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/VREDeploymentView.java index 29ec2aa..fa45851 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/VREDeploymentView.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/client/view/VREDeploymentView.java @@ -41,6 +41,7 @@ public class VREDeploymentView extends Composite implements Display { private Button viewButton; private Button editButton; private Button removeButton; + private Button undeployButton; private Button approveButton; private Button viewReportButton; private Button refreshButton; @@ -101,11 +102,12 @@ public class VREDeploymentView extends Composite implements Display { editButton = new Button("Edit"); approveButton = new Button("Approve"); viewReportButton = new Button("View Report"); - removeButton = new Button("Remove from infrastructure"); + removeButton = new Button("Remove from list"); + undeployButton = new Button("Undeploy VRE"); refreshButton = new Button("Refresh"); viewTextualReportButton = new Button("View Text-Only Report"); - postPoneExpiration = new Button("Postpone Expiration Time"); + postPoneExpiration = new Button("Postpone Expiration "); viewButton.setEnabled(false); editButton.setEnabled(false); @@ -115,6 +117,7 @@ public class VREDeploymentView extends Composite implements Display { refreshButton.setEnabled(true); viewTextualReportButton.setEnabled(false); postPoneExpiration.setEnabled(false); + undeployButton.setEnabled(false); initWidget(mainPanel); @@ -144,6 +147,7 @@ public class VREDeploymentView extends Composite implements Display { gridPanel.addButton(viewReportButton); gridPanel.addButton(viewTextualReportButton); gridPanel.addButton(removeButton); + gridPanel.addButton(undeployButton); gridPanel.addButton(postPoneExpiration); gridPanel.addButton(refreshButton); @@ -260,6 +264,7 @@ public class VREDeploymentView extends Composite implements Display { //also enable postpone just for deployed VREs if (selectedItem.getStatus().compareTo("Deployed") == 0) { getPostPoneButton().setEnabled(true); + getUndeployButton().setEnabled(true); } } else { @@ -321,7 +326,9 @@ public class VREDeploymentView extends Composite implements Display { } } - + @Override + public Button getUndeployButton() { return undeployButton; + } @Override public Button getApproveButton() { return approveButton; } diff --git a/src/main/java/org/gcube/portlets/admin/vredeployment/server/VREDeploymentServiceImpl.java b/src/main/java/org/gcube/portlets/admin/vredeployment/server/VREManagerServiceImpl.java similarity index 96% rename from src/main/java/org/gcube/portlets/admin/vredeployment/server/VREDeploymentServiceImpl.java rename to src/main/java/org/gcube/portlets/admin/vredeployment/server/VREManagerServiceImpl.java index 83e1f59..5b48148 100644 --- a/src/main/java/org/gcube/portlets/admin/vredeployment/server/VREDeploymentServiceImpl.java +++ b/src/main/java/org/gcube/portlets/admin/vredeployment/server/VREManagerServiceImpl.java @@ -51,9 +51,9 @@ import com.google.gwt.user.server.rpc.RemoteServiceServlet; * The server side implementation of the RPC service. */ @SuppressWarnings("serial") -public class VREDeploymentServiceImpl extends RemoteServiceServlet implements VREDeploymentService { +public class VREManagerServiceImpl extends RemoteServiceServlet implements VREDeploymentService { - private static final Logger _log = LoggerFactory.getLogger(VREDeploymentServiceImpl.class); + private static final Logger _log = LoggerFactory.getLogger(VREManagerServiceImpl.class); private static final String APPROVE_MODE = "approve"; private static final String EDIT_MODE = "edit"; @@ -61,7 +61,7 @@ public class VREDeploymentServiceImpl extends RemoteServiceServlet implements VR private static final String VRE_GENERATOR_ATTRIBUTE = "VREGenerator"; private static final String VIEW_MODE_ATTRIBUTE = "viewMode"; - private static final String HARD_CODED_VO_NAME = "/d4science.research-infrastructures.eu/gCubeApps"; + private static final String HARD_CODED_VO_NAME = "/gcube/devsec"; @Override @@ -166,6 +166,14 @@ public class VREDeploymentServiceImpl extends RemoteServiceServlet implements VR evo.removeVRE(aslSession, epr); return true; } + + @Override + public boolean doUndeploy(String epr) { + ASLSession aslSession = getASLSession(); + VREGeneratorEvo evo = new VREGeneratorEvo(aslSession); + evo.undeployVRE(epr); + return true; + } @Override public boolean doEdit(String epr) { @@ -379,4 +387,6 @@ public class VREDeploymentServiceImpl extends RemoteServiceServlet implements VR return false; } } + + } diff --git a/src/main/resources/clientlog4j.properties b/src/main/resources/clientlog4j.properties new file mode 100644 index 0000000..834ba2c --- /dev/null +++ b/src/main/resources/clientlog4j.properties @@ -0,0 +1,19 @@ +log4j.rootLogger=DEBUG, A1 +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout + +# Print the date in ISO 8601 format +log4j.appender.A1.layout.ConversionPattern=%d %-5p %c - %m%n + +# Print only messages of level TRACE or above in the package org.gcube +log4j.logger.org.gcube=TRACE +log4j.logger.org.gcube.application.framework.core.session=INFO +log4j.logger.org.gcube.contentmanager=ERROR +log4j.logger.org.gcube.common.scope=ERROR +log4j.logger.org.gcube.contentmanagement=ERROR +log4j.logger.org.gcube.resources.discovery.icclient=ERROR +log4j.logger.org.gcube.common.clients=ERROR +log4j.logger.org.gcube.common.homelibrary.jcr=ERROR +log4j.logger.org.gcube.application.framework.accesslogger=ERROR +log4j.logger.org.apache.pdfbox.util.PDFStreamEngine=ERROR +log4j.logger.org.apache.http=INFO \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 610e82b..8691c4b 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -8,7 +8,7 @@ vreDeploymentServlet - org.gcube.portlets.admin.vredeployment.server.VREDeploymentServiceImpl + org.gcube.portlets.admin.vredeployment.server.VREManagerServiceImpl