Hi Devs,

I was working on refining the cartridge classes in cloud controller. The
plan is to merge CartridgeConfig and CartridgeInfo classes into Cartridge
class in the cloud controller.

Since we cannot use Java Collection or complex data types when returning
data from Axis2 POJO Web Service Objects and WSDL doesn't allow Java
Collection data structures, all the following list attributes are turned
into arrays of objects.

   - private List<PortMapping> portMappings;
   - private List<AppType> appTypeMappings;
   - private List<IaasProvider> iaases;
   - private List<String> deploymentDirs;

Also the Cartridge class consists 2 Map attributes as listed below.

   - private Map<String, String> properties;

properties will be turned from Map attribute to
private org.apache.stratos.common.Properties properties;

   - private Map<String, IaasProvider> partitionToIaasProvider;

partitionToIaasProvider is moved into the CloudControllerContext class as

/**
 * Key - cartridge id (cartridge type is used as an unique identifier)
 * Value - Inner Key - partition id
 * Value - Inner Value - Corresponding IaasProvider.
 */
private Map<String, Map<String, IaasProvider>>
partitionToIaasProviderByCartridge;


Also there is limitation from Axis2(axis2_1.6.1.wso2v10) in using
Enumerations, therefore the data type of loadBalancingIPType has be changed
from LoadBalancingIPType enumerations to a String.

Since the Cartridge consists information of list of IaasProvider, wsdl is
exposing some jcloud dependencies which are used in the IaasProvider.

   - import org.jclouds.compute.ComputeService;
   - import org.jclouds.compute.domain.Template;

Currently working on making the dependency of jclouds loosely coupled in
the IaasProvider.

Thank you,
Vishanth

-- 
*Vishanth Balasubramaniam*
Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: *+94771737718*
about me: *http://about.me/vishanth <http://about.me/vishanth>*

Reply via email to