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