You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/11/28 16:33:36 UTC
[05/15] stratos git commit: Refactoring cloud controller component to
simplify the package structure
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
deleted file mode 100644
index 1b7908c..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/NetworkInterfaces.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.Arrays;
-/**
- * Had to wrap {@link NetworkInterface} array using a class, since there's a bug in current
- * stub generation.
- *
- */
-public class NetworkInterfaces implements Serializable {
-
- private static final long serialVersionUID = -8435710709813227055L;
- private NetworkInterface[] networkInterfaces;
-
- /**
- * @return the networkInterfaces
- */
- public NetworkInterface[] getNetworkInterfaces() {
- return networkInterfaces;
- }
-
- /**
- * @param networkInterfaces the networkInterfaces to set
- */
- public void setNetworkInterfaces(NetworkInterface[] networkInterfaces) {
- if(networkInterfaces == null) {
- this.networkInterfaces = new NetworkInterface[0];
- } else {
- this.networkInterfaces = Arrays.copyOf(networkInterfaces, networkInterfaces.length);
- }
- }
-
- @Override
- public String toString() {
- return "NetworkInterfaces [network interfaces=" + Arrays.toString(networkInterfaces) + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
deleted file mode 100644
index 128efbf..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Persistence.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.Arrays;
-
-public class Persistence implements Serializable{
-
- private static final long serialVersionUID = 3455721979991902731L;
- private boolean persistanceRequired;
- private Volume[] volumes;
-
- public String toString () {
- return "Persistence Required: " + isPersistanceRequired();
- }
-
- public boolean isPersistanceRequired() {
- return persistanceRequired;
- }
-
- public void setPersistanceRequired(boolean persistanceRequired) {
- this.persistanceRequired = persistanceRequired;
- }
-
- public Volume[] getVolumes() {
- return volumes;
- }
-
- public void setVolumes(Volume[] volumes) {
- if(volumes == null) {
- this.volumes = new Volume[0];
- } else {
- this.volumes = Arrays.copyOf(volumes, volumes.length);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
deleted file mode 100644
index 63e222b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-
-public class PortMapping implements Serializable{
-
- private static final long serialVersionUID = -5387564414633460306L;
- private String protocol;
- private String port;
- private String proxyPort;
-
- public PortMapping(){
-
- }
-
- public PortMapping(String protocol, String port, String proxyPort){
- this.protocol = protocol;
- this.port = port;
- this.proxyPort = proxyPort;
- }
-
- public String getProtocol() {
- return protocol;
- }
-
- public void setProtocol(String protocol) {
- this.protocol = protocol;
- }
-
- public String getPort() {
- return port;
- }
-
- public void setPort(String port) {
- this.port = port;
- }
-
- public String getProxyPort() {
- return proxyPort;
- }
-
- public void setProxyPort(String proxyPort) {
- this.proxyPort = proxyPort;
- }
-
- public String toString () {
-
- return "Protocol: " + protocol + ", Port: " + port + ", Proxy Port: " + proxyPort;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
deleted file mode 100644
index e53e95f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Registrant.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import org.apache.stratos.common.Properties;
-
-/**
- * Upon a new subscription, Stratos Manager would send this POJO.
- *
- *
- */
-public class Registrant {
-
- private String clusterId;
- private String tenantRange;
- private String hostName;
- private String cartridgeType;
- private String payload;
- private Properties properties;
- private String autoScalerPolicyName;
- private String deploymentPolicyName;
- private Persistence persistence;
-
- public String getTenantRange() {
- return tenantRange;
- }
- public void setTenantRange(String tenantRange) {
- this.tenantRange = tenantRange;
- }
- public String getHostName() {
- return hostName;
- }
- public void setHostName(String hostName) {
- this.hostName = hostName;
- }
- public Properties getProperties() {
- return properties;
- }
- public void setProperties(Properties properties) {
- this.properties = properties;
- }
- public String getAutoScalerPolicyName() {
- return autoScalerPolicyName;
- }
- public void setAutoScalerPolicyName(String autoScalerPolicyName) {
- this.autoScalerPolicyName = autoScalerPolicyName;
- }
- public String getClusterId() {
- return clusterId;
- }
- public void setClusterId(String clusterId) {
- this.clusterId = clusterId;
- }
- public String getCartridgeType() {
- return cartridgeType;
- }
- public void setCartridgeType(String cartridgeType) {
- this.cartridgeType = cartridgeType;
- }
- public String getPayload() {
- return payload;
- }
- public void setPayload(String payload) {
- this.payload = payload;
- }
-
- public String getDeploymentPolicyName() {
- return deploymentPolicyName;
- }
-
- public void setDeploymentPolicyName(String deploymentPolicyName) {
- this.deploymentPolicyName = deploymentPolicyName;
- }
- @Override
- public String toString() {
- return "Registrant [clusterId=" + clusterId + ", tenantRange=" + tenantRange +
- ", hostName=" + hostName + ", cartridgeType=" + cartridgeType + ", properties=" +
- properties + ", autoScalerPolicyName=" + autoScalerPolicyName +
- ", deploymentPolicyName=" + deploymentPolicyName + "]";
- }
-
- public Persistence getPersistence() {
- return persistence;
- }
-
- public void setPersistence(Persistence persistence) {
- this.persistence = persistence;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
deleted file mode 100644
index 45957f5..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/ServiceGroup.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class ServiceGroup implements Serializable {
-
-
- private static final long serialVersionUID = -7413745300105885793L;
-
- private String name;
-
- private String [] subGroups;
-
- private String [] cartridges;
-
- private Dependencies dependencies;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String [] getSubGroups() {
- return subGroups;
- }
-
- public void setSubGroups(String [] subGroups) {
- this.subGroups = subGroups;
- }
-
- public String [] getCartridges() {
- return cartridges;
- }
-
- public void setCartridges(String [] cartridges) {
- this.cartridges = cartridges;
- }
-
- public Dependencies getDependencies() {
- return dependencies;
- }
-
- public void setDependencies(Dependencies dependencies) {
- this.dependencies = dependencies;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
deleted file mode 100644
index 2d309a1..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/TopologyConfig.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Configuration related to Topology synchronization
- *
- */
-public class TopologyConfig implements Serializable{
-
- private static final long serialVersionUID = 4435173744617096911L;
-
- /**
- * Key - Value pair.
- */
- private Map<String, String> properties = new HashMap<String, String>();
-
- public void setProperty(String key, String value) {
- properties.put(key, value);
- }
-
- public String getProperty(String key) {
-
- if(properties.containsKey(key)){
- return properties.get(key);
- }
-
- return null;
- }
-
- public Map<String, String> getProperties() {
- return properties;
- }
-
- public void setProperties(Map<String, String> properties) {
- this.properties = properties;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
deleted file mode 100644
index b5e3b29..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Volume.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.pojo;
-
-import java.io.Serializable;
-
-public class Volume implements Serializable {
- private static final long serialVersionUID = 3455729879991902731L;
-
- private String id;
- private int size;
- private String device;
- private boolean removeOntermination;
- private String mappingPath;
- private String iaasType;
- private String snapshotId;
- private String volumeId;
-
- public String toString () {
- return "Persistence Required: " + ", Size: " + getSize() + ", device: " + getDevice() +
- " mapping path : " + mappingPath + " remove on termination " + isRemoveOntermination() + " SnaphotId " + snapshotId;
- }
-
- public int getSize() {
- return size;
- }
-
- public void setSize(int size) {
- this.size = size;
- }
-
- public String getDevice() {
- return device;
- }
-
- public void setDevice(String device) {
- this.device = device;
- }
-
- public boolean isRemoveOntermination() {return removeOntermination;}
-
- public void setRemoveOntermination(boolean removeOntermination) {
- this.removeOntermination = removeOntermination;
- }
-
- public String getMappingPath() {
- return mappingPath;
- }
-
- public void setMappingPath(String mappingPath) {
- this.mappingPath = mappingPath;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Volume other = (Volume) obj;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- return true;
- }
-
- public String getIaasType() {
- return iaasType;
- }
-
- public void setIaasType(String iaasType) {
- this.iaasType = iaasType;
- }
-
- public String getSnapshotId() {
- return snapshotId;
- }
-
- public void setSnapshotId(String snapshotId) {
- this.snapshotId = snapshotId;
- }
-
- public String getVolumeId() {
- return volumeId;
- }
-
- public void setVolumeId(String volumeId) {
- this.volumeId = volumeId;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
deleted file mode 100644
index 3db9f71..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/payload/MetaDataHolder.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.pojo.payload;
-
-import java.util.Properties;
-
-/**
- * Holds payload/meta data related to a cluster
- */
-
-public class MetaDataHolder {
-
- private String appId;
-
- private String groupName;
-
- private String clusterId;
-
- private Properties properties;
-
- public MetaDataHolder (String appId, String clusterId) {
-
- this.appId = appId;
- this.clusterId = clusterId;
- }
-
- public MetaDataHolder(String appId, String groupName, String clusterId) {
-
- this.appId = appId;
- this.groupName = groupName;
- this.clusterId = clusterId;
- }
-
- public String getAppId() {
- return appId;
- }
-
- public String getGroupName() {
- return groupName;
- }
-
- public String getClusterId() {
- return clusterId;
- }
-
- public boolean equals(Object other) {
-
- if(other == null || !(other instanceof MetaDataHolder)) {
- return false;
- }
-
- if(this == other) {
- return true;
- }
-
- MetaDataHolder that = (MetaDataHolder)other;
-
- if (this.groupName == null || that.groupName == null) {
- return this.appId.equals(that.appId) && this.clusterId.equals(that.clusterId);
- } else {
- return this.appId.equals(that.appId) && this.groupName.equals(that.groupName) &&
- this.clusterId.equals(that.clusterId);
- }
- }
-
- public int hashCode () {
-
- if (this.getGroupName() == null) {
- return this.appId.hashCode() + this.clusterId.hashCode();
- } else {
- return this.appId.hashCode() + this.groupName.hashCode() + this.clusterId.hashCode();
- }
- }
-
- public Properties getProperties() {
- return properties;
- }
-
- public void setProperties(Properties properties) {
- this.properties = properties;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
deleted file mode 100644
index ad3c26f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/CartridgeInstanceDataPublisher.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.publisher;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.exception.CloudControllerException;
-import org.apache.stratos.cloud.controller.pojo.Cartridge;
-import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.jclouds.compute.domain.NodeMetadata;
-import org.wso2.carbon.base.ServerConfiguration;
-import org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher;
-import org.wso2.carbon.databridge.agent.thrift.exception.AgentException;
-import org.wso2.carbon.databridge.commons.Attribute;
-import org.wso2.carbon.databridge.commons.AttributeType;
-import org.wso2.carbon.databridge.commons.Event;
-import org.wso2.carbon.databridge.commons.StreamDefinition;
-import org.wso2.carbon.utils.CarbonUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * This will publish the state changes of a node in the topology to a data receiver
- */
-public class CartridgeInstanceDataPublisher {
-
- private static final Log log = LogFactory.getLog(CartridgeInstanceDataPublisher.class);
- private static AsyncDataPublisher dataPublisher;
- private static StreamDefinition streamDefinition;
- private static final String cloudControllerEventStreamVersion = "1.0.0";
-
- public static void publish(String memberId,
- String partitionId,
- String networkId,
- String clusterId,
- String serviceName,
- String status,
- NodeMetadata metadata) {
- if(!FasterLookUpDataHolder.getInstance().getEnableBAMDataPublisher()){
- return;
- }
- log.debug(CloudControllerConstants.DATA_PUB_TASK_NAME+" cycle started.");
-
- if(dataPublisher==null){
- createDataPublisher();
-
- //If we cannot create a data publisher we should give up
- //this means data will not be published
- if(dataPublisher == null){
- log.error("Data Publisher cannot be created or found.");
- release();
- return;
- }
- }
-
-
- MemberContext memberContext = FasterLookUpDataHolder.getInstance().getMemberContextOfMemberId(memberId);
- String cartridgeType = memberContext.getCartridgeType();
- Cartridge cartridge = FasterLookUpDataHolder.getInstance().getCartridge(cartridgeType);
-
- //Construct the data to be published
- List<Object> payload = new ArrayList<Object>();
- // Payload values
- payload.add(memberId);
- payload.add(serviceName);
- payload.add(clusterId);
- payload.add(handleNull(memberContext.getLbClusterId()));
- payload.add(handleNull(partitionId));
- payload.add(handleNull(networkId));
- if (cartridge != null) {
- payload.add(handleNull(String.valueOf(cartridge.isMultiTenant())));
- } else {
- payload.add("");
- }
- payload.add(handleNull(memberContext.getPartition().getProvider()));
- payload.add(handleNull(status));
-
- if(metadata != null) {
- payload.add(metadata.getHostname());
- payload.add(metadata.getHardware().getHypervisor());
- payload.add(String.valueOf(metadata.getHardware().getRam()));
- payload.add(metadata.getImageId());
- payload.add(metadata.getLoginPort());
- payload.add(metadata.getOperatingSystem().getName());
- payload.add(metadata.getOperatingSystem().getVersion());
- payload.add(metadata.getOperatingSystem().getArch());
- payload.add(String.valueOf(metadata.getOperatingSystem().is64Bit()));
- } else {
- payload.add("");
- payload.add("");
- payload.add("");
- payload.add("");
- payload.add(0);
- payload.add("");
- payload.add("");
- payload.add("");
- payload.add("");
- }
-
- payload.add(handleNull(memberContext.getPrivateIpAddress()));
- payload.add(handleNull(memberContext.getPublicIpAddress()));
- payload.add(handleNull(memberContext.getAllocatedIpAddress()));
-
- Event event = new Event();
- event.setPayloadData(payload.toArray());
- event.setArbitraryDataMap(new HashMap<String, String>());
-
- try {
- if (log.isDebugEnabled()) {
- log.debug(String.format("Publishing BAM event: [stream] %s [version] %s", streamDefinition.getName(), streamDefinition.getVersion()));
- }
- dataPublisher.publish(streamDefinition.getName(), streamDefinition.getVersion(), event);
- } catch (AgentException e) {
- if (log.isErrorEnabled()) {
- log.error(String.format("Could not publish BAM event: [stream] %s [version] %s", streamDefinition.getName(), streamDefinition.getVersion()), e);
- }
- }
- }
-
- private static void release(){
- FasterLookUpDataHolder.getInstance().setPublisherRunning(false);
- }
-
- private static StreamDefinition initializeStream() throws Exception {
- streamDefinition = new StreamDefinition(
- CloudControllerConstants.CLOUD_CONTROLLER_EVENT_STREAM,
- cloudControllerEventStreamVersion);
- streamDefinition.setNickName("cloud.controller");
- streamDefinition.setDescription("Instances booted up by the Cloud Controller");
- // Payload definition
- List<Attribute> payloadData = new ArrayList<Attribute>();
- payloadData.add(new Attribute(CloudControllerConstants.MEMBER_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.CARTRIDGE_TYPE_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.CLUSTER_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.LB_CLUSTER_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.PARTITION_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.NETWORK_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.IS_MULTI_TENANT_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.IAAS_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.STATUS_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.HOST_NAME_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.HYPERVISOR_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.RAM_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.IMAGE_ID_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.LOGIN_PORT_COL, AttributeType.INT));
- payloadData.add(new Attribute(CloudControllerConstants.OS_NAME_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.OS_VERSION_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.OS_ARCH_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.OS_BIT_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.PRIV_IP_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.PUB_IP_COL, AttributeType.STRING));
- payloadData.add(new Attribute(CloudControllerConstants.ALLOCATE_IP_COL, AttributeType.STRING));
- streamDefinition.setPayloadData(payloadData);
- return streamDefinition;
- }
-
-
- private static void createDataPublisher(){
- //creating the agent
-
- ServerConfiguration serverConfig = CarbonUtils.getServerConfiguration();
- String trustStorePath = serverConfig.getFirstProperty("Security.TrustStore.Location");
- String trustStorePassword = serverConfig.getFirstProperty("Security.TrustStore.Password");
- String bamServerUrl = serverConfig.getFirstProperty("BamServerURL");
- String adminUsername = FasterLookUpDataHolder.getInstance().getDataPubConfig().getBamUsername();
- String adminPassword = FasterLookUpDataHolder.getInstance().getDataPubConfig().getBamPassword();
-
- System.setProperty("javax.net.ssl.trustStore", trustStorePath);
- System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);
-
-
- try {
- dataPublisher = new AsyncDataPublisher("tcp://" + bamServerUrl + "", adminUsername, adminPassword);
- FasterLookUpDataHolder.getInstance().setDataPublisher(dataPublisher);
- initializeStream();
- dataPublisher.addStreamDefinition(streamDefinition);
- } catch (Exception e) {
- String msg = "Unable to create a data publisher to " + bamServerUrl +
- ". Usage Agent will not function properly. ";
- log.error(msg, e);
- throw new CloudControllerException(msg, e);
- }
- }
-
- private static String handleNull(String val) {
- if (val == null) {
- return "";
- }
- return val;
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
deleted file mode 100644
index 398dc1f..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/publisher/TopologySynchronizerTaskScheduler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.stratos.cloud.controller.publisher;
-
-import java.util.HashMap;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.topology.TopologySynchronizerTask;
-import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.wso2.carbon.ntask.common.TaskException;
-import org.wso2.carbon.ntask.core.TaskInfo;
-import org.wso2.carbon.ntask.core.TaskManager;
-import org.wso2.carbon.ntask.core.service.TaskService;
-
-/**
- * Topology synchronizer task scheduler for scheduling the topology synchronizer task
- * using carbon task service.
- */
-public class TopologySynchronizerTaskScheduler {
-
- private static final Log log = LogFactory.getLog(TopologySynchronizerTaskScheduler.class);
-
- private static final FasterLookUpDataHolder dataHolder = FasterLookUpDataHolder.getInstance();
-
- public static void schedule(TaskService taskService) {
- TaskManager taskManager = null;
- try {
-
- if (!taskService.getRegisteredTaskTypes().contains(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE)) {
- // Register task type
- taskService.registerTaskType(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE);
-
- // Register task
- taskManager = taskService.getTaskManager(CloudControllerConstants.TOPOLOGY_SYNC_TASK_TYPE);
- String cronProp = dataHolder.getTopologyConfig().getProperty(CloudControllerConstants.CRON_PROPERTY);
- String cron = cronProp != null ? cronProp :CloudControllerConstants.TOPOLOGY_SYNC_CRON ;
- TaskInfo.TriggerInfo triggerInfo = new TaskInfo.TriggerInfo(cron);
- TaskInfo taskInfo = new TaskInfo(CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME,
- TopologySynchronizerTask.class.getName(),
- new HashMap<String, String>(), triggerInfo);
- taskManager.registerTask(taskInfo);
- if(log.isDebugEnabled()) {
- log.debug(String.format("Topology synchronization task scheduled: %s", CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME));
- }
- }
-
- } catch (Exception e) {
- if (taskManager != null) {
- try {
- taskManager.deleteTask(CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME);
- } catch (TaskException te) {
- if (log.isErrorEnabled()) {
- log.error(te);
- }
- }
- }
-
- String msg = String.format("Could not schedule topology synchronization task: %s", CloudControllerConstants.TOPOLOGY_SYNC_TASK_NAME);
- log.error(msg, e);
- throw new RuntimeException(msg, e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
deleted file mode 100644
index 4ad51cc..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/application/ApplicationTopicReceiver.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.application;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.applications.ApplicationTerminatedEvent;
-import org.apache.stratos.messaging.listener.applications.ApplicationTerminatedEventListener;
-import org.apache.stratos.messaging.message.receiver.applications.ApplicationsEventReceiver;
-
-/**
- * This is to receive the application topic messages.
- */
-public class ApplicationTopicReceiver implements Runnable{
- private static final Log log = LogFactory.getLog(ApplicationTopicReceiver.class);
- private ApplicationsEventReceiver applicationsEventReceiver;
- private boolean terminated;
-
- public ApplicationTopicReceiver() {
- this.applicationsEventReceiver = new ApplicationsEventReceiver();
- addEventListeners();
-
- }
-
-
- @Override
- public void run() {
-
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application status thread started");
- }
- Thread thread = new Thread(applicationsEventReceiver);
- thread.start();
-
- // Keep the thread live until terminated
- while (!terminated) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- }
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application status thread terminated");
- }
-
- }
- private void addEventListeners() {
- applicationsEventReceiver.addEventListener(new ApplicationTerminatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- //Remove the application related data
- ApplicationTerminatedEvent terminatedEvent = (ApplicationTerminatedEvent)event;
- log.info("ApplicationTerminatedEvent received for [application] " + terminatedEvent.getAppId());
- String appId = terminatedEvent.getAppId();
- TopologyBuilder.handleApplicationClustersRemoved(appId, terminatedEvent.getClusterData());
- }
- });
- }
-
- public void setTerminated(boolean terminated) {
- this.terminated = terminated;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
deleted file mode 100644
index f89434b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/cluster/status/ClusterStatusTopicReceiver.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.cluster.status;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.cluster.status.*;
-import org.apache.stratos.messaging.listener.cluster.status.*;
-import org.apache.stratos.messaging.message.receiver.cluster.status.ClusterStatusEventReceiver;
-
-public class ClusterStatusTopicReceiver implements Runnable{
- private static final Log log = LogFactory.getLog(ClusterStatusTopicReceiver.class);
-
- private ClusterStatusEventReceiver statusEventReceiver;
- private boolean terminated;
-
- public ClusterStatusTopicReceiver() {
- this.statusEventReceiver = new ClusterStatusEventReceiver();
- addEventListeners();
- }
-
- public void run() {
- Thread thread = new Thread(statusEventReceiver);
- thread.start();
- if (log.isInfoEnabled()) {
- log.info("Cloud controller Cluster status thread started");
- }
-
- // Keep the thread live until terminated
- while (!terminated) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- }
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application status thread terminated");
- }
-
- }
- private void addEventListeners() {
- // Listen to topology events that affect clusters
- statusEventReceiver.addEventListener(new ClusterStatusClusterResetEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterReset((ClusterStatusClusterResetEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterInstanceCreatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- //TopologyBuilder.handleClusterInstanceCreated((ClusterStatusClusterInstanceCreatedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterCreatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterCreated((ClusterStatusClusterCreatedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterActivatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterActivatedEvent((ClusterStatusClusterActivatedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterTerminatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterTerminatedEvent((ClusterStatusClusterTerminatedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterTerminatingEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterTerminatingEvent((ClusterStatusClusterTerminatingEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new ClusterStatusClusterInactivateEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleClusterInActivateEvent((ClusterStatusClusterInactivateEvent) event);
- }
- });
- }
-
- public void setTerminated(boolean terminated) {
- this.terminated = terminated;
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
deleted file mode 100644
index c659fdb..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/receiver/instance/status/InstanceStatusTopicReceiver.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.receiver.instance.status;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
-import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
-import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
-import org.apache.stratos.messaging.event.Event;
-import org.apache.stratos.messaging.event.instance.status.InstanceActivatedEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceMaintenanceModeEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceReadyToShutdownEvent;
-import org.apache.stratos.messaging.event.instance.status.InstanceStartedEvent;
-import org.apache.stratos.messaging.listener.instance.status.InstanceActivatedEventListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceMaintenanceListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceReadyToShutdownEventListener;
-import org.apache.stratos.messaging.listener.instance.status.InstanceStartedEventListener;
-import org.apache.stratos.messaging.message.receiver.instance.status.InstanceStatusEventReceiver;
-
-/**
- * This will handle the instance status events
- */
-public class InstanceStatusTopicReceiver implements Runnable {
- private static final Log log = LogFactory.getLog(InstanceStatusTopicReceiver.class);
-
- private InstanceStatusEventReceiver statusEventReceiver;
- private boolean terminated;
-
- public InstanceStatusTopicReceiver() {
- this.statusEventReceiver = new InstanceStatusEventReceiver();
- addEventListeners();
- }
-
-
- @Override
- public void run() {
- Thread thread = new Thread(statusEventReceiver);
- thread.start();
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application status thread started");
- }
- ///* Keep the thread live until terminated
- while (!terminated) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ignore) {
- }
- }
- if (log.isInfoEnabled()) {
- log.info("Cloud controller application status thread terminated");
- }
- }
-
- private void addEventListeners() {
- statusEventReceiver.addEventListener(new InstanceActivatedEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleMemberActivated((InstanceActivatedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new InstanceStartedEventListener() {
- @Override
- protected void onEvent(Event event) {
- TopologyBuilder.handleMemberStarted((InstanceStartedEvent) event);
- }
- });
-
- statusEventReceiver.addEventListener(new InstanceReadyToShutdownEventListener() {
- @Override
- protected void onEvent(Event event) {
- try {
- TopologyBuilder.handleMemberReadyToShutdown((InstanceReadyToShutdownEvent) event);
- } catch (Exception e) {
- String error = "Failed to retrieve the instance status event message";
- log.error(error, e);
- }
- }
- });
-
- statusEventReceiver.addEventListener(new InstanceMaintenanceListener() {
- @Override
- protected void onEvent(Event event) {
- try {
- TopologyBuilder.handleMemberMaintenance((InstanceMaintenanceModeEvent) event);
- } catch (Exception e) {
- String error = "Failed to retrieve the instance status event message";
- log.error(error, e);
- }
- }
- });
-
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
new file mode 100644
index 0000000..bd386e9
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Deserializer.java
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cloud.controller.registry;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class Deserializer {
+
+ private static final Log log = LogFactory.getLog(Deserializer.class);
+
+ /**
+ * We deserialize only if the path to the serialized object file is exists.
+ * @param filePath path to the serialized object file
+ * @return the object obtained after deserialization or null if file isn't valid.
+ * @throws Exception
+ */
+ public static Object deserialize(String filePath) throws Exception {
+
+ ObjectInputStream objIn = null;
+ Object obj = null;
+
+ if(!new File(filePath).isFile()){
+ return obj;
+ }
+
+ try {
+
+ objIn = new ObjectInputStream(new FileInputStream(filePath));
+ obj = objIn.readObject();
+
+ } catch (IOException e) {
+ log.error("Failed to deserialize the file at "+filePath , e);
+ throw e;
+
+ } catch (ClassNotFoundException e) {
+ log.error("Failed to deserialize the file at "+filePath , e);
+ throw e;
+
+ } finally {
+ if (objIn != null) {
+ objIn.close();
+ }
+ }
+
+ return obj;
+
+ }
+
+ /**
+ * Deserialize a byte array and retrieve the object.
+ * @param bytes bytes to be deserialized
+ * @return the deserialized {@link Object}
+ * @throws Exception if the deserialization is failed.
+ */
+ public static Object deserializeFromByteArray(byte[] bytes) throws Exception {
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
+ ObjectInput in = null;
+ try {
+ in = new ObjectInputStream(bis);
+ Object o = in.readObject();
+
+ return o;
+
+ } finally {
+ bis.close();
+ if (in != null) {
+ in.close();
+ }
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
index 3162fca..9e30daf 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/RegistryManager.java
@@ -24,10 +24,9 @@ package org.apache.stratos.cloud.controller.registry;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.exception.CloudControllerException;
-import org.apache.stratos.cloud.controller.persist.Serializer;
-import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
+import org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.ServiceReferenceHolder;
+import org.apache.stratos.cloud.controller.internal.ServiceReferenceHolder;
import org.apache.stratos.messaging.domain.topology.Topology;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.registry.core.Registry;
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
new file mode 100644
index 0000000..f0f00d5
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/registry/Serializer.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cloud.controller.registry;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder;
+import org.apache.stratos.messaging.domain.topology.Topology;
+
+import java.io.*;
+
+public class Serializer {
+
+ private static final Log log = LogFactory.getLog(Serializer.class);
+
+ public static void serializeToFile(Object serializableObj, String filePath) throws IOException {
+
+ File outFile = new File(filePath);
+ ObjectOutput objOut = null;
+ FileOutputStream fileOutputStream = null;
+
+ try {
+
+ if(outFile.createNewFile()){
+ log.debug("Serialization file is created at "+filePath);
+ } else{
+ log.debug("Serialization file is already existing at "+filePath);
+ }
+ fileOutputStream = new FileOutputStream(outFile);
+ objOut = new ObjectOutputStream(fileOutputStream);
+ objOut.writeObject(serializableObj);
+
+ } catch (IOException e) {
+ log.error("Failed to serialize the object "+serializableObj.toString()
+ + " to file "+filePath , e);
+ throw e;
+
+ } finally{
+ if(objOut != null) {
+ objOut.close();
+ }
+ if(fileOutputStream != null) {
+ fileOutputStream.close();
+ }
+ }
+
+ }
+
+ /**
+ * Serialize a {@link org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder} to a byte array.
+ * @param serializableObj
+ * @return byte[]
+ * @throws IOException
+ */
+ public static byte[] serializeToByteArray(FasterLookUpDataHolder serializableObj) throws IOException {
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutput out = null;
+ try {
+ out = new ObjectOutputStream(bos);
+ out.writeObject(serializableObj);
+
+ return bos.toByteArray();
+
+ } finally {
+ if (out != null) {
+ out.close();
+ }
+ bos.close();
+ }
+
+ }
+
+ /**
+ * Serialize a {@link org.apache.stratos.cloud.controller.context.FasterLookUpDataHolder} to a byte array.
+ * @param topology
+ * @return byte[]
+ * @throws IOException
+ */
+ public static byte[] serializeToByteArray(Topology topology) throws IOException {
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutput out = null;
+ try {
+ out = new ObjectOutputStream(bos);
+ out.writeObject(topology);
+
+ return bos.toByteArray();
+
+ } finally {
+ if (out != null) {
+ out.close();
+ }
+ bos.close();
+ }
+
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/8c359dc1/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
deleted file mode 100644
index ffdde8b..0000000
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/runtime/FasterLookUpDataHolder.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.stratos.cloud.controller.runtime;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.cloud.controller.pojo.*;
-import org.apache.stratos.cloud.controller.registry.RegistryManager;
-import org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledFuture;
-
-/**
- * This object holds all runtime data and provides faster access. This is a Singleton class.
- */
-public class FasterLookUpDataHolder implements Serializable{
-
- private static final long serialVersionUID = -2662307358852779897L;
-
- private static final Log log = LogFactory.getLog(FasterLookUpDataHolder.class);
-
- private static volatile FasterLookUpDataHolder ctxt;
-
- /* We keep following maps in order to make the look up time, small. */
-
- /**
- * Key - cluster id
- * Value - list of {@link MemberContext}
- */
- private Map<String, List<MemberContext>> clusterIdToMemberContext = new ConcurrentHashMap<String, List<MemberContext>>();
-
-
- /**
- * Key - member id
- * Value - {@link MemberContext}
- */
- private Map<String, MemberContext> memberIdToContext = new ConcurrentHashMap<String, MemberContext>();
-
- /**
- * Key - member id
- * Value - ScheduledFuture task
- */
- private transient Map<String, ScheduledFuture<?>> memberIdToScheduledTask = new ConcurrentHashMap<String, ScheduledFuture<?>>();
-
- /**
- * Key - Kubernetes cluster id
- * Value - {@link KubernetesClusterContext}
- */
- private Map<String, KubernetesClusterContext> kubClusterIdToKubClusterContext =
- new ConcurrentHashMap<String, KubernetesClusterContext>();
-
- /**
- * Key - cluster id
- * Value - {@link ClusterContext}
- */
- private Map<String, ClusterContext> clusterIdToContext = new ConcurrentHashMap<String, ClusterContext>();
-
- /**
- * This works as a cache to hold already validated partitions against a cartridge type.
- * Key - cartridge type
- * Value - list of partition ids
- */
- private Map<String, List<String>> cartridgeTypeToPartitionIds = new ConcurrentHashMap<String, List<String>>();
-
- /**
- * Thread pool used in this task to execute parallel tasks.
- */
- private transient ExecutorService executor = Executors.newFixedThreadPool(20);
-
- /**
- * List of registered {@link Cartridge}s
- */
- private List<Cartridge> cartridges;
-
- /**
- * List of deployed service groups
- */
- private List<ServiceGroup> serviceGroups;
-
- /**
- * List of IaaS Providers.
- */
- private List<IaasProvider> iaasProviders;
-
-
- private String serializationDir;
- private boolean enableBAMDataPublisher;
- private transient DataPublisherConfig dataPubConfig;
- private boolean enableTopologySync;
- private transient TopologyConfig topologyConfig;
-
- private transient AsyncDataPublisher dataPublisher;
- private String streamId;
- private boolean isPublisherRunning;
- private boolean isTopologySyncRunning;
-
-
- public static FasterLookUpDataHolder getInstance() {
-
- if (ctxt == null) {
- synchronized (FasterLookUpDataHolder.class) {
- if (ctxt == null && RegistryManager.getInstance() != null) {
-
- Object obj = RegistryManager.getInstance().retrieve();
- if (obj != null) {
- if (obj instanceof FasterLookUpDataHolder) {
- ctxt = (FasterLookUpDataHolder) obj;
- }
- }
- }
- if(ctxt == null) {
- ctxt = new FasterLookUpDataHolder();
- }
- }
- }
-
- return ctxt;
- }
-
- private FasterLookUpDataHolder() {
-
- cartridges = new ArrayList<Cartridge>();
- serviceGroups = new ArrayList<ServiceGroup>();
- }
-
- public List<Cartridge> getCartridges() {
- return cartridges;
- }
-
- public void setCartridges(List<Cartridge> cartridges) {
- this.cartridges = cartridges;
- }
-
- public void setServiceGroups(List<ServiceGroup> serviceGroups) {
- this.serviceGroups = serviceGroups;
- }
-
- public List<ServiceGroup> getServiceGroups() {
- return this.serviceGroups;
- }
-
-
- public Cartridge getCartridge(String cartridgeType) {
- for (Cartridge cartridge : cartridges) {
- if (cartridge.getType().equals(cartridgeType)) {
- return cartridge;
- }
- }
-
- return null;
- }
-
- public void addCartridge(Cartridge newCartridges) {
-
- cartridges.add(newCartridges);
- }
-
- public void removeCartridges(List<Cartridge> cartridges) {
- if (this.cartridges != null) {
- this.cartridges.removeAll(cartridges);
- }
-
- }
-
- public ServiceGroup getServiceGroup(String name) {
- for (ServiceGroup serviceGroup : serviceGroups) {
- if (serviceGroup.getName().equals(name)) {
- return serviceGroup;
- }
- }
-
- return null;
- }
-
- public void addServiceGroup(ServiceGroup newServiceGroup) {
- this.serviceGroups.add(newServiceGroup);
- }
-
- public void removeServiceGroup(List<ServiceGroup> serviceGroup) {
- if (this.serviceGroups != null) {
- this.serviceGroups.removeAll(serviceGroup);
- }
- }
-
- public IaasProvider getIaasProvider(String type) {
- if(type == null) {
- return null;
- }
-
- for (IaasProvider iaasProvider : iaasProviders) {
- if(type.equals(iaasProvider.getType())) {
- return iaasProvider;
- }
- }
- return null;
- }
-
- public List<IaasProvider> getIaasProviders() {
- return iaasProviders;
- }
-
- public void setIaasProviders(List<IaasProvider> iaasProviders) {
- this.iaasProviders = iaasProviders;
- }
-
- public String getSerializationDir() {
- return serializationDir;
- }
-
- public void setSerializationDir(String serializationDir) {
- this.serializationDir = serializationDir;
- }
-
- public AsyncDataPublisher getDataPublisher() {
- return dataPublisher;
- }
-
- public void setDataPublisher(AsyncDataPublisher dataPublisher) {
- this.dataPublisher = dataPublisher;
- }
-
- public String getStreamId() {
- return streamId;
- }
-
- public void setStreamId(String streamId) {
- this.streamId = streamId;
- }
-
- public boolean getEnableBAMDataPublisher() {
- return enableBAMDataPublisher;
- }
-
- public void setEnableBAMDataPublisher(boolean enableBAMDataPublisher) {
- this.enableBAMDataPublisher = enableBAMDataPublisher;
- }
-
- public boolean isPublisherRunning() {
- return isPublisherRunning;
- }
-
- public void setPublisherRunning(boolean isPublisherRunning) {
- this.isPublisherRunning = isPublisherRunning;
- }
-
- public boolean getEnableTopologySync() {
- return enableTopologySync;
- }
-
- public void setEnableTopologySync(boolean enableTopologySync) {
- this.enableTopologySync = enableTopologySync;
- }
-
- public boolean isTopologySyncRunning() {
- return isTopologySyncRunning;
- }
-
- public void setTopologySyncRunning(boolean isTopologySyncRunning) {
- this.isTopologySyncRunning = isTopologySyncRunning;
- }
-
- public TopologyConfig getTopologyConfig() {
- return topologyConfig;
- }
-
- public void setTopologyConfig(TopologyConfig topologyConfig) {
- this.topologyConfig = topologyConfig;
- }
-
- public DataPublisherConfig getDataPubConfig() {
- return dataPubConfig;
- }
-
- public void setDataPubConfig(DataPublisherConfig dataPubConfig) {
- this.dataPubConfig = dataPubConfig;
- }
-
- public void addMemberContext(MemberContext ctxt) {
- memberIdToContext.put(ctxt.getMemberId(), ctxt);
-
- List<MemberContext> ctxts;
-
- if((ctxts = clusterIdToMemberContext.get(ctxt.getClusterId())) == null) {
- ctxts = new ArrayList<MemberContext>();
- }
- if(ctxts.contains(ctxt)) {
- ctxts.remove(ctxt);
- }
- ctxts.add(ctxt);
- clusterIdToMemberContext.put(ctxt.getClusterId(), ctxts);
- if(log.isDebugEnabled()) {
-
- log.debug("Added Member Context to the information model. "+ctxt);
- }
- }
-
- public void addScheduledFutureJob(String memberId, ScheduledFuture<?> job) {
- memberIdToScheduledTask.put(memberId, job);
- }
-
- public List<MemberContext> removeMemberContextsOfCluster(String clusterId) {
- List<MemberContext> ctxts = clusterIdToMemberContext.remove(clusterId);
- if(ctxts == null) {
- return new ArrayList<MemberContext>();
- }
- for (MemberContext memberContext : ctxts) {
- String memberId = memberContext.getMemberId();
- memberIdToContext.remove(memberId);
- stopTask(memberIdToScheduledTask.remove(memberId));
- }
- if(log.isDebugEnabled()) {
-
- log.debug("Removed Member Context from the information model. "+ctxt);
- }
- return ctxts;
- }
-
- public MemberContext removeMemberContext(String memberId, String clusterId) {
- MemberContext returnedCtxt = memberIdToContext.remove(memberId);
- List<MemberContext> ctxts = clusterIdToMemberContext.get(clusterId);
-
- if (ctxts != null) {
-
- List<MemberContext> newCtxts = new ArrayList<MemberContext>(ctxts);
-
- for (Iterator<MemberContext> iterator = newCtxts.iterator(); iterator.hasNext();) {
- MemberContext memberContext = (MemberContext) iterator.next();
- if(memberId.equals(memberContext.getMemberId())) {
- if(log.isDebugEnabled()) {
-
- log.debug("MemberContext [id]: "+memberId+" removed from information model.");
- }
- iterator.remove();
- }
- }
-
- clusterIdToMemberContext.put(clusterId, newCtxts);
- }
-
- stopTask(memberIdToScheduledTask.remove(memberId));
-
- return returnedCtxt;
-
- }
-
- private void stopTask(ScheduledFuture<?> task) {
- if (task != null) {
-
- task.cancel(true);
- log.info("Scheduled Pod Activation Watcher task canceled.");
- }
- }
-
- public MemberContext getMemberContextOfMemberId(String memberId) {
- return memberIdToContext.get(memberId);
- }
-
- public List<MemberContext> getMemberContextsOfClusterId(String clusterId) {
- return clusterIdToMemberContext.get(clusterId);
- }
-
- public Map<String, List<MemberContext>> getClusterIdToMemberContext() {
- return clusterIdToMemberContext;
- }
-
- public void setClusterIdToMemberContext(Map<String, List<MemberContext>> clusterIdToMemberContext) {
- this.clusterIdToMemberContext = clusterIdToMemberContext;
- }
-
- public Map<String, MemberContext> getMemberIdToContext() {
- return memberIdToContext;
- }
-
- public void setMemberIdToContext(Map<String, MemberContext> memberIdToContext) {
- this.memberIdToContext = memberIdToContext;
- }
-
- public void addClusterContext(ClusterContext ctxt) {
- clusterIdToContext.put(ctxt.getClusterId(), ctxt);
- }
-
- public ClusterContext getClusterContext(String clusterId) {
- return clusterIdToContext.get(clusterId);
- }
-
- public ClusterContext removeClusterContext(String clusterId) {
- return clusterIdToContext.remove(clusterId);
- }
-
- public Map<String, ClusterContext> getClusterIdToContext() {
- return clusterIdToContext;
- }
-
- public void setClusterIdToContext(Map<String, ClusterContext> clusterIdToContext) {
- this.clusterIdToContext = clusterIdToContext;
- }
-
- public ExecutorService getExecutor() {
- return executor;
- }
-
- public void setExecutor(ExecutorService executor) {
- this.executor = executor;
- }
-
- public Map<String, List<String>> getCartridgeTypeToPartitionIds() {
- return cartridgeTypeToPartitionIds;
- }
-
- public void setCartridgeTypeToPartitionIds(
- Map<String, List<String>> cartridgeTypeToPartitionIds) {
- this.cartridgeTypeToPartitionIds = cartridgeTypeToPartitionIds;
- }
-
- public void addToCartridgeTypeToPartitionIdMap(String cartridgeType, String partitionId) {
- List<String> list = this.cartridgeTypeToPartitionIds.get(cartridgeType);
-
- if(list == null) {
- list = new ArrayList<String>();
- }
-
- list.add(partitionId);
- this.cartridgeTypeToPartitionIds.put(cartridgeType, list);
- }
-
- public void removeFromCartridgeTypeToPartitionIds(String cartridgeType) {
- this.cartridgeTypeToPartitionIds.remove(cartridgeType);
- }
-
- public Map<String, KubernetesClusterContext> getKubClusterIdToKubClusterContext() {
- return kubClusterIdToKubClusterContext;
- }
-
- public KubernetesClusterContext getKubernetesClusterContext(String kubClusterId) {
- return kubClusterIdToKubClusterContext.get(kubClusterId);
- }
-
- public void addKubernetesClusterContext(KubernetesClusterContext ctxt) {
- this.kubClusterIdToKubClusterContext.put(ctxt.getKubernetesClusterId(), ctxt);
- }
-
- public void setKubClusterIdToKubClusterContext(
- Map<String, KubernetesClusterContext> kubClusterIdToKubClusterContext) {
- this.kubClusterIdToKubClusterContext = kubClusterIdToKubClusterContext;
- }
-
- public Map<String, ScheduledFuture<?>> getMemberIdToScheduledTask() {
- return memberIdToScheduledTask;
- }
-
- public void setMemberIdToScheduledTask(Map<String, ScheduledFuture<?>> memberIdToScheduledTask) {
- this.memberIdToScheduledTask = memberIdToScheduledTask;
- }
-
-}
\ No newline at end of file