diff --git a/pom.xml b/pom.xml
index df1fca3..00cc6ca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.gcube.applicationsupportlayer
aslvre
- 5.1.0-SNAPSHOT
+ 5.2.0-SNAPSHOT
jar
VRE Management ASL Extension
diff --git a/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/VREGeneratorInterface.java b/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/VREGeneratorInterface.java
index f2b14e2..52e9138 100644
--- a/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/VREGeneratorInterface.java
+++ b/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/VREGeneratorInterface.java
@@ -3,6 +3,7 @@ package org.gcube.application.framework.vremanagement.vremanagement;
import java.rmi.RemoteException;
import java.util.List;
+import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.vremanagement.vremodel.cl.stubs.types.FunctionalityItem;
import org.gcube.vremanagement.vremodel.cl.stubs.types.FunctionalityNodes;
import org.gcube.vremanagement.vremodel.cl.stubs.types.GHN;
@@ -94,5 +95,9 @@ public interface VREGeneratorInterface {
boolean isCloudSelected();
+ void removeVRE(ASLSession session, String id);
+
+ void undeployVRE(String id);
+
int getCloudVMSelected();
}
diff --git a/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/impl/VREGeneratorEvo.java b/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/impl/VREGeneratorEvo.java
index ac0c6ec..a27b35d 100644
--- a/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/impl/VREGeneratorEvo.java
+++ b/src/main/java/org/gcube/application/framework/vremanagement/vremanagement/impl/VREGeneratorEvo.java
@@ -126,14 +126,35 @@ protected static AtomicInteger vreId = new AtomicInteger(0);
* @param session the d4s session
* @param id the id of the VRE to be removed
*/
+ @Override
public void removeVRE(ASLSession session, String id) {
- System.out.println("ID RECEIVED TO REMOVE:" + id);
+ log.info("ID RECEIVED TO REMOVE:" + id);
String currScope = ScopeProvider.instance.get();
ScopeProvider.instance.set(scope);
factory().build().removeVRE(id);
ScopeProvider.instance.set(currScope);
}
+
+ /**
+ * @param session the d4s session
+ * @param id the id of the VRE to be removed
+ */
+ @Override
+ public void undeployVRE(String id) {
+ System.out.println("ID RECEIVED TO UNDEPLOY:" + id);
+ String currScope = ScopeProvider.instance.get();
+ ScopeProvider.instance.set(scope);
+ modelPortType = manager().at(factory().build().getEPRbyId(id)).build();
+ log.info("Trying UNDEPLOY:" + id + " name="+ modelPortType.getDescription().name());
+ modelPortType.undeployVRE();
+ ScopeProvider.instance.set(currScope);
+ try {
+ Thread.sleep(10000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
@Override
public DeployReport checkVREStatus() throws RemoteException {
@@ -276,7 +297,7 @@ protected static AtomicInteger vreId = new AtomicInteger(0);
*
*/
public boolean isCloudSelected() {
- System.out.println("isCloudSelected()");
+ log.info("isCloudSelected()");
String currScope = ScopeProvider.instance.get();
ScopeProvider.instance.set(scope);
boolean toReturn = modelPortType.isUseCloud();