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\""));
-
- }
-
-}