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/11/28 17:03:40 UTC
[4/8] git commit: more refactoring to CC
more refactoring to CC
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2eaac66e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2eaac66e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2eaac66e
Branch: refs/heads/master
Commit: 2eaac66e2aa617048f04829979b25e4089003743
Parents: 99f9951
Author: Nirmal Fernando <ni...@apache.org>
Authored: Thu Nov 28 21:26:00 2013 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Thu Nov 28 21:26:00 2013 +0530
----------------------------------------------------------------------
.../org.apache.stratos.cloud.controller/pom.xml | 4 +-
.../axiom/parser/CartridgeConfigParser.java | 11 +-
.../parser/CloudControllerConfigParser.java | 6 +-
.../axiom/parser/IaasProviderConfigParser.java | 2 +-
.../axiom/parser/ServiceConfigParser.java | 12 +-
.../controller/deployers/CartridgeDeployer.java | 7 +-
.../deployers/CloudControllerDeployer.java | 2 +-
.../controller/deployers/ServiceDeployer.java | 2 +-
.../exception/InvalidIaasProviderException.java | 2 +-
.../cloud/controller/iaases/AWSEC2Iaas.java | 2 +-
.../controller/iaases/OpenstackNovaIaas.java | 2 +-
.../cloud/controller/iaases/VCloudIaas.java | 2 +-
.../impl/CloudControllerServiceImpl.java | 12 +-
.../interfaces/CloudControllerService.java | 12 +-
.../cloud/controller/interfaces/Iaas.java | 2 +-
.../jcloud/ComputeServiceBuilderUtil.java | 3 +-
.../stratos/cloud/controller/pojo/AppType.java | 62 +++
.../cloud/controller/pojo/Cartridge.java | 288 ++++++++++++++
.../cloud/controller/pojo/CartridgeInfo.java | 163 ++++++++
.../controller/pojo/CartridgeInstanceData.java | 130 +++++++
.../controller/pojo/DataPublisherConfig.java | 82 ++++
.../stratos/cloud/controller/pojo/Host.java | 73 ++++
.../cloud/controller/pojo/IaasContext.java | 162 ++++++++
.../cloud/controller/pojo/IaasProvider.java | 271 +++++++++++++
.../cloud/controller/pojo/LocationScope.java | 70 ++++
.../cloud/controller/pojo/PortMapping.java | 64 ++++
.../stratos/cloud/controller/pojo/Region.java | 125 ++++++
.../cloud/controller/pojo/Registrant.java | 2 -
.../cloud/controller/pojo/ServiceContext.java | 366 ++++++++++++++++++
.../cloud/controller/pojo/TopologyConfig.java | 59 +++
.../stratos/cloud/controller/pojo/Zone.java | 90 +++++
.../CartridgeInstanceDataPublisherTask.java | 5 +
.../runtime/FasterLookUpDataHolder.java | 5 +
.../controller/topology/TopologyBuilder.java | 43 +--
.../topology/TopologyEventSender.java | 29 +-
.../stratos/cloud/controller/util/AppType.java | 62 ---
.../cloud/controller/util/Cartridge.java | 288 --------------
.../cloud/controller/util/CartridgeInfo.java | 165 --------
.../controller/util/CartridgeInstanceData.java | 130 -------
.../controller/util/CloudControllerUtil.java | 10 +-
.../controller/util/DataPublisherConfig.java | 80 ----
.../stratos/cloud/controller/util/Host.java | 73 ----
.../cloud/controller/util/IaasContext.java | 162 --------
.../cloud/controller/util/IaasProvider.java | 271 -------------
.../cloud/controller/util/LocationScope.java | 70 ----
.../cloud/controller/util/PortMapping.java | 64 ----
.../stratos/cloud/controller/util/Region.java | 125 ------
.../cloud/controller/util/ServiceContext.java | 382 -------------------
.../cloud/controller/util/TopologyConfig.java | 59 ---
.../stratos/cloud/controller/util/Zone.java | 90 -----
.../validate/AWSEC2PartitionValidator.java | 2 +-
.../OpenstackNovaPartitionValidator.java | 2 +-
.../validate/interfaces/PartitionValidator.java | 2 +-
.../service/util/ServiceContextTest.java | 3 +-
54 files changed, 2108 insertions(+), 2104 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/pom.xml b/components/org.apache.stratos.cloud.controller/pom.xml
index b9d369b..92bf1ca 100644
--- a/components/org.apache.stratos.cloud.controller/pom.xml
+++ b/components/org.apache.stratos.cloud.controller/pom.xml
@@ -54,7 +54,7 @@
org.apache.stratos.cloud.controller.publisher.*,
org.apache.stratos.cloud.controller.topic.*,
org.apache.stratos.cloud.controller.iaases.*,
- org.apache.stratos.cloud.controller.util.*,
+ org.apache.stratos.cloud.controller.pojo.*,
org.apache.stratos.cloud.controller.deployers.*,
org.apache.stratos.cloud.controller.exception.*,
</Export-Package>
@@ -63,7 +63,7 @@
!org.apache.stratos.cloud.controller.publisher.*,
!org.apache.stratos.cloud.controller.topic.*,
!org.apache.stratos.cloud.controller.iaases.*,
- !org.apache.stratos.cloud.controller.util.*,
+ !org.apache.stratos.cloud.controller.pojo.*,
!org.apache.stratos.cloud.controller.deployers.*,
!org.apache.stratos.cloud.controller.exception.*,
org.apache.stratos.cloud.controller.*,
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CartridgeConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CartridgeConfigParser.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CartridgeConfigParser.java
index 0195fc4..911adc0 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CartridgeConfigParser.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CartridgeConfigParser.java
@@ -21,6 +21,7 @@ package org.apache.stratos.cloud.controller.axiom.parser;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMElement;
@@ -29,12 +30,12 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
+import org.apache.stratos.cloud.controller.pojo.AppType;
+import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PortMapping;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.AppType;
-import org.apache.stratos.cloud.controller.util.Cartridge;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
-import org.apache.stratos.cloud.controller.util.PortMapping;
/**
* Parse the cartridge definition files.
@@ -322,7 +323,7 @@ public class CartridgeConfigParser {
/**
* @param cartridgeElementString Cartridges section as a {@link String}
- * @param aCartridge {@link org.apache.stratos.cloud.controller.util.Cartridge} instance.
+ * @param aCartridge {@link org.apache.stratos.cloud.controller.pojo.Cartridge} instance.
* @param appTypesNodes nodes of App types.
*/
private static void getAppTypes(final String fileName, String cartridgeElementString, Cartridge aCartridge,
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CloudControllerConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CloudControllerConfigParser.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CloudControllerConfigParser.java
index e90ccd3..9b2cb5e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CloudControllerConfigParser.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/CloudControllerConfigParser.java
@@ -31,11 +31,11 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
+import org.apache.stratos.cloud.controller.pojo.DataPublisherConfig;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.TopologyConfig;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.DataPublisherConfig;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
-import org.apache.stratos.cloud.controller.util.TopologyConfig;
import org.wso2.securevault.SecretResolver;
import org.wso2.securevault.SecretResolverFactory;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/IaasProviderConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/IaasProviderConfigParser.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/IaasProviderConfigParser.java
index 4038314..ef759f5 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/IaasProviderConfigParser.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/IaasProviderConfigParser.java
@@ -29,8 +29,8 @@ import org.apache.axiom.om.OMNode;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
import org.wso2.securevault.SecretResolver;
import org.wso2.securevault.SecretResolverFactory;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/ServiceConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/ServiceConfigParser.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/ServiceConfigParser.java
index 2c335ae..540ec2c 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/ServiceConfigParser.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/axiom/parser/ServiceConfigParser.java
@@ -31,13 +31,13 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
+import org.apache.stratos.cloud.controller.pojo.AppType;
+import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.PortMapping;
+import org.apache.stratos.cloud.controller.pojo.ServiceContext;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.AppType;
-import org.apache.stratos.cloud.controller.util.Cartridge;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
-import org.apache.stratos.cloud.controller.util.PortMapping;
-import org.apache.stratos.cloud.controller.util.ServiceContext;
/**
* Parse the cartridge definition files.
@@ -504,7 +504,7 @@ public class ServiceConfigParser {
* @param cartridgeElementString
* Cartridges section as a {@link String}
* @param aCartridge
- * {@link org.apache.stratos.cloud.controller.util.Cartridge} instance.
+ * {@link org.apache.stratos.cloud.controller.pojo.Cartridge} instance.
* @param appTypesNodes
* nodes of App types.
*/
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CartridgeDeployer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CartridgeDeployer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CartridgeDeployer.java
index 863d508..d2c50fa 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CartridgeDeployer.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CartridgeDeployer.java
@@ -32,6 +32,11 @@ import org.apache.stratos.cloud.controller.concurrent.ThreadExecutor;
import org.apache.stratos.cloud.controller.exception.CloudControllerException;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
import org.apache.stratos.cloud.controller.interfaces.Iaas;
+import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.Host;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.Region;
+import org.apache.stratos.cloud.controller.pojo.Zone;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
import org.apache.stratos.cloud.controller.util.*;
@@ -44,7 +49,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
- * All the {@link org.apache.stratos.cloud.controller.util.Cartridge}s will get deployed / undeployed / updated via this class.
+ * All the {@link org.apache.stratos.cloud.controller.pojo.Cartridge}s will get deployed / undeployed / updated via this class.
*/
public class CartridgeDeployer extends AbstractDeployer{
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CloudControllerDeployer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CloudControllerDeployer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CloudControllerDeployer.java
index 34b652a..82ffddb 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CloudControllerDeployer.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/CloudControllerDeployer.java
@@ -28,8 +28,8 @@ import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.axiom.AxiomXpathParser;
import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
import org.apache.stratos.cloud.controller.axiom.parser.CloudControllerConfigParser;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
import java.util.ArrayList;
import java.util.List;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/ServiceDeployer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/ServiceDeployer.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/ServiceDeployer.java
index a0418ae..2875ce5 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/ServiceDeployer.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/deployers/ServiceDeployer.java
@@ -30,8 +30,8 @@ import org.apache.stratos.cloud.controller.axiom.AxiomXpathParserUtil;
import org.apache.stratos.cloud.controller.axiom.parser.ServiceConfigParser;
import org.apache.stratos.cloud.controller.exception.MalformedConfigurationFileException;
import org.apache.stratos.cloud.controller.topology.TopologyBuilder;
+import org.apache.stratos.cloud.controller.pojo.ServiceContext;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
-import org.apache.stratos.cloud.controller.util.ServiceContext;
import org.wso2.carbon.utils.CarbonUtils;
import java.io.File;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/InvalidIaasProviderException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/InvalidIaasProviderException.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/InvalidIaasProviderException.java
index ee98f0e..be61028 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/InvalidIaasProviderException.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/InvalidIaasProviderException.java
@@ -18,7 +18,7 @@
*/
package org.apache.stratos.cloud.controller.exception;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
/**
* Throws when a {@link IaasProvider} is evaluated to be invalid.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
index a591607..d79c266 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/AWSEC2Iaas.java
@@ -30,9 +30,9 @@ import org.apache.stratos.cloud.controller.exception.InvalidRegionException;
import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
import org.apache.stratos.cloud.controller.interfaces.Iaas;
import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
import org.apache.stratos.cloud.controller.validate.AWSEC2PartitionValidator;
import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
index 07f7aff..6e445a3 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/OpenstackNovaIaas.java
@@ -31,9 +31,9 @@ import org.apache.stratos.cloud.controller.exception.InvalidRegionException;
import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
import org.apache.stratos.cloud.controller.interfaces.Iaas;
import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
import org.apache.stratos.cloud.controller.validate.OpenstackNovaPartitionValidator;
import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
import org.jclouds.compute.ComputeServiceContext;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
index 6b2951a..ec5d69d 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/VCloudIaas.java
@@ -24,7 +24,7 @@ import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.exception.CloudControllerException;
import org.apache.stratos.cloud.controller.interfaces.Iaas;
import org.apache.stratos.cloud.controller.jcloud.ComputeServiceBuilderUtil;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
import org.jclouds.compute.domain.NodeMetadata;
import org.jclouds.compute.domain.Template;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
index c259f73..b6aed38 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/impl/CloudControllerServiceImpl.java
@@ -24,6 +24,9 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.cloud.controller.concurrent.ThreadExecutor;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.deployment.partition.PartitionGroup;
+import org.apache.stratos.cloud.controller.deployment.policy.DeploymentPolicy;
import org.apache.stratos.cloud.controller.exception.CloudControllerException;
import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
import org.apache.stratos.cloud.controller.exception.InvalidClusterException;
@@ -34,9 +37,14 @@ import org.apache.stratos.cloud.controller.exception.UnregisteredClusterExceptio
import org.apache.stratos.cloud.controller.interfaces.CloudControllerService;
import org.apache.stratos.cloud.controller.interfaces.Iaas;
import org.apache.stratos.cloud.controller.persist.Deserializer;
+import org.apache.stratos.cloud.controller.pojo.Cartridge;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.ClusterContext;
+import org.apache.stratos.cloud.controller.pojo.IaasContext;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.pojo.MemberContext;
import org.apache.stratos.cloud.controller.pojo.Registrant;
+import org.apache.stratos.cloud.controller.pojo.ServiceContext;
import org.apache.stratos.cloud.controller.publisher.CartridgeInstanceDataPublisherTask;
import org.apache.stratos.cloud.controller.registry.RegistryManager;
import org.apache.stratos.cloud.controller.runtime.FasterLookUpDataHolder;
@@ -46,9 +54,6 @@ import org.apache.stratos.cloud.controller.topology.TopologyEventMessageDelegato
import org.apache.stratos.cloud.controller.topology.TopologyManager;
import org.apache.stratos.cloud.controller.util.*;
import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
-import org.apache.stratos.messaging.domain.policy.DeploymentPolicy;
-import org.apache.stratos.messaging.domain.policy.Partition;
-import org.apache.stratos.messaging.domain.policy.PartitionGroup;
import org.jclouds.compute.ComputeService;
import org.jclouds.compute.domain.ComputeMetadata;
import org.jclouds.compute.domain.NodeMetadata;
@@ -1378,7 +1383,6 @@ public class CloudControllerServiceImpl implements CloudControllerService {
validator.setIaasProvider(iaasProvider);
validator.validate(partition.getId(),
CloudControllerUtil.toJavaUtilProperties(partition.getProperties()));
- TopologyBuilder.handlePartitionCreated(partition);
return true;
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
index 9494007..bae0922 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/CloudControllerService.java
@@ -18,16 +18,16 @@
*/
package org.apache.stratos.cloud.controller.interfaces;
+import org.apache.stratos.cloud.controller.deployment.partition.Partition;
+import org.apache.stratos.cloud.controller.deployment.policy.DeploymentPolicy;
import org.apache.stratos.cloud.controller.exception.InvalidCartridgeTypeException;
import org.apache.stratos.cloud.controller.exception.InvalidClusterException;
import org.apache.stratos.cloud.controller.exception.InvalidMemberException;
import org.apache.stratos.cloud.controller.exception.InvalidPartitionException;
import org.apache.stratos.cloud.controller.exception.UnregisteredCartridgeException;
import org.apache.stratos.cloud.controller.exception.UnregisteredClusterException;
+import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.Registrant;
-import org.apache.stratos.cloud.controller.util.CartridgeInfo;
-import org.apache.stratos.messaging.domain.policy.DeploymentPolicy;
-import org.apache.stratos.messaging.domain.policy.Partition;
/**
* This API provides a way to communicate with underline
@@ -177,7 +177,7 @@ public interface CloudControllerService {
*
* @param cartridgeType
* type of the cartridge.
- * @return {@link org.apache.stratos.cloud.controller.util.CartridgeInfo} of the given cartridge type or <code>null</code>.
+ * @return {@link org.apache.stratos.cloud.controller.pojo.CartridgeInfo} of the given cartridge type or <code>null</code>.
* @throws UnregisteredCartridgeException if there is no registered cartridge with this type.
*/
public CartridgeInfo getCartridgeInfo(String cartridgeType) throws UnregisteredCartridgeException;
@@ -194,10 +194,10 @@ public interface CloudControllerService {
// public int getPendingInstanceCount(String clusterId);
/**
- * Calling this method will result in returning the types of {@link org.apache.stratos.cloud.controller.util.Cartridge}s
+ * Calling this method will result in returning the types of {@link org.apache.stratos.cloud.controller.pojo.Cartridge}s
* registered in Cloud Controller.
*
- * @return String array containing types of registered {@link org.apache.stratos.cloud.controller.util.Cartridge}s.
+ * @return String array containing types of registered {@link org.apache.stratos.cloud.controller.pojo.Cartridge}s.
*/
public String[] getRegisteredCartridges();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
index e652cf2..31b2ca4 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/interfaces/Iaas.java
@@ -24,7 +24,7 @@ import org.jclouds.compute.domain.Template;
import org.apache.stratos.cloud.controller.exception.InvalidHostException;
import org.apache.stratos.cloud.controller.exception.InvalidRegionException;
import org.apache.stratos.cloud.controller.exception.InvalidZoneException;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
+import org.apache.stratos.cloud.controller.pojo.IaasProvider;
import org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
/**
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/jcloud/ComputeServiceBuilderUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/jcloud/ComputeServiceBuilderUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/jcloud/ComputeServiceBuilderUtil.java
index 7b27f9a..0beba42 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/jcloud/ComputeServiceBuilderUtil.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/jcloud/ComputeServiceBuilderUtil.java
@@ -20,11 +20,12 @@ package org.apache.stratos.cloud.controller.jcloud;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Module;
+
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.IaasProvider;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
-import org.apache.stratos.cloud.controller.util.IaasProvider;
import org.jclouds.ContextBuilder;
import org.jclouds.compute.ComputeServiceContext;
import org.jclouds.enterprise.config.EnterpriseConfigurationModule;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/AppType.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/AppType.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/AppType.java
new file mode 100644
index 0000000..135a695
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/AppType.java
@@ -0,0 +1,62 @@
+/*
+ * 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;
+
+/**
+ * domain mapping related data.
+ *
+ */
+public class AppType implements Serializable{
+
+ private static final long serialVersionUID = 3550489774139807168L;
+ private String name;
+ private boolean appSpecificMapping = true;
+
+ public AppType(){
+
+ }
+
+ public AppType(String name){
+ this.setName(name);
+ }
+
+ public AppType(String name, boolean appSpecificMapping){
+ this.setName(name);
+ this.setAppSpecificMapping(appSpecificMapping);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public boolean isAppSpecificMapping() {
+ return appSpecificMapping;
+ }
+
+ public void setAppSpecificMapping(boolean appSpecificMapping) {
+ this.appSpecificMapping = appSpecificMapping;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
new file mode 100644
index 0000000..0062403
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Cartridge.java
@@ -0,0 +1,288 @@
+/*
+ * 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.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.commons.lang.builder.HashCodeBuilder;
+
+/**
+ * Holds information regarding a Cartridge.
+ */
+public class Cartridge implements Serializable{
+
+ private static final long serialVersionUID = 6637409027085059072L;
+
+ private String type;
+
+ private String hostName;
+
+ private String provider;
+
+ private String displayName;
+
+ private String description;
+
+ private String baseDir;
+
+ private String version;
+
+ private boolean multiTenant;
+
+ private List<PortMapping> portMappings = new ArrayList<PortMapping>();
+
+ private List<AppType> appTypeMappings = new ArrayList<AppType>();
+
+ /**
+ * Property map of this Cartridge.
+ */
+ private Map<String, String> properties = new HashMap<String, String>();
+
+ /**
+ * A Cartridge can have 1..n {@link IaasProvider}s
+ */
+ private List<IaasProvider> iaases = new ArrayList<IaasProvider>();
+
+ private List<String> deploymentDirs = new ArrayList<String>();
+
+ private IaasProvider lastlyUsedIaas;
+
+ /**
+ * Key - partition id
+ * Value - Corresponding IaasProvider.
+ */
+ private Map<String, IaasProvider> partitionToIaasProvider = new ConcurrentHashMap<String, IaasProvider>();
+
+ public Cartridge(){}
+
+ public Cartridge(String type, String host, String provider, String version, boolean multiTenant) {
+ this.type = type;
+ this.hostName = host;
+ this.provider = provider;
+ this.version = version;
+ this.multiTenant = multiTenant;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public void addIaasProvider(String partitionId, IaasProvider iaasProvider) {
+ partitionToIaasProvider.put(partitionId, iaasProvider);
+ }
+
+ public void addIaasProviders(Map<String, IaasProvider> map) {
+ for (Iterator<String> iterator = map.keySet().iterator(); iterator.hasNext();) {
+ String key = (String) iterator.next();
+ IaasProvider value = map.get(key);
+
+ partitionToIaasProvider.put(key, value);
+ }
+ }
+
+ public IaasProvider getIaasProviderOfPartition(String partitionId) {
+ return partitionToIaasProvider.get(partitionId);
+ }
+
+ public Map<String, String> getProperties() {
+ return properties;
+ }
+
+ public String getProperty(String key) {
+ return properties.get(key);
+ }
+
+ public void setProperties(Map<String, String> properties) {
+ this.properties = properties;
+ }
+
+ public void addIaasProvider(IaasProvider iaas) {
+ for (IaasProvider anIaas : iaases) {
+ if(anIaas.equals(iaas)){
+ int idx = iaases.indexOf(anIaas);
+ iaases.remove(idx);
+ iaases.add(idx, iaas);
+ return;
+ }
+ }
+ this.iaases.add(iaas);
+ }
+
+ public IaasProvider getIaasProvider(String iaasType){
+ for (IaasProvider iaas : iaases) {
+ if(iaas.getType().equals(iaasType)){
+ return iaas;
+ }
+ }
+
+ return null;
+ }
+
+ public List<IaasProvider> getIaases() {
+ return iaases;
+ }
+
+ public void setIaases(List<IaasProvider> iaases) {
+ this.iaases = iaases;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof Cartridge) {
+ return this.type.equals(((Cartridge)obj).getType());
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ return new HashCodeBuilder(17, 31). // two randomly chosen prime numbers
+ append(type).
+ toHashCode();
+ }
+
+ public IaasProvider getLastlyUsedIaas() {
+ return lastlyUsedIaas;
+ }
+
+ public void setLastlyUsedIaas(IaasProvider lastlyUsedIaas) {
+ this.lastlyUsedIaas = lastlyUsedIaas;
+ }
+
+// public boolean isJcloudsObjectsBuilt() {
+// return isJcloudsObjectsBuilt;
+// }
+//
+// public void setJcloudsObjectsBuilt(boolean isJcloudsObjectsBuilt) {
+// this.isJcloudsObjectsBuilt = isJcloudsObjectsBuilt;
+// }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getHostName() {
+ return hostName;
+ }
+
+ public void setHostName(String hostName) {
+ this.hostName = hostName;
+ }
+
+ public void reset(){
+// lastlyUsedIaas = null;
+ }
+
+ public List<String> getDeploymentDirs() {
+ return deploymentDirs;
+ }
+
+ public void setDeploymentDirs(List<String> deploymentDirs) {
+ this.deploymentDirs = deploymentDirs;
+ }
+
+ public void addDeploymentDir(String dir){
+ deploymentDirs.add(dir);
+ }
+
+ public void addPortMapping(PortMapping mapping){
+ portMappings.add(mapping);
+ }
+
+ public void addAppType(AppType type){
+ appTypeMappings.add(type);
+ }
+
+ public String getProvider() {
+ return provider;
+ }
+
+ public void setProvider(String provider) {
+ this.provider = provider;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public boolean isMultiTenant() {
+ return multiTenant;
+ }
+
+ public void setMultiTenant(boolean multiTenant) {
+ this.multiTenant = multiTenant;
+ }
+
+ public String getBaseDir() {
+ return baseDir;
+ }
+
+ public void setBaseDir(String baseDir) {
+ this.baseDir = baseDir;
+ }
+
+ public List<PortMapping> getPortMappings() {
+ return portMappings;
+ }
+
+ public void setPortMappings(List<PortMapping> portMappings) {
+ this.portMappings = portMappings;
+ }
+
+ public List<AppType> getAppTypeMappings() {
+ return appTypeMappings;
+ }
+
+ public void setAppTypeMappings(List<AppType> appTypeMappings) {
+ this.appTypeMappings = appTypeMappings;
+ }
+
+ public Map<String, IaasProvider> getPartitionToIaasProvider() {
+ return partitionToIaasProvider;
+ }
+
+ public void setPartitionToIaasProvider(Map<String, IaasProvider> partitionToIaasProvider) {
+ this.partitionToIaasProvider = partitionToIaasProvider;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java
new file mode 100644
index 0000000..1121c4e
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInfo.java
@@ -0,0 +1,163 @@
+/*
+ * 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.util.ArrayList;
+import java.util.List;
+
+/**
+ * Holds useful information for externals, regarding a Cartridge.
+ */
+public class CartridgeInfo {
+
+ private String type;
+
+ private String hostName;
+
+ private String displayName;
+
+ private String description;
+
+ private String[] deploymentDirs;
+
+ private PortMapping[] portMappings;
+
+ private AppType[] appTypes;
+
+ private String provider;
+
+ private String version;
+
+ private boolean multiTenant;
+
+ private String baseDir;
+
+ private Property[] properties;
+
+ public CartridgeInfo(){
+
+ }
+
+ public CartridgeInfo(String type, String host, String desc, List<String> deploymentDirs, String provider) {
+ this.type = type;
+ this.hostName = host;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getHostName() {
+ return hostName;
+ }
+
+ public void setHostName(String hostName) {
+ this.hostName = hostName;
+ }
+
+ public String[] getDeploymentDirs() {
+ return deploymentDirs;
+ }
+
+ public void setDeploymentDirs(List<String> deploymentDirsList) {
+ if(deploymentDirsList == null){
+ deploymentDirsList = new ArrayList<String>();
+ }
+ this.deploymentDirs = new String[deploymentDirsList.size()];
+
+ deploymentDirsList.toArray(deploymentDirs);
+
+ }
+
+ public String getProvider() {
+ return provider;
+ }
+
+ public void setProvider(String provider) {
+ this.provider = provider;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public boolean isMultiTenant() {
+ return multiTenant;
+ }
+
+ public void setMultiTenant(boolean multiTenant) {
+ this.multiTenant = multiTenant;
+ }
+
+ public String getBaseDir() {
+ return baseDir;
+ }
+
+ public void setBaseDir(String baseDir) {
+ this.baseDir = baseDir;
+ }
+
+ public PortMapping[] getPortMappings() {
+ return portMappings;
+ }
+
+ public void setPortMappings(PortMapping[] portMappings) {
+ this.portMappings = portMappings;
+ }
+
+ public AppType[] getAppTypes() {
+ return appTypes;
+ }
+
+ public void setAppTypes(AppType[] appTypes) {
+ this.appTypes = appTypes;
+ }
+
+ public Property[] getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Property[] properties) {
+ this.properties = properties;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInstanceData.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInstanceData.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInstanceData.java
new file mode 100644
index 0000000..a08d032
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/CartridgeInstanceData.java
@@ -0,0 +1,130 @@
+/*
+ * 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.jclouds.compute.domain.NodeMetadata;
+
+/**
+ * This class holds the data to be published to BAM.
+ */
+public class CartridgeInstanceData {
+
+ // Cartridge type
+ private String type;
+
+ private String nodeId;
+
+ private String domain;
+
+ private String subDomain;
+
+ private String iaas;
+
+ private String status;
+
+ private String tenantRange;
+
+ private String alias;
+
+ private boolean isMultiTenant;
+
+ private NodeMetadata metaData;
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public String getNodeId() {
+ return nodeId;
+ }
+
+ public void setNodeId(String nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public String getSubDomain() {
+ return subDomain;
+ }
+
+ public void setSubDomain(String subDomain) {
+ this.subDomain = subDomain;
+ }
+
+ public String getIaas() {
+ return iaas;
+ }
+
+ public void setIaas(String iaas) {
+ this.iaas = iaas;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public NodeMetadata getMetaData() {
+ return metaData;
+ }
+
+ public void setMetaData(NodeMetadata metaData) {
+ this.metaData = metaData;
+ }
+
+ public String getTenantRange() {
+ return tenantRange;
+ }
+
+ public void setTenantRange(String tenantRange) {
+ this.tenantRange = tenantRange;
+ }
+
+ public boolean isMultiTenant() {
+ return isMultiTenant;
+ }
+
+ public void setMultiTenant(boolean isMultiTenant) {
+ this.isMultiTenant = isMultiTenant;
+ }
+
+ public String getAlias() {
+ return alias;
+ }
+
+ public void setAlias(String alias) {
+ this.alias = alias;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/DataPublisherConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/DataPublisherConfig.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/DataPublisherConfig.java
new file mode 100644
index 0000000..9e35926
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/DataPublisherConfig.java
@@ -0,0 +1,82 @@
+/*
+ * 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.cloud.controller.util.CloudControllerConstants;
+
+/**
+ * @author nirmal
+ *
+ */
+public class DataPublisherConfig {
+
+ private String bamUsername = CloudControllerConstants.DEFAULT_BAM_SERVER_USER_NAME;
+ private String bamPassword = CloudControllerConstants.DEFAULT_BAM_SERVER_PASSWORD;
+ private String dataPublisherCron = CloudControllerConstants.PUB_CRON_EXPRESSION;
+ private String cassandraConnUrl = CloudControllerConstants.DEFAULT_CASSANDRA_URL;
+ private String cassandraUser = CloudControllerConstants.DEFAULT_CASSANDRA_USER;
+ private String cassandraPassword = CloudControllerConstants.DEFAULT_CASSANDRA_PASSWORD;
+
+ public String getBamUsername() {
+ return bamUsername;
+ }
+
+ public void setBamUsername(String bamUsername) {
+ this.bamUsername = bamUsername;
+ }
+
+ public String getBamPassword() {
+ return bamPassword;
+ }
+
+ public void setBamPassword(String bamPassword) {
+ this.bamPassword = bamPassword;
+ }
+
+ public String getDataPublisherCron() {
+ return dataPublisherCron;
+ }
+
+ public void setDataPublisherCron(String dataPublisherCron) {
+ this.dataPublisherCron = dataPublisherCron;
+ }
+ public String getCassandraConnUrl() {
+ return cassandraConnUrl;
+ }
+
+ public void setCassandraConnUrl(String cassandraHostAddr) {
+ this.cassandraConnUrl = cassandraHostAddr;
+ }
+
+ public String getCassandraUser() {
+ return cassandraUser;
+ }
+
+ public void setCassandraUser(String cassandraUser) {
+ this.cassandraUser = cassandraUser;
+ }
+
+ public String getCassandraPassword() {
+ return cassandraPassword;
+ }
+
+ public void setCassandraPassword(String cassandraPassword) {
+ this.cassandraPassword = cassandraPassword;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Host.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Host.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Host.java
new file mode 100644
index 0000000..f8d586b
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Host.java
@@ -0,0 +1,73 @@
+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.Map;
+
+public class Host extends Zone {
+ private String id;
+ private String type;
+ 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 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/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasContext.java
new file mode 100644
index 0000000..b5d8e95
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasContext.java
@@ -0,0 +1,162 @@
+/*
+ * 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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jclouds.compute.domain.NodeMetadata;
+
+/**
+ *
+ * Holds runtime data of an IaaS
+ */
+public class IaasContext implements Serializable{
+
+ private static final long serialVersionUID = 3370272526949562217L;
+
+ private String type;
+
+ private List<String> nodeIds;
+
+ /**
+ * Key - node id
+ * Value - public ip
+ */
+ private Map<String, String> nodeToPublicIp;
+
+ /**
+ * Key - node id
+ * Value - NodeMetadata object which has information on this node.
+ */
+ private transient Map<String, NodeMetadata> nodes;
+
+ private List<String> toBeRemovedNodeIds;
+
+ public IaasContext(String iaasType) {
+ this.type = iaasType;
+ nodeToPublicIp = new HashMap<String, String>();
+ nodeIds = new ArrayList<String>();
+ nodes = new HashMap<String, NodeMetadata>();
+ toBeRemovedNodeIds = new ArrayList<String>();
+ }
+
+ public Map<String, String> getNodeToPublicIp() {
+ return nodeToPublicIp;
+ }
+
+ public Map<String, NodeMetadata> getNodes() {
+ return nodes;
+ }
+
+ public void setToBeRemovedNodeIds(List<String> list) {
+ this.toBeRemovedNodeIds = list;
+ }
+
+ public List<String> getAllNodeIds() {
+ List<String> allNodeIds = new ArrayList<String>(nodeIds);
+ allNodeIds.addAll(toBeRemovedNodeIds);
+ return allNodeIds;
+ }
+
+ public List<String> getNodeIds() {
+ return nodeIds;
+ }
+
+ public List<String> getToBeRemovedNodeIds() {
+ return toBeRemovedNodeIds;
+ }
+
+ public boolean didISpawn(String nodeId) {
+ if(nodeIds.contains(nodeId) || toBeRemovedNodeIds.contains(nodeId)){
+ return true;
+ }
+ return false;
+ }
+
+ public void addNodeId(String nodeId) {
+ nodeIds.add(nodeId);
+ }
+
+ public void addNodeToPublicIp(String nodeId, String publicIp) {
+ nodeToPublicIp.put(nodeId, publicIp);
+ }
+
+ public void addToBeRemovedNodeId(String nodeId) {
+ toBeRemovedNodeIds.add(nodeId);
+ }
+
+ public void removeNodeId(String nodeId) {
+ if(nodeIds.remove(nodeId)){
+ toBeRemovedNodeIds.add(nodeId);
+ }
+ }
+
+ public void removeToBeRemovedNodeId(String nodeId) {
+ toBeRemovedNodeIds.remove(nodeId);
+ }
+
+ public void setNodeIds(List<String> nodeIds) {
+ this.nodeIds = nodeIds;
+ }
+
+ public String lastlySpawnedNode() {
+ return nodeIds.get(nodeIds.size()-1);
+ }
+
+ public void addNodeMetadata(NodeMetadata node) {
+ if(nodes == null){
+ nodes = new HashMap<String, NodeMetadata>();
+ }
+ nodes.put(node.getId(), node);
+ }
+
+ public void removeNodeMetadata(NodeMetadata node) {
+ if (nodes != null) {
+ nodes.remove(node.getId());
+ }
+ }
+
+ public void removeNodeIdToPublicIp(String nodeId){
+ nodeToPublicIp.remove(nodeId);
+ }
+
+ public NodeMetadata getNode(String nodeId) {
+ if(nodes == null) {
+ return null;
+ }
+ return nodes.get(nodeId);
+ }
+
+ public String getPublicIp(String nodeId){
+ return nodeToPublicIp.get(nodeId);
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
new file mode 100644
index 0000000..bffd6cf
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/IaasProvider.java
@@ -0,0 +1,271 @@
+/*
+ * 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.stratos.cloud.controller.interfaces.Iaas;
+import org.jclouds.compute.ComputeService;
+import org.jclouds.compute.domain.Template;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * This is the basic data structure which holds an IaaS specific details.
+ * NOTE: If you add a new attribute, please assign it in the constructor too.
+ */
+public class IaasProvider implements Serializable{
+
+ private static final long serialVersionUID = -940288190885166118L;
+
+ /**
+ * Type of the IaasProvider.
+ */
+ private String type;
+
+ private List<Region> listOfRegions;
+
+ /**
+ * Fully qualified class name of an implementation of {@link org.apache.stratos.cloud.controller.interfaces.Iaas}
+ */
+ private String className;
+
+ /**
+ * human description of this IaaS provider
+ */
+ private String name;
+
+ /**
+ * Property map of this IaaS provider.
+ */
+ private Map<String, String> properties = new HashMap<String, String>();
+
+ /**
+ * Image identifier.
+ */
+ private String image;
+
+
+ /**
+ * Scale up order and scale down order of the IaaS.
+ */
+ private int scaleUpOrder = -1, scaleDownOrder = -1;
+
+ private String provider, identity, credential;
+
+ private transient ComputeService computeService;
+
+ private transient Template template;
+
+ private byte[] payload;
+
+ /**
+ * Corresponding {@link org.apache.stratos.cloud.controller.interfaces.Iaas} implementation
+ */
+ private transient Iaas iaas;
+
+ public IaasProvider(){}
+
+ public IaasProvider(IaasProvider anIaasProvider){
+ this.type = anIaasProvider.getType();
+ this.name = anIaasProvider.getName();
+ this.className = anIaasProvider.getClassName();
+ this.properties = anIaasProvider.getProperties();
+ this.image = anIaasProvider.getImage();
+ this.scaleUpOrder = anIaasProvider.getScaleUpOrder();
+ this.scaleDownOrder = anIaasProvider.getScaleDownOrder();
+ this.provider = anIaasProvider.getProvider();
+ this.identity = anIaasProvider.getIdentity();
+ this.credential = anIaasProvider.getCredential();
+ this.computeService = anIaasProvider.getComputeService();
+ this.template = anIaasProvider.getTemplate();
+ this.payload = anIaasProvider.getPayload();
+ this.iaas = anIaasProvider.getIaas();
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String id) {
+ this.type = id;
+ }
+
+ public String getProperty(String key) {
+ return properties.get(key);
+ }
+
+ public Map<String, String> getProperties() {
+ return properties;
+ }
+
+ public void setProperty(String key, String value) {
+
+ if(key != null && value != null){
+ properties.put(key, value);
+ }
+ }
+
+ public void setProperties(Map<String, String> properties) {
+ this.properties = properties;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+
+ public int getScaleUpOrder() {
+ return scaleUpOrder;
+ }
+
+ public void setScaleUpOrder(int scaleUpOrder) {
+ this.scaleUpOrder = scaleUpOrder;
+ }
+
+ public int getScaleDownOrder() {
+ return scaleDownOrder;
+ }
+
+ public void setScaleDownOrder(int scaleDownOrder) {
+ this.scaleDownOrder = scaleDownOrder;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getProvider() {
+ return provider;
+ }
+
+ public void setProvider(String provider) {
+ this.provider = provider;
+ }
+
+ public String getIdentity() {
+ return identity;
+ }
+
+ public void setIdentity(String identity) {
+ this.identity = identity;
+ }
+
+ public String 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 boolean equals(Object o) {
+ if(o instanceof IaasProvider){
+ return ((IaasProvider) o).getType().equals(this.getType());
+ }
+
+ return false;
+ }
+
+ public int hashCode() {
+ return new HashCodeBuilder(17, 31). // two randomly chosen prime numbers
+ append(type).
+ toHashCode();
+ }
+
+ public IaasProvider copy(){
+ return new IaasProvider(this);
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ public byte [] getPayload() {
+ return payload;
+ }
+
+ public void setPayload(byte[]payload) {
+ this.payload = payload;
+ }
+
+ public Iaas getIaas() {
+ return iaas;
+ }
+
+ public void setIaas(Iaas iaas) {
+ this.iaas = iaas;
+ }
+
+ public void reset(){
+// nodeIds = new ArrayList<String>();
+// nodes = new HashMap<String, NodeMetadata>();
+// toBeRemovedNodeIds = new ArrayList<String>();
+ }
+
+ /**
+ * Partition the IaaS using different region
+ */
+ public List<Region> getListOfRegions() {
+ return listOfRegions;
+ }
+
+ public void setListOfRegions(List<Region> listOfRegions) {
+ this.listOfRegions = listOfRegions;
+ }
+
+ public void addRegion(Region region) {
+ this.listOfRegions.add(region);
+ }
+
+ public void removeRegion(Region region) {
+ this.listOfRegions.remove(region);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/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
new file mode 100644
index 0000000..777cf3b
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/LocationScope.java
@@ -0,0 +1,70 @@
+/*
+ * 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/2eaac66e/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
new file mode 100644
index 0000000..65b52f7
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/PortMapping.java
@@ -0,0 +1,64 @@
+/*
+ * 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;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2eaac66e/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
new file mode 100644
index 0000000..fb1558f
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/pojo/Region.java
@@ -0,0 +1,125 @@
+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/2eaac66e/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
index 812abaf..4ef14cc 100644
--- 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
@@ -18,8 +18,6 @@
*/
package org.apache.stratos.cloud.controller.pojo;
-import org.apache.stratos.messaging.util.Properties;
-
/**
* Upon a new subscription, Stratos Manager would send this POJO.
* @author nirmal