adding service undeployment
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/828269f2 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/828269f2 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/828269f2 Branch: refs/heads/docker-grouping-merge Commit: 828269f28a31a2a1a525988d2cdcc7a9f0a9fb4f Parents: 0d726c8 Author: reka <[email protected]> Authored: Fri Oct 31 18:13:42 2014 +0530 Committer: reka <[email protected]> Committed: Fri Oct 31 18:13:42 2014 +0530 ---------------------------------------------------------------------- .../autoscaler/api/AutoScalerServiceImpl.java | 11 ++++++++++- .../autoscaler/registry/RegistryManager.java | 20 ++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/828269f2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java index d710bf7..8c4bf2e 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/api/AutoScalerServiceImpl.java @@ -324,7 +324,7 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface{ RegistryManager.getInstance().persistServiceGroup(servicegroup); } - public ServiceGroup getServiceGroup(String name){ + public ServiceGroup getServiceGroup(String name) { if(StringUtils.isEmpty(name)){ return null; } @@ -338,5 +338,14 @@ public class AutoScalerServiceImpl implements AutoScalerServiceInterface{ return false; } + public void undeployServiceGroup(String name) throws AutoScalerException { + try { + RegistryManager.getInstance().removeServiceGroup(name); + } catch (Exception e) { + throw new AutoScalerException("Error occurred while removing the service groups", e); + } + + } + } http://git-wip-us.apache.org/repos/asf/stratos/blob/828269f2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java index ee8e411..0e1417e 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java @@ -368,6 +368,26 @@ public class RegistryManager { return group; } + public ServiceGroup removeServiceGroup(String name) throws Exception{ + String resourcePath = AutoScalerConstants.AUTOSCALER_RESOURCE + + AutoScalerConstants.SERVICE_GROUP + "/" + name; + Object serializedObj = registryManager.retrieve(resourcePath); + ServiceGroup group = null; + if (serializedObj != null) { + Object dataObj = Deserializer.deserializeFromByteArray((byte[]) serializedObj); + if (dataObj instanceof ServiceGroup) { + group = (ServiceGroup) dataObj; + if(log.isDebugEnabled()) { + log.debug(group.toString()); + } + } else { + return null; + } + } + + return group; + } + public void removeAutoscalerPolicy(AutoscalePolicy autoscalePolicy) { String resourcePath = AutoScalerConstants.AUTOSCALER_RESOURCE + AutoScalerConstants.AS_POLICY_RESOURCE + "/" + autoscalePolicy.getId(); this.delete(resourcePath);
