You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2013/12/01 11:58:56 UTC

[02/12] cleaning up CC, find bug amendments, removing deprecated classes

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/LocationScope.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/LocationScope.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/LocationScope.java
deleted file mode 100644
index 777cf3b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/LocationScope.java
+++ /dev/null
@@ -1,70 +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;
-
-/**
- * this contains the scope of a IaaS spanned across the geography.
- */
-public class LocationScope {
-    private String zone;
-    private String network;
-    private String host;
-    private String region;
-    private String cloud;
-
-    public String getZone() {
-        return zone;
-    }
-
-    public void setZone(String zone) {
-        this.zone = zone;
-    }
-
-    public String getNetwork() {
-        return network;
-    }
-
-    public void setNetwork(String network) {
-        this.network = network;
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public void setHost(String host) {
-        this.host = host;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    public void setRegion(String region) {
-        this.region = region;
-    }
-
-    public String getCloud() {
-        return cloud;
-    }
-
-    public void setCloud(String cloud) {
-        this.cloud = cloud;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/MemberContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/MemberContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/MemberContext.java
index 11ebb8a..8eb4103 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/MemberContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/MemberContext.java
@@ -18,6 +18,8 @@
  */
 package org.apache.stratos.cloud.controller.pojo;
 
+import java.io.Serializable;
+
 import org.apache.stratos.cloud.controller.deployment.partition.Partition;
 
 /**
@@ -25,8 +27,9 @@ import org.apache.stratos.cloud.controller.deployment.partition.Partition;
  * @author nirmal
  *
  */
-public class MemberContext {
+public class MemberContext implements Serializable{
 
+    private static final long serialVersionUID = -388327475844701869L;
     // id of the member
     private String memberId;
     // corresponding jclouds node id

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Properties.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Properties.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Properties.java
index a13ad12..3d21200 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Properties.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Properties.java
@@ -18,12 +18,15 @@
  */
 package org.apache.stratos.cloud.controller.pojo;
 
+import java.io.Serializable;
+
 /**
  * Had to wrap {@link Property} array using a class, since there's a bug in current 
  * stub generation.
  */
-public class Properties {
+public class Properties implements Serializable{
 
+    private static final long serialVersionUID = 1986895299288322592L;
     private Property[] properties;
 
     public Property[] getProperties() {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Property.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Property.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Property.java
index 1ffddad..d7c1ebf 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Property.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Property.java
@@ -18,11 +18,14 @@
  */
 package org.apache.stratos.cloud.controller.pojo;
 
+import java.io.Serializable;
+
 /**
  * Holds a property 
  */
-public class Property {
+public class Property implements Serializable{
     
+    private static final long serialVersionUID = -2191782657999410197L;
     private String name;
     private String value;
     

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Region.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Region.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Region.java
deleted file mode 100644
index fb1558f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Region.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.apache.stratos.cloud.controller.pojo;
-
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.domain.Template;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class Region extends IaasProvider {
-    private String imageId;
-    private String identity;
-    private String credential;
-    private String id;
-    private String type;
-    private List<Zone> listOfZones;
-
-    private transient ComputeService computeService;
-
-    private transient Template template;
-
-    private Map<String, String> properties = new HashMap<String, String>();
-
-    public String getProperty(String key) {
-        if(getProperties().get(key) != null) {
-            return getProperties().get(key);
-        } else {
-            return super.getProperty(key);
-        }
-    }
-
-    public Map<String, String> getProperties() {
-        return properties;
-    }
-
-    public void setProperty(String key, String value) {
-
-        if (key != null && value != null) {
-            getProperties().put(key, value);
-        }
-    }
-
-    public void setProperties(Map<String, String> properties) {
-        this.properties = properties;
-    }
-
-
-    public String getImageId() {
-        return imageId;
-    }
-
-    public void setImageId(String imageId) {
-        this.imageId = imageId;
-    }
-
-    public String getIdentity() {
-        if(identity == null) {
-            return super.getIdentity();
-        }
-        return identity;
-    }
-
-    public void setIdentity(String identity) {
-        this.identity = identity;
-    }
-
-    public String getCredential() {
-        if(credential == null) {
-            return super.getCredential();
-        }
-        return credential;
-    }
-
-    public void setCredential(String credential) {
-        this.credential = credential;
-    }
-
-    public ComputeService getComputeService() {
-        return computeService;
-    }
-
-    public void setComputeService(ComputeService computeService) {
-        this.computeService = computeService;
-    }
-
-    public Template getTemplate() {
-        return template;
-    }
-
-    public void setTemplate(Template template) {
-        this.template = template;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public List<Zone> getListOfZones() {
-        return listOfZones;
-    }
-
-    public void setListOfZones(List<Zone> listOfZones) {
-        this.listOfZones = listOfZones;
-    }
-
-    public void addZone(Zone zone) {
-        this.listOfZones.add(zone);
-    }
-
-    public void removeZone(Zone zone) {
-        this.listOfZones.remove(zone);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceContext.java
deleted file mode 100644
index df025f9..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceContext.java
+++ /dev/null
@@ -1,366 +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.commons.lang.builder.HashCodeBuilder;
-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.util.CloudControllerConstants;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-/**
- * We keep information regarding a service (i.e. a cartridge instance)
- * in this object.
- */
-public class ServiceContext implements Serializable{
-    private static Log log = LogFactory.getLog(ServiceContext.class);
-
-    private static final long serialVersionUID = -6740964802890082678L;
-    private File file;
-	private String clusterId;
-    private String tenantRange;
-    private String hostName;
-    private String payloadFilePath = "/tmp/" + CloudControllerConstants.PAYLOAD_NAME + ".zip";
-    private String cartridgeType;
-    private Cartridge cartridge;
-    private StringBuilder payload;
-    private String autoScalerPolicyName;
-
-    /**
-     * Key - Value pair.
-     */
-    private Map<String, String> properties = new HashMap<String, String>();
-    /**
-     * Key - IaaS Type
-     * Value - {@link IaasContext} object
-     */
-    private Map<String, IaasContext> iaasCtxts = new HashMap<String, IaasContext>();
-
-    public Map<String, IaasContext> getIaasCtxts() {
-    	return iaasCtxts;
-    }
-
-	public String getClusterId() {
-        return clusterId;
-    }
-
-    public boolean setClusterId(String domainName) {
-        if (!"".equals(domainName)) {
-            this.clusterId = domainName;
-            return true;
-        }
-
-        return false;
-    }
-
-    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 "";
-    }
-
-    public Map<String, String> getProperties() {
-        return properties;
-    }
-
-    public void setProperties(Map<String, String> properties) {
-        this.properties = properties;
-    }
-
-
-    public Cartridge getCartridge() {
-        return cartridge;
-    }
-
-    public void setCartridge(Cartridge cartridge) {
-        this.cartridge = cartridge;
-    }
-
-	public String getTenantRange() {
-	    return tenantRange;
-    }
-
-	public void setTenantRange(String tenantRange) {
-	    this.tenantRange = tenantRange;
-    }
-
-	public IaasContext addIaasContext(String iaasType){
-		IaasContext ctxt = new IaasContext(iaasType);
-		iaasCtxts.put(iaasType, ctxt);
-		return ctxt;
-	}
-
-	public IaasContext getIaasContext(String type){
-		return iaasCtxts.get(type);
-	}
-
-	public void setIaasContextMap(Map<String, IaasContext> map){
-		iaasCtxts = map;
-	}
-
-	public String getPayloadFile() {
-	    return payloadFilePath;
-    }
-
-	public void setPayloadFile(String payloadFile) {
-	    this.payloadFilePath = payloadFile;
-    }
-
-	public String getHostName() {
-		if(cartridge != null && (hostName == null || hostName.isEmpty())){
-			return cartridge.getHostName();
-		}
-	    return hostName;
-    }
-
-	public void setHostName(String hostName) {
-	    this.hostName = hostName;
-    }
-
-	public String getCartridgeType() {
-	    return cartridgeType;
-    }
-
-	public void setCartridgeType(String cartridgeType) {
-	    this.cartridgeType = cartridgeType;
-    }
-
-	public StringBuilder getPayload() {
-	    return payload;
-    }
-
-	public void setPayload(StringBuilder payload) {
-	    this.payload = payload;
-    }
-
-	public File getFile() {
-		return file;
-	}
-
-	public void setFile(File file) {
-		this.file = file;
-	}
-
-    public String toXml() {
-		String str = "<service domain=\"" + clusterId +
-		                                    "\" tenantRange=\"" + tenantRange + "\" policyName=\"" + autoScalerPolicyName + "\">\n" +
-		                                    "\t<cartridge type=\"" + cartridgeType +
-		                                    "\"/>\n"  + "\t<host>" + hostName +
-		                                    "</host>\n" + "\t<payload>" + payload +
-		                                    "</payload>\n" +
-		                                    propertiesToXml() +
-		                                    "</service>";
-		return str;
-	}
-
-    public String propertiesToXml() {
-		StringBuilder builder = new StringBuilder("");
-		for (Iterator<Map.Entry<String, String>> iterator = getProperties().entrySet().iterator(); iterator.hasNext();) {
-			Map.Entry<String, String> prop = iterator.next();
-
-			String key = prop.getKey();
-			String value = prop.getValue();
-			if (key != null) {
-				builder.append("\t<property name=\""+key +"\" value=\"" + (value == null ? "" : value) +"\"/>\n");
-			}
-
-		}
-
-		return builder.toString();
-	}
-
-    public byte[] generatePayload() {
-        String payloadStringTempFile = "launch-params";
-
-        FileWriter fstream;
-        try {
-            fstream = new FileWriter(payloadStringTempFile);
-
-        } catch (IOException e) {
-            log.error(e.getMessage());
-           throw new CloudControllerException(e.getMessage(), e);
-        }
-        BufferedWriter out = new BufferedWriter(fstream);
-       try {
-            out.write(payload.toString());
-           out.close();
-
-       } catch (IOException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-
-
-        FileInputStream fis;
-        try {
-            fis = new FileInputStream(payloadStringTempFile);
-        } catch (FileNotFoundException e) {
-             String msg = "Failed while persisting the payload of clusterId : "
-						+ clusterId;
-				log.error(msg, e);
-				throw new CloudControllerException(msg, e);
-        }
-        FileOutputStream fos = null;
-        try {
-            fos = new FileOutputStream(this.payloadFilePath);
-
-        } catch (FileNotFoundException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-
-        ZipOutputStream zos = new ZipOutputStream(fos);
-        addToZipFile(System.getProperty("user.dir"), payloadStringTempFile, zos);
-
-        File folder = new File(CarbonUtils.getCarbonHome() + File.separator
-               + "repository" + File.separator + "resources" + File.separator
-                + "user-data");
-
-       if(folder != null && folder.exists()) {
-            for (File fileEntry : folder.listFiles()) {
-                if (fileEntry != null && !fileEntry.isDirectory()) {
-                    addToZipFile(folder.getPath(), fileEntry.getName(), zos);
-                }
-            }
-       }
-
-        try {
-            zos.close();
-           fos.close();
-
-        } catch (IOException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-        byte [] payloadData = null;
-        File file = null;
-        FileInputStream fileInputStream = null;
-        try {
-            file = new File(payloadFilePath);
-            payloadData = new byte[(int)file.length()];
-            fileInputStream = new FileInputStream(file);
-            try {
-                fileInputStream.read(payloadData);
-            } catch (IOException e) {
-                 log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-            }
-        } catch (FileNotFoundException e) {
-             log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-        try {
-            fileInputStream.close();
-            file.delete();
-        } catch (IOException e) {
-             log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-
-        return payloadData;
-    }
-
-      /**
-     * Adds content to a zip file
-     *
-     * @param dir Name of directory
-     * @param fileName Name of file to add
-     * @param zos ZipOutputStream subscription to write
-     * @throws CloudControllerException in an error
-     */
-    private void addToZipFile(String dir, String fileName, ZipOutputStream zos) throws CloudControllerException {
-
-        log.info("Writing '" + fileName + "' to zip file");
-
-        File file = new File(dir + File.separator + fileName);
-        FileInputStream fis;
-        try {
-            fis = new FileInputStream(file);
-
-        } catch (FileNotFoundException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-
-        ZipEntry zipEntry = new ZipEntry(fileName);
-        try {
-            zos.putNextEntry(zipEntry);
-
-        } catch (IOException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-
-        byte[] bytes = new byte[1024];
-        int length;
-
-            try {
-                while ((length = fis.read(bytes)) >= 0) {
-                    zos.write(bytes, 0, length);
-                }
-            } catch (IOException e) {
-                log.error(e.getMessage());
-                throw new CloudControllerException(e.getMessage(), e);
-            }
-
-        try {
-            zos.closeEntry();
-            fis.close();
-
-        } catch (IOException e) {
-            log.error(e.getMessage());
-            throw new CloudControllerException(e.getMessage(), e);
-        }
-    }
-
-  	public boolean equals(Object obj) {
-		if (obj instanceof ServiceContext) {
-			return this.clusterId.equals(((ServiceContext) obj).getClusterId());
-		}
-		return false;
-	}
-
-    public int hashCode() {
-        return new HashCodeBuilder(17, 31). // two randomly chosen prime numbers
-            append(clusterId).
-                toHashCode();
-    }
-
-    public String getAutoScalerPolicyName() {
-        return autoScalerPolicyName;
-    }
-
-    public void setAutoScalerPolicyName(String autoScalerPolicyName) {
-        this.autoScalerPolicyName = autoScalerPolicyName;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Zone.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Zone.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Zone.java
deleted file mode 100644
index 803bef5..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Zone.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.stratos.cloud.controller.pojo;
-
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.domain.Template;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class Zone extends Region {
-    private String id;
-    private String type;
-    private List<Host> listOfHosts;
-
-    private Map<String, String> properties = new HashMap<String, String>();
-    private transient ComputeService computeService;
-
-    private transient Template template;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public Map<String, String> getProperties() {
-        return properties;
-    }
-
-    public void setProperties(Map<String, String> properties) {
-        this.properties = properties;
-    }
-
-     public void setProperty(String key, String value) {
-
-        if (key != null && value != null) {
-            getProperties().put(key, value);
-        }
-    }
-
-    public String getProperty(String key) {
-        if(getProperties().get(key) != null) {
-            return getProperties().get(key);
-        } else {
-            return super.getProperty(key);
-        }
-    }
-
-    public List<Host> getListOfHosts() {
-        return listOfHosts;
-    }
-
-    public void setListOfHosts(List<Host> listOfHosts) {
-        this.listOfHosts = listOfHosts;
-    }
-
-    public void addHost(Host host) {
-        this.listOfHosts.add(host);
-    }
-
-    public void removeHost(Host host) {
-        this.listOfHosts.remove(host);
-    }
-
-     public ComputeService getComputeService() {
-        return computeService;
-    }
-
-    public void setComputeService(ComputeService computeService) {
-        this.computeService = computeService;
-    }
-
-    public Template getTemplate() {
-        return template;
-    }
-
-    public void setTemplate(Template template) {
-        this.template = template;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisherTask.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisherTask.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisherTask.java
index 80cfe8f..72c5210 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisherTask.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisherTask.java
@@ -18,23 +18,12 @@
  */
 package org.apache.stratos.cloud.controller.publisher;
 
-import com.google.common.collect.MapDifference;
-import com.google.common.collect.MapDifference.ValueDifference;
-import com.google.common.collect.Maps;
-
 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.CartridgeInstanceData;
-import org.apache.stratos.cloud.controller.pojo.IaasContext;
-import org.apache.stratos.cloud.controller.pojo.IaasProvider;
-import org.apache.stratos.cloud.controller.pojo.ServiceContext;
 import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
 import org.apache.stratos.cloud.controller.util.*;
-import org.jclouds.compute.ComputeService;
-import org.jclouds.compute.domain.ComputeMetadata;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.jclouds.compute.domain.internal.NodeMetadataImpl;
 import org.wso2.carbon.base.ServerConfiguration;
 import org.wso2.carbon.databridge.agent.thrift.Agent;
 import org.wso2.carbon.databridge.agent.thrift.DataPublisher;
@@ -64,6 +53,7 @@ public class CartridgeInstanceDataPublisherTask implements Task{
         publish();
     }
     
+    @SuppressWarnings("deprecation")
     public static void publish(){
         if(FasterLookUpDataHolder.getInstance().isPublisherRunning() ||
                 // this is a temporary fix to avoid task execution - limitation with ntask
@@ -189,7 +179,7 @@ public class CartridgeInstanceDataPublisherTask implements Task{
         }
         
         // replace old map with new one only if data is published
-        FasterLookUpDataHolder.getInstance().setNodeIdToStatusMap(newNodeToStateMap);
+//        FasterLookUpDataHolder.getInstance().setNodeIdToStatusMap(newNodeToStateMap);
         
         //TODO remove
 //        CassandraDataRetriever.init();
@@ -291,178 +281,178 @@ public class CartridgeInstanceDataPublisherTask implements Task{
         
     }
     
-    private static void bundleData(String key, String val, ServiceContext serviceCtxt) {
-        
-        CartridgeInstanceData instanceData = new CartridgeInstanceData();
-        instanceData.setNodeId(key);
-        instanceData.setStatus(val);
-        instanceData.setDomain(serviceCtxt.getClusterId());
-        instanceData.setAlias("".equals(serviceCtxt.getProperty(CloudControllerConstants.ALIAS_PROPERTY))
-            ? "NULL"
-                : serviceCtxt.getProperty(CloudControllerConstants.ALIAS_PROPERTY));
-        instanceData.setTenantRange("".equals(serviceCtxt.getProperty(CloudControllerConstants.TENANT_ID_PROPERTY))
-            ? serviceCtxt.getTenantRange()
-                : serviceCtxt.getProperty(CloudControllerConstants.TENANT_ID_PROPERTY));
-        
-        if (serviceCtxt.getCartridge() != null) {
-            instanceData.setMultiTenant(serviceCtxt.getCartridge().isMultiTenant());
-
-            for (IaasProvider iaas : serviceCtxt.getCartridge().getIaases()) {
-
-                IaasContext ctxt = null;
-                if ((ctxt = serviceCtxt.getIaasContext(iaas.getType())) == null) {
-                    ctxt = serviceCtxt.addIaasContext(iaas.getType());
-                }
-
-                if (ctxt.didISpawn(key)) {
-                    instanceData.setIaas(iaas.getType());
-                    instanceData.setMetaData(ctxt.getNode(key));
-
-                    // clear to be removed data
-                    ctxt.removeToBeRemovedNodeId(key);
-
-                    // if the node is terminated
-                    if (val.equals(NodeStatus.TERMINATED.toString())) {
-                        // since this node is terminated
-                        FasterLookUpDataHolder.getInstance().removeNodeId(key);
-
-                        // remove node meta data
-                        ctxt.removeNodeMetadata(ctxt.getNode(key));
-                    }
-
-                    break;
-                }
-            }
-
-            instanceData.setType(serviceCtxt.getCartridge().getType());
-        } else {
-            log.warn("Cartridge is null for Service Context : (domain: " +
-                serviceCtxt.getClusterId() +
-                    ")");
-        }
-        
-        dataToBePublished.add(instanceData);
-        
-    }
+//    private static void bundleData(String key, String val, ServiceContext serviceCtxt) {
+//        
+//        CartridgeInstanceData instanceData = new CartridgeInstanceData();
+//        instanceData.setNodeId(key);
+//        instanceData.setStatus(val);
+//        instanceData.setDomain(serviceCtxt.getClusterId());
+//        instanceData.setAlias("".equals(serviceCtxt.getProperty(CloudControllerConstants.ALIAS_PROPERTY))
+//            ? "NULL"
+//                : serviceCtxt.getProperty(CloudControllerConstants.ALIAS_PROPERTY));
+//        instanceData.setTenantRange("".equals(serviceCtxt.getProperty(CloudControllerConstants.TENANT_ID_PROPERTY))
+//            ? serviceCtxt.getTenantRange()
+//                : serviceCtxt.getProperty(CloudControllerConstants.TENANT_ID_PROPERTY));
+//        
+//        if (serviceCtxt.getCartridge() != null) {
+//            instanceData.setMultiTenant(serviceCtxt.getCartridge().isMultiTenant());
+//
+//            for (IaasProvider iaas : serviceCtxt.getCartridge().getIaases()) {
+//
+//                IaasContext ctxt = null;
+//                if ((ctxt = serviceCtxt.getIaasContext(iaas.getType())) == null) {
+//                    ctxt = serviceCtxt.addIaasContext(iaas.getType());
+//                }
+//
+//                if (ctxt.didISpawn(key)) {
+//                    instanceData.setIaas(iaas.getType());
+//                    instanceData.setMetaData(ctxt.getNode(key));
+//
+//                    // clear to be removed data
+//                    ctxt.removeToBeRemovedNodeId(key);
+//
+//                    // if the node is terminated
+//                    if (val.equals(NodeStatus.TERMINATED.toString())) {
+//                        // since this node is terminated
+////                        FasterLookUpDataHolder.getInstance().removeNodeId(key);
+//
+//                        // remove node meta data
+//                        ctxt.removeNodeMetadata(ctxt.getNode(key));
+//                    }
+//
+//                    break;
+//                }
+//            }
+//
+//            instanceData.setType(serviceCtxt.getCartridge().getType());
+//        } else {
+//            log.warn("Cartridge is null for Service Context : (domain: " +
+//                serviceCtxt.getClusterId() +
+//                    ")");
+//        }
+//        
+//        dataToBePublished.add(instanceData);
+//        
+//    }
     
     private static Map<String, String> getNodeIdToStatusMap() throws Exception {
         
         Map<String, String> statusMap = new HashMap<String, String>();
         
-        // iterate through all ServiceContexts
-        for (Iterator<?> it1 = FasterLookUpDataHolder.getInstance().getServiceContexts().entrySet().iterator(); it1.hasNext();) {
-            @SuppressWarnings("unchecked")
-            Map.Entry<String, Map<String, ServiceContext>> entry = (Map.Entry<String, Map<String, ServiceContext>>) it1.next();
-            
-            Map<String, ServiceContext> map = (Map<String, ServiceContext>) entry.getValue();
-            
-            for (Iterator<ServiceContext> it2 = map.values().iterator(); it2.hasNext();) {
-                ServiceContext subjectedSerCtxt = (ServiceContext) it2.next();
-                
-                if (subjectedSerCtxt != null && subjectedSerCtxt.getCartridge() != null) {
-                    List<IaasProvider> iaases = subjectedSerCtxt.getCartridge().getIaases();
-
-                    for (IaasProvider iaas : iaases) {
-
-                        ComputeService computeService = iaas.getComputeService();
-                        
-                        if(computeService == null){
-                            continue;
-                        }
-                        
-                        IaasContext ctxt = null;
-                        if((ctxt = subjectedSerCtxt.getIaasContext(iaas.getType())) == null){
-                        	ctxt = subjectedSerCtxt.addIaasContext(iaas.getType());
-                        }
-
-                        // get list of node Ids
-                        List<String> nodeIds = ctxt.getAllNodeIds();
-
-                        if (nodeIds.isEmpty()) {
-                            
-                            continue;
-                        }
-                        
-                        try {
-
-                            // get all the nodes spawned by this IaasContext
-                            Set<? extends ComputeMetadata> set = computeService.listNodes();
-
-                            Iterator<? extends ComputeMetadata> iterator = set.iterator();
-
-                            // traverse through all nodes of this ComputeService object
-                            while (iterator.hasNext()) {
-                                NodeMetadata nodeMetadata = (NodeMetadataImpl) iterator.next();
-
-                                // if this node belongs to the requested domain
-                                if (nodeIds.contains(nodeMetadata.getId())) {
-
-                                    statusMap.put(nodeMetadata.getId(), nodeMetadata.getStatus()
-                                                                                    .toString());
-
-                                    ctxt.addNodeMetadata(nodeMetadata);
-                                }
-
-                            }
-
-                        }catch (Exception e) {
-                            log.error(e.getMessage(), e);
-                            throw e;
-                        }
-
-                    }
-                }
-            }
-            
-            
-        }
+//        // iterate through all ServiceContexts
+//        for (Iterator<?> it1 = FasterLookUpDataHolder.getInstance().getServiceContexts().entrySet().iterator(); it1.hasNext();) {
+//            @SuppressWarnings("unchecked")
+//            Map.Entry<String, Map<String, ServiceContext>> entry = (Map.Entry<String, Map<String, ServiceContext>>) it1.next();
+//            
+//            Map<String, ServiceContext> map = (Map<String, ServiceContext>) entry.getValue();
+//            
+//            for (Iterator<ServiceContext> it2 = map.values().iterator(); it2.hasNext();) {
+//                ServiceContext subjectedSerCtxt = (ServiceContext) it2.next();
+//                
+//                if (subjectedSerCtxt != null && subjectedSerCtxt.getCartridge() != null) {
+//                    List<IaasProvider> iaases = subjectedSerCtxt.getCartridge().getIaases();
+//
+//                    for (IaasProvider iaas : iaases) {
+//
+//                        ComputeService computeService = iaas.getComputeService();
+//                        
+//                        if(computeService == null){
+//                            continue;
+//                        }
+//                        
+//                        IaasContext ctxt = null;
+//                        if((ctxt = subjectedSerCtxt.getIaasContext(iaas.getType())) == null){
+//                        	ctxt = subjectedSerCtxt.addIaasContext(iaas.getType());
+//                        }
+//
+//                        // get list of node Ids
+//                        List<String> nodeIds = ctxt.getAllNodeIds();
+//
+//                        if (nodeIds.isEmpty()) {
+//                            
+//                            continue;
+//                        }
+//                        
+//                        try {
+//
+//                            // get all the nodes spawned by this IaasContext
+//                            Set<? extends ComputeMetadata> set = computeService.listNodes();
+//
+//                            Iterator<? extends ComputeMetadata> iterator = set.iterator();
+//
+//                            // traverse through all nodes of this ComputeService object
+//                            while (iterator.hasNext()) {
+//                                NodeMetadata nodeMetadata = (NodeMetadataImpl) iterator.next();
+//
+//                                // if this node belongs to the requested domain
+//                                if (nodeIds.contains(nodeMetadata.getId())) {
+//
+//                                    statusMap.put(nodeMetadata.getId(), nodeMetadata.getStatus()
+//                                                                                    .toString());
+//
+//                                    ctxt.addNodeMetadata(nodeMetadata);
+//                                }
+//
+//                            }
+//
+//                        }catch (Exception e) {
+//                            log.error(e.getMessage(), e);
+//                            throw e;
+//                        }
+//
+//                    }
+//                }
+//            }
+//            
+//            
+//        }
         return statusMap;
 
     }
     
     private static void populateNewlyAddedOrStateChangedNodes(Map<String, String> newMap){
         
-        MapDifference<String, String> diff = Maps.difference(newMap, 
-                                                             FasterLookUpDataHolder.getInstance().getNodeIdToStatusMap());
-        
-        // adding newly added nodes
-        Map<String, String> newlyAddedNodes = diff.entriesOnlyOnLeft();
-        
-        for (Iterator<?> it = newlyAddedNodes.entrySet().iterator(); it.hasNext();) {
-            @SuppressWarnings("unchecked")
-            Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next();
-            String key = entry.getKey();
-            String val = entry.getValue();
-            ServiceContext ctxt = FasterLookUpDataHolder.getInstance().getServiceContextFromNodeId(key);
-            
-            log.debug("------ Node id: "+key+" --- node status: "+val+" -------- ctxt: "+ctxt);
-            
-            if (ctxt != null && key != null && val != null) {
-                // bundle the data to be published
-                bundleData(key, val, ctxt);
-            }   
-                    
-        }
-        
-        // adding nodes with state changes
-        Map<String, ValueDifference<String>> stateChangedNodes = diff.entriesDiffering();
-        
-        for (Iterator<?> it = stateChangedNodes.entrySet().iterator(); it.hasNext();) {
-            @SuppressWarnings("unchecked")
-            Map.Entry<String, ValueDifference<String>> entry = (Map.Entry<String, ValueDifference<String>>) it.next();
-            
-            String key = entry.getKey();
-            String newState = entry.getValue().leftValue();
-            ServiceContext ctxt = FasterLookUpDataHolder.getInstance().getServiceContextFromNodeId(key);
-            
-            log.debug("------- Node id: "+key+" --- node status: "+newState+" -------- ctxt: "+ctxt);
-            
-            if (ctxt != null && key != null && newState != null) {
-                // bundle the data to be published
-                bundleData(key, newState, ctxt);
-            }  
-            
-        }
+//        MapDifference<String, String> diff = Maps.difference(newMap, 
+//                                                             FasterLookUpDataHolder.getInstance().getNodeIdToStatusMap());
+//        
+//        // adding newly added nodes
+//        Map<String, String> newlyAddedNodes = diff.entriesOnlyOnLeft();
+//        
+//        for (Iterator<?> it = newlyAddedNodes.entrySet().iterator(); it.hasNext();) {
+//            @SuppressWarnings("unchecked")
+//            Map.Entry<String, String> entry = (Map.Entry<String, String>) it.next();
+//            String key = entry.getKey();
+//            String val = entry.getValue();
+//            ServiceContext ctxt = FasterLookUpDataHolder.getInstance().getServiceContextFromNodeId(key);
+//            
+//            log.debug("------ Node id: "+key+" --- node status: "+val+" -------- ctxt: "+ctxt);
+//            
+//            if (ctxt != null && key != null && val != null) {
+//                // bundle the data to be published
+//                bundleData(key, val, ctxt);
+//            }   
+//                    
+//        }
+//        
+//        // adding nodes with state changes
+//        Map<String, ValueDifference<String>> stateChangedNodes = diff.entriesDiffering();
+//        
+//        for (Iterator<?> it = stateChangedNodes.entrySet().iterator(); it.hasNext();) {
+//            @SuppressWarnings("unchecked")
+//            Map.Entry<String, ValueDifference<String>> entry = (Map.Entry<String, ValueDifference<String>>) it.next();
+//            
+//            String key = entry.getKey();
+//            String newState = entry.getValue().leftValue();
+//            ServiceContext ctxt = FasterLookUpDataHolder.getInstance().getServiceContextFromNodeId(key);
+//            
+//            log.debug("------- Node id: "+key+" --- node status: "+newState+" -------- ctxt: "+ctxt);
+//            
+//            if (ctxt != null && key != null && newState != null) {
+//                // bundle the data to be published
+//                bundleData(key, newState, ctxt);
+//            }  
+//            
+//        }
 
     }
     

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/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 9c5c4b3..0309c0d 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
@@ -46,18 +46,15 @@ public class RegistryManager {
 
         registryService = ServiceReferenceHolder.getInstance().getRegistry();
 
-        if (registryManager == null) {
-            synchronized (RegistryManager.class) {
-                if (registryManager == null) {
-                    if (registryService == null) {
-//						log.warn("Registry Service is null. Hence unable to fetch data from registry.");
-                        return registryManager;
-                    }
-                    registryManager = new RegistryManager();
+        synchronized (RegistryManager.class) {
+            if (registryManager == null) {
+                if (registryService == null) {
+                    // log.warn("Registry Service is null. Hence unable to fetch data from registry.");
+                    return registryManager;
                 }
+                registryManager = new RegistryManager();
             }
         }
-
         return registryManager;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/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
index ebdcbc4..fda88a0 100644
--- 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
@@ -23,16 +23,13 @@ import org.apache.stratos.cloud.controller.pojo.ClusterContext;
 import org.apache.stratos.cloud.controller.pojo.DataPublisherConfig;
 import org.apache.stratos.cloud.controller.pojo.IaasProvider;
 import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.pojo.ServiceContext;
 import org.apache.stratos.cloud.controller.pojo.TopologyConfig;
 import org.apache.stratos.cloud.controller.registry.RegistryManager;
-import org.apache.stratos.cloud.controller.util.*;
 import org.apache.stratos.messaging.broker.publish.EventPublisher;
 import org.wso2.carbon.databridge.agent.thrift.DataPublisher;
 
 import java.io.Serializable;
 import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * This object holds all runtime data and provides faster access. This is a Singleton class.
@@ -67,28 +64,28 @@ public class FasterLookUpDataHolder implements Serializable{
 	 * Key - member id
 	 * Value - node id
 	 */
-	private Map<String, String> memberIdToNodeId;
+//	private Map<String, String> memberIdToNodeId;
 
 	/**
 	 * Key - domain
 	 * value - {@link ServiceContext}
 	 */
-	private Map<String, ServiceContext> serviceCtxts;
+//	private Map<String, ServiceContext> serviceCtxts;
 	
 	/**
 	 * To make data retrieval from registry faster.
 	 */
-	private List<ServiceContext> serviceCtxtList;
+//	private List<ServiceContext> serviceCtxtList;
 
-	public List<ServiceContext> getServiceCtxtList() {
-    	return serviceCtxtList;
-    }
+//	public List<ServiceContext> getServiceCtxtList() {
+//    	return serviceCtxtList;
+//    }
 
 	/**
 	 * Key - node id
 	 * Value - {@link ServiceContext}
 	 */
-	private Map<String, ServiceContext> nodeIdToServiceCtxt;
+//	private Map<String, ServiceContext> nodeIdToServiceCtxt;
 	
 	/**
 	 * List of registered {@link Cartridge}s
@@ -112,14 +109,14 @@ public class FasterLookUpDataHolder implements Serializable{
 	 * Value - Status of the instance
 	 * This map is only used by BAM data publisher in CC.
 	 */
-	private Map<String, String> nodeIdToStatusMap = new HashMap<String, String>();
+//	private Map<String, String> nodeIdToStatusMap = new HashMap<String, String>();
 	
 	/**
 	 * Key - iaas type
 	 * Value - # of running instance count
 	 * This map will be used to track the running instances count in each IaaS
 	 */
-	private Map<String, Integer> iaasToActiveInstanceCountMap = new HashMap<String, Integer>();
+//	private Map<String, Integer> iaasToActiveInstanceCountMap = new HashMap<String, Integer>();
 	
 	/**
      * Key - name of the topic
@@ -143,13 +140,8 @@ public class FasterLookUpDataHolder implements Serializable{
 					if (obj != null) {
 						if (obj instanceof FasterLookUpDataHolder) {
 							ctxt = (FasterLookUpDataHolder) obj;
-							System.out.println("*********** FasterLookUpDataHolder ********");
-						} else {
-							System.out.println("*********** Not a FasterLookUpDataHolder *******");
 						}
-
 					} 
-					
 				}
 				if(ctxt == null) {
 					ctxt = new FasterLookUpDataHolder();
@@ -162,89 +154,89 @@ public class FasterLookUpDataHolder implements Serializable{
 
 	private FasterLookUpDataHolder() {
 
-		serviceCtxtList = new ArrayList<ServiceContext>();
-		serviceCtxts = new ConcurrentHashMap<String,ServiceContext>();
-		nodeIdToServiceCtxt = new LinkedHashMap<String, ServiceContext>();
+//		serviceCtxtList = new ArrayList<ServiceContext>();
+//		serviceCtxts = new ConcurrentHashMap<String,ServiceContext>();
+//		nodeIdToServiceCtxt = new LinkedHashMap<String, ServiceContext>();
 		cartridges = new ArrayList<Cartridge>();
-		setMemberIdToNodeId(new ConcurrentHashMap<String, String>());
-
-	}
-
-	public void addServiceContext(ServiceContext ctx) {
-
-		if (ctx == null) {
-			return;
-		}
-
-		String domain = ctx.getClusterId();
-
-
-		if (domain != null) {
-			addToServiceCtxts(domain, ctx);
-		}
-
-	}
+//		setMemberIdToNodeId(new ConcurrentHashMap<String, String>());
 
-	public void removeServiceContext(ServiceContext ctxt) {
-
-		if (ctxt == null) {
-			return;
-		}
-
-		String domain = ctxt.getClusterId();
-
-		if (domain != null) {
-			if (serviceCtxts.containsKey(domain)) {
-                serviceCtxts.remove(ctxt);
-			}
-		}
-		
-		serviceCtxtList.remove(ctxt);
-
-	}
-
-	public ServiceContext getServiceContextFromDomain(String domain) {
-
-		if (serviceCtxts.get(domain) != null) {
-			return serviceCtxts.get(domain);
-		}
-		return null;
 	}
 
-	public ServiceContext getServiceContextFromNodeId(String nodeId) {
-
-		return nodeIdToServiceCtxt.get(nodeId);
-	}
-	
-	public List<Object> getNodeIdsOfServiceCtxt(ServiceContext ctxt){
-		return CloudControllerUtil.getKeysFromValue(nodeIdToServiceCtxt, ctxt);
-	}
-
-	public Map<String, ServiceContext> getServiceContexts() {
-		return serviceCtxts;
-	}
-
-	public void addNodeId(String nodeId, ServiceContext ctxt) {
-		nodeIdToServiceCtxt.put(nodeId, ctxt);
-	}
-
-	public void removeNodeId(String nodeId) {
-		nodeIdToServiceCtxt.remove(nodeId);
-	}
-	
-	public void setNodeIdToServiceContextMap(Map<String, ServiceContext> map) {
-		nodeIdToServiceCtxt = map;
-	}
-
-	public Map<String, ServiceContext> getNodeIdToServiceContextMap() {
-		return nodeIdToServiceCtxt;
-	}
-
-	private void addToServiceCtxts(String domainName, ServiceContext ctxt) {
-        serviceCtxts.put(domainName, ctxt);
-        serviceCtxtList.add(ctxt);
-
-	}
+//	public void addServiceContext(ServiceContext ctx) {
+//
+//		if (ctx == null) {
+//			return;
+//		}
+//
+//		String domain = ctx.getClusterId();
+//
+//
+//		if (domain != null) {
+//			addToServiceCtxts(domain, ctx);
+//		}
+//
+//	}
+//
+//	public void removeServiceContext(ServiceContext ctxt) {
+//
+//		if (ctxt == null) {
+//			return;
+//		}
+//
+//		String domain = ctxt.getClusterId();
+//
+//		if (domain != null) {
+//			if (serviceCtxts.containsKey(domain)) {
+//                serviceCtxts.remove(ctxt);
+//			}
+//		}
+//		
+//		serviceCtxtList.remove(ctxt);
+//
+//	}
+//
+//	public ServiceContext getServiceContextFromDomain(String domain) {
+//
+//		if (serviceCtxts.get(domain) != null) {
+//			return serviceCtxts.get(domain);
+//		}
+//		return null;
+//	}
+//
+//	public ServiceContext getServiceContextFromNodeId(String nodeId) {
+//
+//		return nodeIdToServiceCtxt.get(nodeId);
+//	}
+//	
+//	public List<Object> getNodeIdsOfServiceCtxt(ServiceContext ctxt){
+//		return CloudControllerUtil.getKeysFromValue(nodeIdToServiceCtxt, ctxt);
+//	}
+//
+//	public Map<String, ServiceContext> getServiceContexts() {
+//		return serviceCtxts;
+//	}
+//
+//	public void addNodeId(String nodeId, ServiceContext ctxt) {
+//		nodeIdToServiceCtxt.put(nodeId, ctxt);
+//	}
+//
+//	public void removeNodeId(String nodeId) {
+//		nodeIdToServiceCtxt.remove(nodeId);
+//	}
+//	
+//	public void setNodeIdToServiceContextMap(Map<String, ServiceContext> map) {
+//		nodeIdToServiceCtxt = map;
+//	}
+//
+//	public Map<String, ServiceContext> getNodeIdToServiceContextMap() {
+//		return nodeIdToServiceCtxt;
+//	}
+//
+//	private void addToServiceCtxts(String domainName, ServiceContext ctxt) {
+//        serviceCtxts.put(domainName, ctxt);
+//        serviceCtxtList.add(ctxt);
+//
+//	}
 
 	public List<Cartridge> getCartridges() {
 		return cartridges;
@@ -261,18 +253,18 @@ public class FasterLookUpDataHolder implements Serializable{
 
 	}
 	
-	public void updateActiveInstanceCount(String iaasType, int count) {
-		int currentCount = 0;
-		if(iaasToActiveInstanceCountMap.containsKey(iaasType)){
-			currentCount = iaasToActiveInstanceCountMap.get(iaasType);
-		}
-		iaasToActiveInstanceCountMap.put(iaasType, currentCount+count);
-	}
-	
-	public int getActiveInstanceCount(String iaasType) {
-		Integer count = iaasToActiveInstanceCountMap.get(iaasType);
-		return count == null ? 0 : count;
-	}
+//	public void updateActiveInstanceCount(String iaasType, int count) {
+//		int currentCount = 0;
+//		if(iaasToActiveInstanceCountMap.containsKey(iaasType)){
+//			currentCount = iaasToActiveInstanceCountMap.get(iaasType);
+//		}
+//		iaasToActiveInstanceCountMap.put(iaasType, currentCount+count);
+//	}
+//	
+//	public int getActiveInstanceCount(String iaasType) {
+//		Integer count = iaasToActiveInstanceCountMap.get(iaasType);
+//		return count == null ? 0 : count;
+//	}
 
 //	public void addCartridges(List<Cartridge> newCartridges) {
 //		if (this.cartridges == null) {
@@ -334,13 +326,13 @@ public class FasterLookUpDataHolder implements Serializable{
 
 	
 
-	public Map<String, String> getNodeIdToStatusMap() {
-		return nodeIdToStatusMap;
-	}
-
-	public void setNodeIdToStatusMap(Map<String, String> nodeIdToStatusMap) {
-		this.nodeIdToStatusMap = nodeIdToStatusMap;
-	}
+//	public Map<String, String> getNodeIdToStatusMap() {
+//		return nodeIdToStatusMap;
+//	}
+//
+//	public void setNodeIdToStatusMap(Map<String, String> nodeIdToStatusMap) {
+//		this.nodeIdToStatusMap = nodeIdToStatusMap;
+//	}
 
 	public DataPublisher getDataPublisher() {
 		return dataPublisher;
@@ -425,7 +417,7 @@ public class FasterLookUpDataHolder implements Serializable{
         
         List<MemberContext> ctxts;
         
-        if((ctxts = clusterIdToMemberContext.get(ctxt)) == null) {
+        if((ctxts = clusterIdToMemberContext.get(ctxt.getClusterId())) == null) {
             ctxts = new ArrayList<MemberContext>();
         } 
         ctxts.add(ctxt);
@@ -449,21 +441,21 @@ public class FasterLookUpDataHolder implements Serializable{
         return clusterIdToMemberContext.get(clusterId);
     }
 
-    public void addNodeId(String memberId, String nodeId) {
-        memberIdToNodeId.put(memberId, nodeId);
-    }
-    
-    public String getNodeId(String memberId) {
-        return memberIdToNodeId.get(memberId);
-    }
-    
-    public Map<String, String> getMemberIdToNodeId() {
-        return memberIdToNodeId;
-    }
-
-    public void setMemberIdToNodeId(Map<String, String> memberIdToNodeId) {
-        this.memberIdToNodeId = memberIdToNodeId;
-    }
+//    public void addNodeId(String memberId, String nodeId) {
+//        memberIdToNodeId.put(memberId, nodeId);
+//    }
+//    
+//    public String getNodeId(String memberId) {
+//        return memberIdToNodeId.get(memberId);
+//    }
+//    
+//    public Map<String, String> getMemberIdToNodeId() {
+//        return memberIdToNodeId;
+//    }
+//
+//    public void setMemberIdToNodeId(Map<String, String> memberIdToNodeId) {
+//        this.memberIdToNodeId = memberIdToNodeId;
+//    }
 
     public Map<String, MemberContext> getMemberIdToContext() {
         return memberIdToContext;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
index f87953e..7b21c10 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyBuilder.java
@@ -25,7 +25,6 @@ import org.apache.stratos.cloud.controller.pojo.Cartridge;
 import org.apache.stratos.cloud.controller.pojo.ClusterContext;
 import org.apache.stratos.cloud.controller.pojo.PortMapping;
 import org.apache.stratos.cloud.controller.pojo.Registrant;
-import org.apache.stratos.cloud.controller.pojo.ServiceContext;
 import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.messaging.domain.topology.*;
@@ -225,11 +224,12 @@ public class TopologyBuilder {
     }
 
     public static void handleMemberSpawned(String memberId, String serviceName, String clusterId,
-                                           String iaasNodeId, Partition partition, String privateIp) {
+                                           Partition partition, String privateIp) {
         //adding the new member to the cluster after it is successfully started in IaaS.
         Topology topology = TopologyManager.getInstance().getTopology();
         Service service = topology.getService(serviceName);
         Cluster cluster = service.getCluster(clusterId);
+        String partitionId = partition.getId();
 
         if (cluster.memberExists(memberId)) {
             throw new RuntimeException(String.format("Member %s already exists", memberId));
@@ -238,16 +238,15 @@ public class TopologyBuilder {
         try {
             TopologyManager.getInstance().acquireWriteLock();
             Member member = new Member(serviceName, clusterId, memberId);
-            member.setIaasNodeId(iaasNodeId);
+            member.setPartitionId(partitionId);
             member.setStatus(MemberStatus.Created);
             member.setMemberIp(privateIp);
             cluster.addMember(member);
-            cluster.addMemberToIaasNodeId(member);
             TopologyManager.getInstance().updateTopology(topology);
         } finally {
             TopologyManager.getInstance().releaseWriteLock();
         }
-        TopologyEventSender.sendInstanceSpawnedEvent(serviceName, clusterId, memberId, iaasNodeId);
+        TopologyEventSender.sendInstanceSpawnedEvent(serviceName, clusterId, memberId, partitionId);
 
     }
 
@@ -285,18 +284,17 @@ public class TopologyBuilder {
     public static void handleMemberActivated(MemberActivatedEvent memberActivatedEvent) {
         Topology topology = TopologyManager.getInstance().getTopology();
         Service service = topology.getService(memberActivatedEvent.getServiceName());
-        Cluster cluster = service.getCluster(memberActivatedEvent.getClusterId());
-        Member member = cluster.getMember(memberActivatedEvent.getMemberId());
-
         if (service == null) {
             throw new RuntimeException(String.format("Service %s does not exist",
-                    memberActivatedEvent.getServiceName()));
+                                                     memberActivatedEvent.getServiceName()));
         }
-
+        
+        Cluster cluster = service.getCluster(memberActivatedEvent.getClusterId());
         if (cluster == null) {
             throw new RuntimeException(String.format("Cluster %s does not exist",
-                    memberActivatedEvent.getClusterId()));
+                                                     memberActivatedEvent.getClusterId()));
         }
+        Member member = cluster.getMember(memberActivatedEvent.getMemberId());
 
         if (member == null) {
             throw new RuntimeException(String.format("Member %s does not exist",
@@ -333,16 +331,15 @@ public class TopologyBuilder {
         TopologyEventSender.sendMemberActivatedEvent(memberActivatedEventTopology);
     }
 
-    public static void handleMemberTerminated(String serviceName, String clusterId, String nodeId) {
+    public static void handleMemberTerminated(String serviceName, String clusterId, String memberId) {
         Topology topology = TopologyManager.getInstance().getTopology();
         Service service = topology.getService(serviceName);
         Cluster cluster = service.getCluster(clusterId);
-        Member member = cluster.getMemberFromIaasNodeId(nodeId);
-        String memberId = member.getMemberId();
+        Member member = cluster.getMember(memberId);
 
         if (member == null) {
             throw new RuntimeException(String.format("Member with nodeID %s does not exist",
-                    nodeId));
+                    memberId));
         }
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventSender.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventSender.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventSender.java
index 82aa692..b1f9f00 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventSender.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyEventSender.java
@@ -23,7 +23,6 @@ import org.apache.stratos.cloud.controller.pojo.Cartridge;
 import org.apache.stratos.cloud.controller.pojo.ClusterContext;
 import org.apache.stratos.cloud.controller.pojo.PortMapping;
 import org.apache.stratos.cloud.controller.pojo.Registrant;
-import org.apache.stratos.cloud.controller.pojo.ServiceContext;
 import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.messaging.broker.publish.EventPublisher;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyManager.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyManager.java
index 7c36613..7610dbb 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyManager.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/topology/TopologyManager.java
@@ -53,10 +53,13 @@ public class TopologyManager {
     }
 
     public static TopologyManager getInstance() {
-        if (instance == null) {
-            instance = new TopologyManager();
+        synchronized (TopologyManager.class) {
+            if (instance == null) {
+                instance = new TopologyManager();
+            }
+            return instance;
+            
         }
-        return instance;
     }
 
     public void acquireReadLock() {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/AxiomValidationTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/AxiomValidationTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/AxiomValidationTest.java
index 42f5230..aad5b61 100644
--- a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/AxiomValidationTest.java
+++ b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/axiom/AxiomValidationTest.java
@@ -21,7 +21,6 @@ package org.apache.cartridge.autoscaler.service.axiom;
 import java.io.File;
 
 import org.apache.axiom.om.OMElement;
-import org.apache.stratos.cloud.controller.axiom.AxiomXpathParser;
 import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
 import org.xml.sax.SAXParseException;
 
@@ -29,7 +28,6 @@ import junit.framework.TestCase;
 
 public class AxiomValidationTest extends TestCase {
     
-    AxiomXpathParser util1, util2, util3, util4, util5, util6, util7, util8, util9;
     File xmlSchemaCartridges = new File("src/main/resources/cartridges.xsd");
     File xmlSchemaCartridge = new File("src/main/resources/cartridge.xsd");
     private String dir = "src/test/resources/";

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/c883ee2a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/util/ServiceContextTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/util/ServiceContextTest.java b/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/util/ServiceContextTest.java
deleted file mode 100644
index b4ea101..0000000
--- a/components/org.apache.stratos.cloud.controller/src/test/java/org/apache/cartridge/autoscaler/service/util/ServiceContextTest.java
+++ /dev/null
@@ -1,47 +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.cartridge.autoscaler.service.util;
-
-import org.apache.stratos.cloud.controller.pojo.ServiceContext;
-
-import junit.framework.TestCase;
-
-public class ServiceContextTest extends TestCase {
-    
-    ServiceContext ctxt = new ServiceContext();
-
-    public ServiceContextTest(String name) {
-        super(name);
-    }
-    
-    protected void setUp() throws Exception {
-        super.setUp();
-        ctxt.setProperty("min_app_instances", "2");
-        ctxt.setProperty("max_app_instances", "5");
-        ctxt.setProperty("public_ip", null);
-    }
-
-
-    public final void testPropertiesToXml() throws Exception {
-        System.out.println(ctxt.propertiesToXml());
-        assertEquals(true, ctxt.propertiesToXml().contains("name=\"min_app_instances\" value=\"2\""));
-
-    }
-   
-}