upgrading jclouds version to 1.7

Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/5d5c3229
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/5d5c3229
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/5d5c3229

Branch: refs/heads/master
Commit: 5d5c322911df126e2ae04ebcf1cccaf3b30ab6d7
Parents: a25f5fe
Author: Nirmal Fernando <[email protected]>
Authored: Fri Feb 7 15:20:42 2014 +0530
Committer: Nirmal Fernando <[email protected]>
Committed: Fri Feb 7 15:20:42 2014 +0530

----------------------------------------------------------------------
 .../cloud/controller/iaases/AWSEC2Iaas.java     | 61 ++++++++------------
 .../controller/iaases/OpenstackNovaIaas.java    | 25 +++-----
 .../pom.xml                                     |  4 +-
 pom.xml                                         |  2 +-
 4 files changed, 36 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d5c3229/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 3248d1d..203017e 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
@@ -31,34 +31,27 @@ 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.pojo.PersistanceMapping;
 import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
 import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
 import org.apache.stratos.cloud.controller.validate.AWSEC2PartitionValidator;
 import 
org.apache.stratos.cloud.controller.validate.interfaces.PartitionValidator;
-import org.jclouds.aws.ec2.AWSEC2ApiMetadata;
-import org.jclouds.aws.ec2.AWSEC2Client;
+import org.jclouds.aws.ec2.AWSEC2Api;
 import org.jclouds.aws.ec2.compute.AWSEC2TemplateOptions;
-import org.jclouds.aws.ec2.domain.RegionNameAndPublicKeyMaterial;
-import org.jclouds.aws.ec2.functions.ImportOrReturnExistingKeypair;
+import org.jclouds.aws.ec2.features.AWSKeyPairApi;
 import org.jclouds.compute.ComputeServiceContext;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.Template;
 import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.ec2.EC2ApiMetadata;
-import org.jclouds.ec2.EC2Client;
-import org.jclouds.ec2.compute.options.EC2TemplateOptions;
 import org.jclouds.ec2.domain.AvailabilityZoneInfo;
 import org.jclouds.ec2.domain.KeyPair;
 import org.jclouds.ec2.domain.PublicIpInstanceIdPair;
 import org.jclouds.ec2.features.AvailabilityZoneAndRegionApi;
+import org.jclouds.ec2.features.ElasticIPAddressApi;
 import org.jclouds.ec2.options.DescribeAvailabilityZonesOptions;
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 
 @SuppressWarnings("deprecation")
@@ -185,15 +178,11 @@ public class AWSEC2Iaas extends Iaas {
 
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
-               AWSEC2Client ec2Client = 
context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
-
-               ImportOrReturnExistingKeypair importer = new 
ImportOrReturnExistingKeypair(
-                               ec2Client);
-
-               RegionNameAndPublicKeyMaterial regionNameAndKey = new 
RegionNameAndPublicKeyMaterial(
-                               region, keyPairName, publicKey);
-               KeyPair keyPair = importer.apply(regionNameAndKey);
+               
+               AWSKeyPairApi keyPairApi = 
context.unwrapApi(AWSEC2Api.class).getKeyPairApiForRegion(region).get();
 
+               KeyPair keyPair = keyPairApi.importKeyPairInRegion(region, 
keyPairName, publicKey);
+               
                if (keyPair != null) {
 
                        
iaasInfo.getTemplate().getOptions().as(AWSEC2TemplateOptions.class)
@@ -215,16 +204,15 @@ public class AWSEC2Iaas extends Iaas {
                
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
-               AWSEC2Client ec2Client = 
context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
+               
+               ElasticIPAddressApi elasticIPAddressApi = 
context.unwrapApi(AWSEC2Api.class).getElasticIPAddressApi().get();
                String region = 
ComputeServiceBuilderUtil.extractRegion(iaasInfo);
                
                String ip = null;
 
                // first try to find an unassigned IP.
                ArrayList<PublicIpInstanceIdPair> unassignedIps = Lists
-                               .newArrayList(Iterables.filter(ec2Client
-                                               .getElasticIPAddressServices()
-                                               
.describeAddressesInRegion(region, new String[0]),
+                               
.newArrayList(Iterables.filter(elasticIPAddressApi.describeAddressesInRegion(region,
 new String[0]),
                                                new 
Predicate<PublicIpInstanceIdPair>() {
 
                                                        @Override
@@ -244,9 +232,9 @@ public class AWSEC2Iaas extends Iaas {
                // if no unassigned IP is available, we'll try to allocate an 
IP.
                if (ip == null || ip.isEmpty()) {
                        try {
-                               ip = ec2Client.getElasticIPAddressServices()
+                               ip = elasticIPAddressApi
                                                
.allocateAddressInRegion(region);
-                               log.info("Assigned ip [" + ip + "]");
+                               log.info("Allocated ip [" + ip + "]");
 
                        } catch (Exception e) {
                                String msg = "Failed to allocate an IP address. 
All IP addresses are in use.";
@@ -266,7 +254,7 @@ public class AWSEC2Iaas extends Iaas {
                }
 
                int retries = 0;
-               while (retries < 12 && !associatePublicIp(ec2Client, region, 
ip, id)) {
+               while (retries < 12 && !associatePublicIp(elasticIPAddressApi, 
region, ip, id)) {
 
                        // wait for 5s
                        CloudControllerUtil.sleep(5000);
@@ -281,15 +269,15 @@ public class AWSEC2Iaas extends Iaas {
        }
 
        /**
-        * @param ec2Client
+        * @param addressApi
         * @param region
         * @param ip
         * @param id
         */
-       private boolean associatePublicIp(AWSEC2Client ec2Client, String region,
+       private boolean associatePublicIp(ElasticIPAddressApi addressApi, 
String region,
                        String ip, String id) {
                try {
-                       
ec2Client.getElasticIPAddressServices().associateAddressInRegion(
+                       addressApi.associateAddressInRegion(
                                        region, ip, id);
                        log.info("Successfully associated public IP ");
                        return true;
@@ -306,12 +294,12 @@ public class AWSEC2Iaas extends Iaas {
                
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
-               AWSEC2Client ec2Client = 
context.unwrap(AWSEC2ApiMetadata.CONTEXT_TOKEN).getApi();
+               ElasticIPAddressApi elasticIPAddressApi = 
context.unwrapApi(AWSEC2Api.class).getElasticIPAddressApi().get();
                String region = 
ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
-               
ec2Client.getElasticIPAddressServices().disassociateAddressInRegion(
+               elasticIPAddressApi.disassociateAddressInRegion(
                                region, ip);
-               
ec2Client.getElasticIPAddressServices().releaseAddressInRegion(region,
+               elasticIPAddressApi.releaseAddressInRegion(region,
                                ip);
        }
 
@@ -329,8 +317,8 @@ public class AWSEC2Iaas extends Iaas {
         }
         
         ComputeServiceContext context = 
iaasInfo.getComputeService().getContext();
-        EC2Client api = 
EC2Client.class.cast(context.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi());
-        for (String configuredRegion : api.getConfiguredRegions()) {
+        Set<String> regions = 
context.unwrapApi(AWSEC2Api.class).getConfiguredRegions();
+        for (String configuredRegion : regions) {
             if (region.equalsIgnoreCase(configuredRegion)) {
                 if (log.isDebugEnabled()) {
                     log.debug("Found a matching region: " + region);
@@ -356,10 +344,9 @@ public class AWSEC2Iaas extends Iaas {
             throw new InvalidZoneException(msg);
         }
         ComputeServiceContext context = 
iaasInfo.getComputeService().getContext();
-        EC2Client api = 
EC2Client.class.cast(context.unwrap(EC2ApiMetadata.CONTEXT_TOKEN).getApi());
-        AvailabilityZoneAndRegionApi zoneRegionApi =
-                                                     
api.getAvailabilityZoneAndRegionApiForRegion(region)
-                                                        .get();
+        AvailabilityZoneAndRegionApi zoneRegionApi = 
context.unwrapApi(AWSEC2Api.class).
+                       getAvailabilityZoneAndRegionApiForRegion(region).get();
+        
         Set<AvailabilityZoneInfo> availabilityZones =
                                                       
zoneRegionApi.describeAvailabilityZonesInRegion(region,
                                                                                
                       new DescribeAvailabilityZonesOptions[0]);

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d5c3229/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 2f45f9b..8cba65a 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
@@ -54,6 +54,7 @@ import org.jclouds.openstack.nova.v2_0.extensions.KeyPairApi;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Set;
 
 public class OpenstackNovaIaas extends Iaas {
 
@@ -169,10 +170,8 @@ public class OpenstackNovaIaas extends Iaas {
 
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
-               @SuppressWarnings("deprecation")
-        NovaApi novaApi = 
context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
-
-               KeyPairApi api = 
novaApi.getKeyPairExtensionForZone(region).get();
+               
+               KeyPairApi api = 
context.unwrapApi(NovaApi.class).getKeyPairExtensionForZone(region).get();
 
                KeyPair keyPair = api.createWithPublicKey(keyPairName, 
publicKey);
 
@@ -198,11 +197,9 @@ public class OpenstackNovaIaas extends Iaas {
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
 
-               @SuppressWarnings("deprecation")
-        NovaApi novaClient = 
context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
                String region = 
ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
-               FloatingIPApi floatingIp = 
novaClient.getFloatingIPExtensionForZone(
+               FloatingIPApi floatingIp = 
context.unwrapApi(NovaApi.class).getFloatingIPExtensionForZone(
                                region).get();
 
                String ip = null;
@@ -270,11 +267,9 @@ public class OpenstackNovaIaas extends Iaas {
                ComputeServiceContext context = iaasInfo.getComputeService()
                                .getContext();
 
-               @SuppressWarnings("deprecation")
-        NovaApi novaApi = 
context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
                String region = 
ComputeServiceBuilderUtil.extractRegion(iaasInfo);
 
-               FloatingIPApi floatingIPApi = novaApi
+               FloatingIPApi floatingIPApi = context.unwrapApi(NovaApi.class)
                                .getFloatingIPExtensionForZone(region).get();
 
                for (FloatingIP floatingIP : floatingIPApi.list()) {
@@ -309,9 +304,9 @@ public class OpenstackNovaIaas extends Iaas {
         }
         
         ComputeServiceContext context = 
iaasInfo.getComputeService().getContext();
-        @SuppressWarnings("deprecation")
-        NovaApi api = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
-        for (String configuredZone : api.getConfiguredZones()) {
+        
+        Set<String> zones = 
context.unwrapApi(NovaApi.class).getConfiguredZones();
+        for (String configuredZone : zones) {
             if (region.equalsIgnoreCase(configuredZone)) {
                 if (log.isDebugEnabled()) {
                     log.debug("Found a matching region: " + region);
@@ -347,9 +342,7 @@ public class OpenstackNovaIaas extends Iaas {
             throw new InvalidHostException(msg);
         }
         ComputeServiceContext context = 
iaasInfo.getComputeService().getContext();
-        @SuppressWarnings("deprecation")
-        NovaApi api = context.unwrap(NovaApiMetadata.CONTEXT_TOKEN).getApi();
-        HostAggregateApi hostApi = 
api.getHostAggregateExtensionForZone(zone).get();
+        HostAggregateApi hostApi = 
context.unwrapApi(NovaApi.class).getHostAggregateExtensionForZone(zone).get();
         for (HostAggregate hostAggregate : hostApi.list()) {
             for (String configuredHost : hostAggregate.getHosts()) {
                 if (host.equalsIgnoreCase(configuredHost)) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d5c3229/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
----------------------------------------------------------------------
diff --git 
a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml 
b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
index a81b287..c98b499 100644
--- 
a/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
+++ 
b/features/cloud-controller/org.apache.stratos.cloud.controller.feature/pom.xml
@@ -111,7 +111,7 @@
          <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
-           <version>14.0.1</version>
+           <version>15.0</version>
          </dependency>
          <dependency>
             <groupId>com.jamesmurty.utils.wso2</groupId>
@@ -238,7 +238,7 @@
                                 
<bundleDef>org.apache.jclouds.common:openstack-common:${jclouds.version}</bundleDef>
                                 
<bundleDef>org.apache.jclouds.api:openstack-keystone:${jclouds.version}</bundleDef>
                                 
<bundleDef>org.apache.jclouds.provider:aws-ec2:${jclouds.version}</bundleDef>
-                                
<bundleDef>com.google.guava:guava:14.0.1</bundleDef>
+                                
<bundleDef>com.google.guava:guava:15.0</bundleDef>
                                 
<bundleDef>com.google.code.gson:gson:${gson2.version}</bundleDef>
                                 
<bundleDef>com.google.guice.wso2:guice:${google.guice.wso2.version}</bundleDef>
                                 
<bundleDef>com.google.guice.assistedinject.wso2:guice-assistedinject:${com.google.guice.assistedinject.wso2.version}</bundleDef>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5d5c3229/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c8179ed..1fa5174 100644
--- a/pom.xml
+++ b/pom.xml
@@ -432,6 +432,6 @@
         <carbon.platform.package.import.version.range>[4.2.0, 
5.0.0)</carbon.platform.package.import.version.range>
         
<carbon.platform.package.export.version>4.2.0</carbon.platform.package.export.version>
         <axis2.osgi.version>1.6.1.wso2v10</axis2.osgi.version>
-        <jclouds.version>1.6.2-incubating</jclouds.version>
+        <jclouds.version>1.7.0</jclouds.version>
     </properties>
 </project>

Reply via email to