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();