You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/11/28 16:33:36 UTC

[05/15] stratos git commit: Refactoring cloud controller component to simplify the package structure

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
deleted file mode 100644
index 1b7908c..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.Arrays;
-/**
- * Had to wrap {@link NetworkInterface} array using a class, since there's a bug in current 
- * stub generation.
- *
- */
-public class NetworkInterfaces implements Serializable {
-
-	private static final long serialVersionUID = -8435710709813227055L;
-	private NetworkInterface[] networkInterfaces;
-
-	/**
-	 * @return the networkInterfaces
-	 */
-	public NetworkInterface[] getNetworkInterfaces() {
-		return networkInterfaces;
-	}
-
-	/**
-	 * @param networkInterfaces the networkInterfaces to set
-	 */
-	public void setNetworkInterfaces(NetworkInterface[] networkInterfaces) {
-        if(networkInterfaces == null) {
-            this.networkInterfaces = new NetworkInterface[0];
-        } else {
-            this.networkInterfaces = Arrays.copyOf(networkInterfaces, networkInterfaces.length);
-        }
-	}
-
-	@Override
-    public String toString() {
-        return "NetworkInterfaces [network interfaces=" + Arrays.toString(networkInterfaces) + "]";
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
deleted file mode 100644
index 128efbf..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.Arrays;
-
-public class Persistence implements Serializable{
-	
-	private static final long serialVersionUID = 3455721979991902731L;
-	private boolean persistanceRequired;
-	private Volume[] volumes;
-
-    public String toString () {
-        return "Persistence Required: " + isPersistanceRequired();
-    }
-
-    public boolean isPersistanceRequired() {
-        return persistanceRequired;
-    }
-
-    public void setPersistanceRequired(boolean persistanceRequired) {
-        this.persistanceRequired = persistanceRequired;
-    }
-
-    public Volume[] getVolumes() {
-        return volumes;
-    }
-
-    public void setVolumes(Volume[] volumes) {
-        if(volumes == null) {
-            this.volumes = new Volume[0];
-        } else {
-            this.volumes = Arrays.copyOf(volumes, volumes.length);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
deleted file mode 100644
index 63e222b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-
-public class PortMapping implements Serializable{
-	
-    private static final long serialVersionUID = -5387564414633460306L;
-	private String protocol;
-	private String port;
-	private String proxyPort;
-	
-	public PortMapping(){
-		
-	}
-	
-	public PortMapping(String protocol, String port, String proxyPort){
-		this.protocol = protocol;
-		this.port = port;
-		this.proxyPort = proxyPort;
-	}
-
-	public String getProtocol() {
-    	return protocol;
-    }
-
-	public void setProtocol(String protocol) {
-    	this.protocol = protocol;
-    }
-
-	public String getPort() {
-    	return port;
-    }
-
-	public void setPort(String port) {
-    	this.port = port;
-    }
-
-	public String getProxyPort() {
-    	return proxyPort;
-    }
-
-	public void setProxyPort(String proxyPort) {
-    	this.proxyPort = proxyPort;
-    }
-
-    public String toString () {
-
-        return "Protocol: " + protocol + ", Port: " + port + ", Proxy Port: " + proxyPort;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
deleted file mode 100644
index e53e95f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import org.apache.stratos.common.Properties;
-
-/**
- * Upon a new subscription, Stratos Manager would send this POJO.
- *
- *
- */
-public class Registrant {
-
-    private String clusterId;
-    private String tenantRange;
-    private String hostName;
-    private String cartridgeType;
-    private String payload;
-    private Properties properties;
-    private String autoScalerPolicyName;
-    private String deploymentPolicyName;
-    private Persistence persistence;
-    
-    public String getTenantRange() {
-        return tenantRange;
-    }
-    public void setTenantRange(String tenantRange) {
-        this.tenantRange = tenantRange;
-    }
-    public String getHostName() {
-        return hostName;
-    }
-    public void setHostName(String hostName) {
-        this.hostName = hostName;
-    }
-    public Properties getProperties() {
-        return properties;
-    }
-    public void setProperties(Properties properties) {
-        this.properties = properties;
-    }
-    public String getAutoScalerPolicyName() {
-        return autoScalerPolicyName;
-    }
-    public void setAutoScalerPolicyName(String autoScalerPolicyName) {
-        this.autoScalerPolicyName = autoScalerPolicyName;
-    }
-    public String getClusterId() {
-        return clusterId;
-    }
-    public void setClusterId(String clusterId) {
-        this.clusterId = clusterId;
-    }
-    public String getCartridgeType() {
-        return cartridgeType;
-    }
-    public void setCartridgeType(String cartridgeType) {
-        this.cartridgeType = cartridgeType;
-    }
-    public String getPayload() {
-        return payload;
-    }
-    public void setPayload(String payload) {
-        this.payload = payload;
-    }
-
-    public String getDeploymentPolicyName() {
-        return deploymentPolicyName;
-    }
-
-    public void setDeploymentPolicyName(String deploymentPolicyName) {
-        this.deploymentPolicyName = deploymentPolicyName;
-    }
-    @Override
-    public String toString() {
-        return "Registrant [clusterId=" + clusterId + ", tenantRange=" + tenantRange +
-               ", hostName=" + hostName + ", cartridgeType=" + cartridgeType + ", properties=" +
-               properties + ", autoScalerPolicyName=" + autoScalerPolicyName +
-               ", deploymentPolicyName=" + deploymentPolicyName + "]";
-    }
-
-    public Persistence getPersistence() {
-        return persistence;
-    }
-
-    public void setPersistence(Persistence persistence) {
-        this.persistence = persistence;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
deleted file mode 100644
index 45957f5..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class ServiceGroup implements Serializable {
-
-
-	private static final long serialVersionUID = -7413745300105885793L;
-
-	private String name;
-
-    private String [] subGroups;
-
-    private String [] cartridges;
-
-    private Dependencies dependencies;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String [] getSubGroups() {
-        return subGroups;
-    }
-
-    public void setSubGroups(String [] subGroups) {
-        this.subGroups = subGroups;
-    }
-
-    public String [] getCartridges() {
-        return cartridges;
-    }
-
-    public void setCartridges(String [] cartridges) {
-        this.cartridges = cartridges;
-    }
-
-    public Dependencies getDependencies() {
-        return dependencies;
-    }
-
-    public void setDependencies(Dependencies dependencies) {
-        this.dependencies = dependencies;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
deleted file mode 100644
index 2d309a1..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Configuration related to Topology synchronization
- *
- */
-public class TopologyConfig implements Serializable{
-	
-	private static final long serialVersionUID = 4435173744617096911L;
-	
-	/**
-     * Key - Value pair.
-     */
-    private Map<String, String> properties = new HashMap<String, String>();
-    
-    public void setProperty(String key, String value) {
-        properties.put(key, value);
-    }
-    
-    public String getProperty(String key) {
-        
-        if(properties.containsKey(key)){
-            return properties.get(key);
-        }
-        
-        return null;
-    }
-
-    public Map<String, String> getProperties() {
-        return properties;
-    }
-
-    public void setProperties(Map<String, String> properties) {
-        this.properties = properties;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
deleted file mode 100644
index b5e3b29..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-
-public class Volume implements Serializable {
-    private static final long serialVersionUID = 3455729879991902731L;
-
-    private String id;
-    private int size;
-	private String device;
-	private boolean removeOntermination;
-    private String mappingPath;
-    private String iaasType;
-    private String snapshotId;
-    private String volumeId;
-
-    public String toString () {
-        return "Persistence Required: " + ", Size: " + getSize() + ", device: " + getDevice() +
-                " mapping path : " + mappingPath + " remove on termination " + isRemoveOntermination() + " SnaphotId " + snapshotId;
-    }
-
-    public int getSize() {
-        return size;
-    }
-
-    public void setSize(int size) {
-        this.size = size;
-    }
-
-    public String getDevice() {
-        return device;
-    }
-
-    public void setDevice(String device) {
-        this.device = device;
-    }
-
-    public boolean isRemoveOntermination() {return removeOntermination;}
-
-    public void setRemoveOntermination(boolean removeOntermination) {
-        this.removeOntermination = removeOntermination;
-    }
-
-    public String getMappingPath() {
-        return mappingPath;
-    }
-
-    public void setMappingPath(String mappingPath) {
-        this.mappingPath = mappingPath;
-    }
-
-	public String getId() {
-		return id;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((id == null) ? 0 : id.hashCode());
-		return result;
-	}
-
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (obj == null)
-			return false;
-		if (getClass() != obj.getClass())
-			return false;
-		Volume other = (Volume) obj;
-		if (id == null) {
-			if (other.id != null)
-				return false;
-		} else if (!id.equals(other.id))
-			return false;
-		return true;
-	}
-
-	public String getIaasType() {
-		return iaasType;
-	}
-
-	public void setIaasType(String iaasType) {
-		this.iaasType = iaasType;
-	}
-
-	public String getSnapshotId() {
-		return snapshotId;
-	}
-
-	public void setSnapshotId(String snapshotId) {
-		this.snapshotId = snapshotId;
-	}
-
-    public String getVolumeId() {
-        return volumeId;
-    }
-
-    public void setVolumeId(String volumeId) {
-        this.volumeId = volumeId;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
deleted file mode 100644
index 3db9f71..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.pojo.payload;
-
-import java.util.Properties;
-
-/**
- * Holds payload/meta data related to a cluster
- */
-
-public class MetaDataHolder {
-
-    private String appId;
-
-    private String groupName;
-
-    private String clusterId;
-
-    private Properties properties;
-
-    public MetaDataHolder (String appId, String clusterId) {
-
-        this.appId = appId;
-        this.clusterId = clusterId;
-    }
-
-    public MetaDataHolder(String appId, String groupName, String clusterId) {
-
-        this.appId = appId;
-        this.groupName = groupName;
-        this.clusterId = clusterId;
-    }
-
-    public String getAppId() {
-        return appId;
-    }
-
-    public String getGroupName() {
-        return groupName;
-    }
-
-    public String getClusterId() {
-        return clusterId;
-    }
-
-    public boolean equals(Object other) {
-
-        if(other == null || !(other instanceof MetaDataHolder)) {
-            return false;
-        }
-
-        if(this == other) {
-            return true;
-        }
-
-        MetaDataHolder that = (MetaDataHolder)other;
-
-        if (this.groupName == null || that.groupName == null) {
-            return this.appId.equals(that.appId) && this.clusterId.equals(that.clusterId);
-        } else {
-            return this.appId.equals(that.appId) && this.groupName.equals(that.groupName) &&
-                    this.clusterId.equals(that.clusterId);
-        }
-    }
-
-    public int hashCode () {
-
-        if (this.getGroupName() == null) {
-            return this.appId.hashCode() + this.clusterId.hashCode();
-        } else {
-            return this.appId.hashCode() + this.groupName.hashCode() + this.clusterId.hashCode();
-        }
-    }
-
-    public Properties getProperties() {
-        return properties;
-    }
-
-    public void setProperties(Properties properties) {
-        this.properties = properties;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
deleted file mode 100644
index ad3c26f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.publisher;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.exception.CloudControllerException;
-import org.apache.stratos.cloud.controller.pojo.Cartridge;
-import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.wso2.carbon.base.ServerConfiguration;
-import org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher;
-import org.wso2.carbon.databridge.agent.thrift.exception.AgentException;
-import org.wso2.carbon.databridge.commons.Attribute;
-import org.wso2.carbon.databridge.commons.AttributeType;
-import org.wso2.carbon.databridge.commons.Event;
-import org.wso2.carbon.databridge.commons.StreamDefinition;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- *  This will publish the state changes of a node in the topology to a data receiver
- */
-public class CartridgeInstanceDataPublisher {
-    
-    private static final Log log = LogFactory.getLog(CartridgeInstanceDataPublisher.class);
-    private static AsyncDataPublisher dataPublisher;
-    private static StreamDefinition streamDefinition;
-    private static final String cloudControllerEventStreamVersion = "1.0.0";
-
-    public static void publish(String memberId,
-                               String partitionId,
-                               String networkId,
-                               String clusterId,
-                               String serviceName,
-                               String status,
-                               NodeMetadata metadata) {
-        if(!FasterLookUpDataHolder.getInstance().getEnableBAMDataPublisher()){
-            return;
-        }
-        log.debug(CloudControllerConstants.DATA_PUB_TASK_NAME+" cycle started.");
-
-        if(dataPublisher==null){
-            createDataPublisher();
-
-            //If we cannot create a data publisher we should give up
-            //this means data will not be published
-            if(dataPublisher == null){
-                log.error("Data Publisher cannot be created or found.");
-                release();
-                return;
-            }
-        }
-
-
-        MemberContext memberContext = FasterLookUpDataHolder.getInstance().getMemberContextOfMemberId(memberId);
-        String cartridgeType = memberContext.getCartridgeType();
-        Cartridge cartridge = FasterLookUpDataHolder.getInstance().getCartridge(cartridgeType);
-        
-        //Construct the data to be published
-        List<Object> payload = new ArrayList<Object>();
-        // Payload values
-        payload.add(memberId);
-        payload.add(serviceName);
-        payload.add(clusterId);
-        payload.add(handleNull(memberContext.getLbClusterId()));
-        payload.add(handleNull(partitionId));
-        payload.add(handleNull(networkId));
-		if (cartridge != null) {
-			payload.add(handleNull(String.valueOf(cartridge.isMultiTenant())));
-		} else {
-			payload.add("");
-		}
-        payload.add(handleNull(memberContext.getPartition().getProvider()));
-        payload.add(handleNull(status));
-
-        if(metadata != null) {
-            payload.add(metadata.getHostname());
-            payload.add(metadata.getHardware().getHypervisor());
-            payload.add(String.valueOf(metadata.getHardware().getRam()));
-            payload.add(metadata.getImageId());
-            payload.add(metadata.getLoginPort());
-            payload.add(metadata.getOperatingSystem().getName());
-            payload.add(metadata.getOperatingSystem().getVersion());
-            payload.add(metadata.getOperatingSystem().getArch());
-            payload.add(String.valueOf(metadata.getOperatingSystem().is64Bit()));
-        } else {
-            payload.add("");
-            payload.add("");
-            payload.add("");
-            payload.add("");
-            payload.add(0);
-            payload.add("");
-            payload.add("");
-            payload.add("");
-            payload.add("");
-        }
-
-        payload.add(handleNull(memberContext.getPrivateIpAddress()));
-        payload.add(handleNull(memberContext.getPublicIpAddress()));
-        payload.add(handleNull(memberContext.getAllocatedIpAddress()));
-
-        Event event = new Event();
-        event.setPayloadData(payload.toArray());
-        event.setArbitraryDataMap(new HashMap<String, String>());
-
-        try {
-            if (log.isDebugEnabled()) {
-                log.debug(String.format("Publishing BAM event: [stream] %s [version] %s", streamDefinition.getName(), streamDefinition.getVersion()));
-            }
-            dataPublisher.publish(streamDefinition.getName(), streamDefinition.getVersion(), event);
-        } catch (AgentException e) {
-            if (log.isErrorEnabled()) {
-                log.error(String.format("Could not publish BAM event: [stream] %s [version] %s", streamDefinition.getName(), streamDefinition.getVersion()), e);
-            }
-        }
-    }
-    
-    private static void release(){
-        FasterLookUpDataHolder.getInstance().setPublisherRunning(false);
-    }
-    
-    private static StreamDefinition initializeStream() throws Exception {
-        streamDefinition = new StreamDefinition(
-                CloudControllerConstants.CLOUD_CONTROLLER_EVENT_STREAM,
-                cloudControllerEventStreamVersion);
-        streamDefinition.setNickName("cloud.controller");
-        streamDefinition.setDescription("Instances booted up by the Cloud Controller");
-        // Payload definition
-        List<Attribute> payloadData = new ArrayList<Attribute>();
-        payloadData.add(new Attribute(CloudControllerConstants.MEMBER_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.CARTRIDGE_TYPE_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.CLUSTER_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.LB_CLUSTER_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.PARTITION_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.NETWORK_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.IS_MULTI_TENANT_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.IAAS_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.STATUS_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.HOST_NAME_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.HYPERVISOR_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.RAM_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.IMAGE_ID_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.LOGIN_PORT_COL, AttributeType.INT));
-        payloadData.add(new Attribute(CloudControllerConstants.OS_NAME_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.OS_VERSION_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.OS_ARCH_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.OS_BIT_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.PRIV_IP_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.PUB_IP_COL, AttributeType.STRING));
-        payloadData.add(new Attribute(CloudControllerConstants.ALLOCATE_IP_COL, AttributeType.STRING));
-        streamDefinition.setPayloadData(payloadData);
-        return streamDefinition;
-    }
-
-
-    private static void createDataPublisher(){
-        //creating the agent
-
-        ServerConfiguration serverConfig =  CarbonUtils.getServerConfiguration();
-        String trustStorePath = serverConfig.getFirstProperty("Security.TrustStore.Location");
-        String trustStorePassword = serverConfig.getFirstProperty("Security.TrustStore.Password");
-        String bamServerUrl = serverConfig.getFirstProperty("BamServerURL");
-        String adminUsername = FasterLookUpDataHolder.getInstance().getDataPubConfig().getBamUsername();
-        String adminPassword = FasterLookUpDataHolder.getInstance().getDataPubConfig().getBamPassword();
-
-        System.setProperty("javax.net.ssl.trustStore", trustStorePath);
-        System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);
-
-
-        try {
-            dataPublisher = new AsyncDataPublisher("tcp://" +  bamServerUrl + "", adminUsername, adminPassword);
-            FasterLookUpDataHolder.getInstance().setDataPublisher(dataPublisher);
-            initializeStream();
-            dataPublisher.addStreamDefinition(streamDefinition);
-        } catch (Exception e) {
-            String msg = "Unable to create a data publisher to " + bamServerUrl +
-                    ". Usage Agent will not function properly. ";
-            log.error(msg, e);
-            throw new CloudControllerException(msg, e);
-        }
-    }
-    
-    private static String handleNull(String val) {
-        if (val == null) {
-            return "";
-        }
-        return val;
-    }
-
-    
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
deleted file mode 100644
index 398dc1f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.publisher;
-
-import java.util.HashMap;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.topology.TopologySynchronizerTask;
-import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.wso2.carbon.ntask.common.TaskException;
-import org.wso2.carbon.ntask.core.TaskInfo;
-import org.wso2.carbon.ntask.core.TaskManager;
-import org.wso2.carbon.ntask.core.service.TaskService;
-
-/**
- * Topology synchronizer task scheduler for scheduling the topology synchronizer task
- * using carbon task service.
- */
-public class TopologySynchronizerTaskScheduler {
-
-    private static final Log log = LogFactory.getLog(TopologySynchronizerTaskScheduler.class);
-
-    private static final FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
-
-    public static void schedule(TaskService taskService) {
-        TaskManager taskManager = null;
-        try {
-
-            if (!taskService.getRegisteredTaskTypes().contains(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE)) {
-                // Register task type
-                taskService.registerTaskType(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE);
-
-                // Register task
-                taskManager = taskService.getTaskManager(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE);
-                String cronProp = dataHolder.getTopologyConfig().getProperty(CloudControllerConstants.CRON_PROPERTY);
-				String cron = cronProp != null ?  cronProp :CloudControllerConstants.TOPOLOGY_SYNC_CRON ;
-                TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(cron);
-                TaskInfo taskInfo = new TaskInfo(CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME,
-                        TopologySynchronizerTask.class.getName(),
-                        new HashMap<String, String>(), triggerInfo);
-                taskManager.registerTask(taskInfo);
-                if(log.isDebugEnabled()) {
-                    log.debug(String.format("Topology synchronization task scheduled: %s", CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME));
-                }
-            }
-
-        } catch (Exception e) {
-            if (taskManager != null) {
-                try {
-                    taskManager.deleteTask(CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME);
-                } catch (TaskException te) {
-                    if (log.isErrorEnabled()) {
-                        log.error(te);
-                    }
-                }
-            }
-            
-            String msg = String.format("Could not schedule topology synchronization task: %s", CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME);
-            log.error(msg, e);
-			throw new RuntimeException(msg, e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
deleted file mode 100644
index 4ad51cc..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.application;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
-import org.apache.stratos.messaging.listener.applications.ApplicationTerminatedEventListener;
-import org.apache.stratos.messaging.message.receiver.applications.ApplicationsEventReceiver;
-
-/**
- * This is to receive the application topic messages.
- */
-public class ApplicationTopicReceiver implements Runnable{
-    private static final Log log = LogFactory.getLog(ApplicationTopicReceiver.class);
-    private ApplicationsEventReceiver applicationsEventReceiver;
-    private boolean terminated;
-
-    public ApplicationTopicReceiver() {
-        this.applicationsEventReceiver = new ApplicationsEventReceiver();
-        addEventListeners();
-
-    }
-
-    
-    @Override
-    public void run() {
-
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller application status thread started");
-        }
-        Thread thread = new Thread(applicationsEventReceiver);
-        thread.start();
-
-        // Keep the thread live until terminated
-        while (!terminated) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException ignore) {
-            }
-        }
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller application status thread terminated");
-        }
-
-    }
-    private void addEventListeners() {
-        applicationsEventReceiver.addEventListener(new ApplicationTerminatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                //Remove the application related data
-                ApplicationTerminatedEvent terminatedEvent = (ApplicationTerminatedEvent)event;
-                log.info("ApplicationTerminatedEvent received for [application] " + terminatedEvent.getAppId());
-                String appId = terminatedEvent.getAppId();
-                TopologyBuilder.handleApplicationClustersRemoved(appId, terminatedEvent.getClusterData());
-            }
-        });
-    }
-
-    public void setTerminated(boolean terminated) {
-        this.terminated = terminated;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
deleted file mode 100644
index f89434b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.cluster.status;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.cluster.status.*;
-import org.apache.stratos.messaging.listener.cluster.status.*;
-import org.apache.stratos.messaging.message.receiver.cluster.status.ClusterStatusEventReceiver;
-
-public class ClusterStatusTopicReceiver implements Runnable{
-    private static final Log log = LogFactory.getLog(ClusterStatusTopicReceiver.class);
-
-    private ClusterStatusEventReceiver statusEventReceiver;
-    private boolean terminated;
-
-    public ClusterStatusTopicReceiver() {
-        this.statusEventReceiver = new ClusterStatusEventReceiver();
-        addEventListeners();
-    }
-
-    public void run() {
-        Thread thread = new Thread(statusEventReceiver);
-        thread.start();
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller Cluster status thread started");
-        }
-
-        // Keep the thread live until terminated
-        while (!terminated) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException ignore) {
-            }
-        }
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller application status thread terminated");
-        }
-
-    }
-    private void addEventListeners() {
-        // Listen to topology events that affect clusters
-        statusEventReceiver.addEventListener(new ClusterStatusClusterResetEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterReset((ClusterStatusClusterResetEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterInstanceCreatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                //TopologyBuilder.handleClusterInstanceCreated((ClusterStatusClusterInstanceCreatedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterCreatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterCreated((ClusterStatusClusterCreatedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterActivatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterActivatedEvent((ClusterStatusClusterActivatedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterTerminatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterTerminatedEvent((ClusterStatusClusterTerminatedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterTerminatingEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterTerminatingEvent((ClusterStatusClusterTerminatingEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new ClusterStatusClusterInactivateEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleClusterInActivateEvent((ClusterStatusClusterInactivateEvent) event);
-            }
-        });
-    }
-
-    public void setTerminated(boolean terminated) {
-        this.terminated = terminated;
-    }
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
deleted file mode 100644
index c659fdb..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.instance.status;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
-import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceMaintenanceModeEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceReadyToShutdownEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent;
-import org.apache.stratos.messaging.listener.instance.status.InstanceActivatedEventListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceMaintenanceListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceReadyToShutdownEventListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceStartedEventListener;
-import org.apache.stratos.messaging.message.receiver.instance.status.InstanceStatusEventReceiver;
-
-/**
- * This will handle the instance status events
- */
-public class InstanceStatusTopicReceiver implements Runnable {
-    private static final Log log = LogFactory.getLog(InstanceStatusTopicReceiver.class);
-
-    private InstanceStatusEventReceiver statusEventReceiver;
-    private boolean terminated;
-
-    public InstanceStatusTopicReceiver() {
-        this.statusEventReceiver = new InstanceStatusEventReceiver();
-        addEventListeners();
-    }
-
-
-    @Override
-    public void run() {
-        Thread thread = new Thread(statusEventReceiver);
-        thread.start();
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller application status thread started");
-        }
-        ///* Keep the thread live until terminated
-        while (!terminated) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException ignore) {
-            }
-        }
-        if (log.isInfoEnabled()) {
-            log.info("Cloud controller application status thread terminated");
-        }
-    }
-
-    private void addEventListeners() {
-        statusEventReceiver.addEventListener(new InstanceActivatedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleMemberActivated((InstanceActivatedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new InstanceStartedEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                TopologyBuilder.handleMemberStarted((InstanceStartedEvent) event);
-            }
-        });
-
-        statusEventReceiver.addEventListener(new InstanceReadyToShutdownEventListener() {
-            @Override
-            protected void onEvent(Event event) {
-                try {
-                    TopologyBuilder.handleMemberReadyToShutdown((InstanceReadyToShutdownEvent) event);
-                } catch (Exception e) {
-                    String error = "Failed to retrieve the instance status event message";
-                    log.error(error, e);
-                }
-            }
-        });
-
-        statusEventReceiver.addEventListener(new InstanceMaintenanceListener() {
-            @Override
-            protected void onEvent(Event event) {
-                try {
-                    TopologyBuilder.handleMemberMaintenance((InstanceMaintenanceModeEvent) event);
-                } catch (Exception e) {
-                String error = "Failed to retrieve the instance status event message";
-                log.error(error, e);
-                }
-            }
-        });
-
-
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
new file mode 100644
index 0000000..bd386e9
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one 
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
+ * KIND, either express or implied.  See the License for the 
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cloud.controller.registry;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class Deserializer {
+    
+    private static final Log log = LogFactory.getLog(Deserializer.class);
+
+    /**
+     * We deserialize only if the path to the serialized object file is exists.
+     * @param filePath path to the serialized object file
+     * @return the object obtained after deserialization or null if file isn't valid.
+     * @throws Exception
+     */
+    public static Object deserialize(String filePath) throws Exception {
+
+        ObjectInputStream objIn = null; 
+        Object obj = null;
+        
+        if(!new File(filePath).isFile()){
+            return obj;
+        }
+        
+        try {
+
+            objIn = new ObjectInputStream(new FileInputStream(filePath));
+            obj = objIn.readObject();
+
+        } catch (IOException e) {
+            log.error("Failed to deserialize the file at "+filePath , e);
+            throw e;
+            
+        } catch (ClassNotFoundException e) {
+            log.error("Failed to deserialize the file at "+filePath , e);
+            throw e;
+            
+        } finally {
+            if (objIn != null) {
+                objIn.close();
+            }
+        }
+        
+        return obj;
+
+    }
+    
+    /**
+     * Deserialize a byte array and retrieve the object.
+     * @param bytes bytes to be deserialized
+     * @return the deserialized {@link Object}
+     * @throws Exception if the deserialization is failed.
+     */
+    public static Object deserializeFromByteArray(byte[] bytes) throws Exception {
+
+        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
+        ObjectInput in = null;
+        try {
+            in = new ObjectInputStream(bis);
+            Object o = in.readObject();
+
+            return o;
+
+        } finally {
+            bis.close();
+            if (in != null) {
+                in.close();
+            }
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
index 3162fca..9e30daf 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
@@ -24,10 +24,9 @@ package org.apache.stratos.cloud.controller.registry;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.cloud.controller.exception.CloudControllerException;
-import org.apache.stratos.cloud.controller.persist.Serializer;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.ServiceReferenceHolder;
+import org.apache.stratos.cloud.controller.internal.ServiceReferenceHolder;
 import org.apache.stratos.messaging.domain.topology.Topology;
 import org.wso2.carbon.context.PrivilegedCarbonContext;
 import org.wso2.carbon.registry.core.Registry;

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
new file mode 100644
index 0000000..f0f00d5
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one 
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
+ * KIND, either express or implied.  See the License for the 
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cloud.controller.registry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder;
+import org.apache.stratos.messaging.domain.topology.Topology;
+
+import java.io.*;
+
+public class Serializer {
+    
+    private static final Log log = LogFactory.getLog(Serializer.class);
+
+    public static void serializeToFile(Object serializableObj, String filePath) throws IOException {
+
+        File outFile = new File(filePath);
+        ObjectOutput objOut = null;
+        FileOutputStream fileOutputStream = null;
+        
+        try {
+
+            if(outFile.createNewFile()){
+                log.debug("Serialization file is created at "+filePath);
+            } else{
+                log.debug("Serialization file is already existing at "+filePath);
+            }
+            fileOutputStream = new FileOutputStream(outFile);
+            objOut = new ObjectOutputStream(fileOutputStream);
+            objOut.writeObject(serializableObj);
+
+        } catch (IOException e) {
+            log.error("Failed to serialize the object "+serializableObj.toString()
+                      + " to file "+filePath , e);
+            throw e;
+            
+        } finally{
+            if(objOut != null) {
+                objOut.close();
+            }
+            if(fileOutputStream != null) {
+                fileOutputStream.close();
+            }
+        }
+
+    }
+    
+    /**
+     * Serialize a {@link org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder} to a byte array.
+     * @param serializableObj
+     * @return byte[] 
+     * @throws IOException
+     */
+    public static byte[] serializeToByteArray(FasterLookUpDataHolder serializableObj) throws IOException {
+
+    	ByteArrayOutputStream bos = new ByteArrayOutputStream();
+    	ObjectOutput out = null;
+    	try {
+    	  out = new ObjectOutputStream(bos);   
+    	  out.writeObject(serializableObj);
+    	  
+    	  return bos.toByteArray();
+    	  
+        } finally {
+            if (out != null) {
+                out.close();
+            }
+            bos.close();
+        }
+
+    }
+
+     /**
+     * Serialize a {@link org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder} to a byte array.
+     * @param topology
+     * @return byte[]
+     * @throws IOException
+     */
+    public static byte[] serializeToByteArray(Topology topology) throws IOException {
+
+    	ByteArrayOutputStream bos = new ByteArrayOutputStream();
+    	ObjectOutput out = null;
+    	try {
+    	  out = new ObjectOutputStream(bos);
+    	  out.writeObject(topology);
+
+    	  return bos.toByteArray();
+
+        } finally {
+            if (out != null) {
+                out.close();
+            }
+            bos.close();
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
deleted file mode 100644
index ffdde8b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one 
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 
- * KIND, either express or implied.  See the License for the 
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.runtime;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.pojo.*;
-import org.apache.stratos.cloud.controller.registry.RegistryManager;
-import org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledFuture;
-
-/**
- * This object holds all runtime data and provides faster access. This is a Singleton class.
- */
-public class FasterLookUpDataHolder implements Serializable{
-
-    private static final long serialVersionUID = -2662307358852779897L;
-    
-    private static final Log log = LogFactory.getLog(FasterLookUpDataHolder.class);
-
-	private static volatile FasterLookUpDataHolder ctxt;
-
-	/* We keep following maps in order to make the look up time, small. */
-	
-	/**
-     * Key - cluster id
-     * Value - list of {@link MemberContext}
-     */
-    private Map<String, List<MemberContext>> clusterIdToMemberContext = new ConcurrentHashMap<String, List<MemberContext>>();
-    
-
-    /**
-	 * Key - member id
-	 * Value - {@link MemberContext}
-	 */
-	private Map<String, MemberContext> memberIdToContext = new ConcurrentHashMap<String, MemberContext>();
-	
-	/**
-     * Key - member id
-     * Value - ScheduledFuture task
-     */
-    private transient Map<String, ScheduledFuture<?>> memberIdToScheduledTask = new ConcurrentHashMap<String, ScheduledFuture<?>>();
-	
-	/**
-	 * Key - Kubernetes cluster id
-	 * Value - {@link KubernetesClusterContext}
-	 */
-	private Map<String, KubernetesClusterContext> kubClusterIdToKubClusterContext = 
-			new ConcurrentHashMap<String, KubernetesClusterContext>();
-	
-	/**
-	 * Key - cluster id
-	 * Value - {@link ClusterContext}
-	 */
-	private Map<String, ClusterContext> clusterIdToContext = new ConcurrentHashMap<String, ClusterContext>();
-	
-	/**
-	 * This works as a cache to hold already validated partitions against a cartridge type.
-	 * Key - cartridge type
-	 * Value - list of partition ids
-	 */
-	private Map<String, List<String>> cartridgeTypeToPartitionIds = new ConcurrentHashMap<String, List<String>>();
-	
-	/**
-     * Thread pool used in this task to execute parallel tasks.
-     */
-    private transient ExecutorService executor = Executors.newFixedThreadPool(20);
-	
-	/**
-	 * List of registered {@link Cartridge}s
-	 */
-	private List<Cartridge> cartridges;
-	
-	/**
-	 * List of deployed service groups
-	 */
-	private List<ServiceGroup> serviceGroups;
-
-	/**
-	 * List of IaaS Providers.
-	 */
-	private List<IaasProvider> iaasProviders;
-
-
-	private String serializationDir;
-	private boolean enableBAMDataPublisher;
-	private transient DataPublisherConfig dataPubConfig;
-	private boolean enableTopologySync;
-	private transient TopologyConfig topologyConfig;
-
-	private transient AsyncDataPublisher dataPublisher;
-	private String streamId;
-	private boolean isPublisherRunning;
-	private boolean isTopologySyncRunning;
-
-
-	public static FasterLookUpDataHolder getInstance() {
-
-		if (ctxt == null) {
-			synchronized (FasterLookUpDataHolder.class) {
-				if (ctxt == null && RegistryManager.getInstance() != null) {
-
-					Object obj = RegistryManager.getInstance().retrieve();
-					if (obj != null) {
-						if (obj instanceof FasterLookUpDataHolder) {
-							ctxt = (FasterLookUpDataHolder) obj;
-						}
-					} 
-				}
-				if(ctxt == null) {
-					ctxt = new FasterLookUpDataHolder();
-				}
-			}
-		}
-
-		return ctxt;
-	}
-
-	private FasterLookUpDataHolder() {
-
-		cartridges = new ArrayList<Cartridge>();
-		serviceGroups = new ArrayList<ServiceGroup>();
-	}
-
-	public List<Cartridge> getCartridges() {
-		return cartridges;
-	}
-	
-	public void setCartridges(List<Cartridge> cartridges) {
-	    this.cartridges = cartridges;
-	}
-	
-	public void setServiceGroups(List<ServiceGroup> serviceGroups) {
-		this.serviceGroups = serviceGroups;
-	}
-	
-	public List<ServiceGroup> getServiceGroups() {
-		return this.serviceGroups;
-	}
-
-
-	public Cartridge getCartridge(String cartridgeType) {
-		for (Cartridge cartridge : cartridges) {
-			if (cartridge.getType().equals(cartridgeType)) {
-				return cartridge;
-			}
-		}
-
-		return null;
-	}
-	
-	public void addCartridge(Cartridge newCartridges) {
-	
-		cartridges.add(newCartridges);
-	}
-
-	public void removeCartridges(List<Cartridge> cartridges) {
-		if (this.cartridges != null) {
-			this.cartridges.removeAll(cartridges);
-		}
-
-	}
-	
-	public ServiceGroup getServiceGroup(String name) {
-		for (ServiceGroup serviceGroup : serviceGroups) {
-			if (serviceGroup.getName().equals(name)) {
-				return serviceGroup;
-			}
-		}
-
-		return null;
-	}
-	
-	public void addServiceGroup(ServiceGroup newServiceGroup) {
-		this.serviceGroups.add(newServiceGroup);
-	}
-	
-	public void removeServiceGroup(List<ServiceGroup> serviceGroup) {
-		if (this.serviceGroups != null) {
-			this.serviceGroups.removeAll(serviceGroup);
-		}
-	}
-	
-	public IaasProvider getIaasProvider(String type) {
-	    if(type == null) {
-	        return null;
-	    }
-	    
-	    for (IaasProvider iaasProvider : iaasProviders) {
-            if(type.equals(iaasProvider.getType())) {
-                return iaasProvider;
-            }
-        }
-	    return null;
-	}
-
-	public List<IaasProvider> getIaasProviders() {
-		return iaasProviders;
-	}
-
-	public void setIaasProviders(List<IaasProvider> iaasProviders) {
-		this.iaasProviders = iaasProviders;
-	}
-
-	public String getSerializationDir() {
-		return serializationDir;
-	}
-
-	public void setSerializationDir(String serializationDir) {
-		this.serializationDir = serializationDir;
-	}
-
-	public AsyncDataPublisher getDataPublisher() {
-		return dataPublisher;
-	}
-
-	public void setDataPublisher(AsyncDataPublisher dataPublisher) {
-		this.dataPublisher = dataPublisher;
-	}
-
-	public String getStreamId() {
-		return streamId;
-	}
-
-	public void setStreamId(String streamId) {
-		this.streamId = streamId;
-	}
-
-	public boolean getEnableBAMDataPublisher() {
-		return enableBAMDataPublisher;
-	}
-
-	public void setEnableBAMDataPublisher(boolean enableBAMDataPublisher) {
-		this.enableBAMDataPublisher = enableBAMDataPublisher;
-	}
-
-	public boolean isPublisherRunning() {
-		return isPublisherRunning;
-	}
-
-	public void setPublisherRunning(boolean isPublisherRunning) {
-		this.isPublisherRunning = isPublisherRunning;
-	}
-
-	public boolean getEnableTopologySync() {
-		return enableTopologySync;
-	}
-
-	public void setEnableTopologySync(boolean enableTopologySync) {
-		this.enableTopologySync = enableTopologySync;
-	}
-
-	public boolean isTopologySyncRunning() {
-	    return isTopologySyncRunning;
-    }
-
-	public void setTopologySyncRunning(boolean isTopologySyncRunning) {
-	    this.isTopologySyncRunning = isTopologySyncRunning;
-    }
-
-	public TopologyConfig getTopologyConfig() {
-		return topologyConfig;
-	}
-
-	public void setTopologyConfig(TopologyConfig topologyConfig) {
-		this.topologyConfig = topologyConfig;
-	}
-
-    public DataPublisherConfig getDataPubConfig() {
-        return dataPubConfig;
-    }
-
-    public void setDataPubConfig(DataPublisherConfig dataPubConfig) {
-        this.dataPubConfig = dataPubConfig;
-    }
-    
-    public void addMemberContext(MemberContext ctxt) {
-        memberIdToContext.put(ctxt.getMemberId(), ctxt);
-        
-        List<MemberContext> ctxts;
-        
-        if((ctxts = clusterIdToMemberContext.get(ctxt.getClusterId())) == null) {
-            ctxts = new ArrayList<MemberContext>();
-        } 
-        if(ctxts.contains(ctxt)) {
-        	ctxts.remove(ctxt);
-        }
-        ctxts.add(ctxt);
-        clusterIdToMemberContext.put(ctxt.getClusterId(), ctxts);
-        if(log.isDebugEnabled()) {
-        	
-        	log.debug("Added Member Context to the information model. "+ctxt);
-        }
-    }
-    
-    public void addScheduledFutureJob(String memberId, ScheduledFuture<?> job) {
-        memberIdToScheduledTask.put(memberId, job);
-    }
-    
-    public List<MemberContext> removeMemberContextsOfCluster(String clusterId) {
-        List<MemberContext> ctxts = clusterIdToMemberContext.remove(clusterId);
-        if(ctxts == null) {
-            return new ArrayList<MemberContext>();
-        }
-        for (MemberContext memberContext : ctxts) {
-            String memberId = memberContext.getMemberId();
-            memberIdToContext.remove(memberId);
-            stopTask(memberIdToScheduledTask.remove(memberId));
-        }
-        if(log.isDebugEnabled()) {
-        	
-        	log.debug("Removed Member Context from the information model. "+ctxt);
-        }
-        return ctxts;
-    }
-    
-    public MemberContext removeMemberContext(String memberId, String clusterId) {
-    	MemberContext returnedCtxt = memberIdToContext.remove(memberId);
-        List<MemberContext> ctxts = clusterIdToMemberContext.get(clusterId);
-
-        if (ctxts != null) {
-            
-            List<MemberContext> newCtxts =  new ArrayList<MemberContext>(ctxts);
-            
-            for (Iterator<MemberContext> iterator = newCtxts.iterator(); iterator.hasNext();) {
-                MemberContext memberContext = (MemberContext) iterator.next();
-                if(memberId.equals(memberContext.getMemberId())) {
-                    if(log.isDebugEnabled()) {
-                        
-                        log.debug("MemberContext [id]: "+memberId+" removed from information model.");
-                    }
-                    iterator.remove();
-                }
-            }
-            
-            clusterIdToMemberContext.put(clusterId, newCtxts);
-        }
-        
-        stopTask(memberIdToScheduledTask.remove(memberId));
-        
-        return returnedCtxt;
-        
-    }
-    
-    private void stopTask(ScheduledFuture<?> task) {
-        if (task != null) {
-            
-            task.cancel(true);
-            log.info("Scheduled Pod Activation Watcher task canceled.");
-        }
-    }
-    
-    public MemberContext getMemberContextOfMemberId(String memberId) {
-        return memberIdToContext.get(memberId);
-    }
-    
-    public List<MemberContext> getMemberContextsOfClusterId(String clusterId) {
-        return clusterIdToMemberContext.get(clusterId);
-    }
-
-    public Map<String, List<MemberContext>> getClusterIdToMemberContext() {
-        return clusterIdToMemberContext;
-    }
-    
-    public void setClusterIdToMemberContext(Map<String, List<MemberContext>> clusterIdToMemberContext) {
-        this.clusterIdToMemberContext = clusterIdToMemberContext;
-    }
-
-    public Map<String, MemberContext> getMemberIdToContext() {
-        return memberIdToContext;
-    }
-
-    public void setMemberIdToContext(Map<String, MemberContext> memberIdToContext) {
-        this.memberIdToContext = memberIdToContext;
-    }
-
-    public void addClusterContext(ClusterContext ctxt) {
-        clusterIdToContext.put(ctxt.getClusterId(), ctxt);
-    }
-    
-    public ClusterContext getClusterContext(String clusterId) {
-        return clusterIdToContext.get(clusterId);
-    }
-    
-    public ClusterContext removeClusterContext(String clusterId) {
-        return clusterIdToContext.remove(clusterId);
-    }
-    
-    public Map<String, ClusterContext> getClusterIdToContext() {
-        return clusterIdToContext;
-    }
-
-    public void setClusterIdToContext(Map<String, ClusterContext> clusterIdToContext) {
-        this.clusterIdToContext = clusterIdToContext;
-    }
-
-	public ExecutorService getExecutor() {
-		return executor;
-	}
-
-	public void setExecutor(ExecutorService executor) {
-		this.executor = executor;
-	}
-
-	public Map<String, List<String>> getCartridgeTypeToPartitionIds() {
-		return cartridgeTypeToPartitionIds;
-	}
-
-	public void setCartridgeTypeToPartitionIds(
-			Map<String, List<String>> cartridgeTypeToPartitionIds) {
-		this.cartridgeTypeToPartitionIds = cartridgeTypeToPartitionIds;
-	}
-	
-	public void addToCartridgeTypeToPartitionIdMap(String cartridgeType, String partitionId) {
-		List<String> list = this.cartridgeTypeToPartitionIds.get(cartridgeType);
-		
-		if(list == null) {
-			list = new ArrayList<String>();
-		}
-		
-		list.add(partitionId);
-		this.cartridgeTypeToPartitionIds.put(cartridgeType, list);
-	}
-	
-	public void removeFromCartridgeTypeToPartitionIds(String cartridgeType) {
-		this.cartridgeTypeToPartitionIds.remove(cartridgeType);
-	}
-
-	public Map<String, KubernetesClusterContext> getKubClusterIdToKubClusterContext() {
-		return kubClusterIdToKubClusterContext;
-	}
-	
-	public KubernetesClusterContext getKubernetesClusterContext(String kubClusterId) {
-		return kubClusterIdToKubClusterContext.get(kubClusterId);
-	}
-	
-	public void addKubernetesClusterContext(KubernetesClusterContext ctxt) {
-		this.kubClusterIdToKubClusterContext.put(ctxt.getKubernetesClusterId(), ctxt);
-	}
-
-	public void setKubClusterIdToKubClusterContext(
-			Map<String, KubernetesClusterContext> kubClusterIdToKubClusterContext) {
-		this.kubClusterIdToKubClusterContext = kubClusterIdToKubClusterContext;
-	}
-
-    public Map<String, ScheduledFuture<?>> getMemberIdToScheduledTask() {
-        return memberIdToScheduledTask;
-    }
-
-    public void setMemberIdToScheduledTask(Map<String, ScheduledFuture<?>> memberIdToScheduledTask) {
-        this.memberIdToScheduledTask = memberIdToScheduledTask;
-    }
-	
-}
\ No newline at end of file