Updated Branches:
  refs/heads/4.1 40d1fe104 -> 1884f518a

CLOUDSTACK-1119 [EC2 Query API] Add filter support for DecsribeAddresses

EC2DescribeAddresses doesn't have filter support.
Support will be available for filters -> instance-id and public-ip


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/1884f518
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/1884f518
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/1884f518

Branch: refs/heads/4.1
Commit: 1884f518a311d483108130f3d06be9f22d30b01b
Parents: 40d1fe1
Author: Likitha Shetty <[email protected]>
Authored: Thu Feb 7 18:31:36 2013 -0800
Committer: Prachi Damle <[email protected]>
Committed: Thu Feb 7 18:33:59 2013 -0800

----------------------------------------------------------------------
 .../com/cloud/bridge/service/EC2RestServlet.java   |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/1884f518/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
----------------------------------------------------------------------
diff --git a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java 
b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
index 8f36490..0186db4 100644
--- a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
+++ b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
@@ -105,6 +105,7 @@ import com.cloud.bridge.persist.dao.CloudStackUserDaoImpl;
 import com.cloud.bridge.persist.dao.OfferingDaoImpl;
 import com.cloud.bridge.persist.dao.UserCredentialsDaoImpl;
 import com.cloud.bridge.service.controller.s3.ServiceProvider;
+import com.cloud.bridge.service.core.ec2.EC2AddressFilterSet;
 import com.cloud.bridge.service.core.ec2.EC2AssociateAddress;
 import com.cloud.bridge.service.core.ec2.EC2AuthorizeRevokeSecurityGroup;
 import com.cloud.bridge.service.core.ec2.EC2AvailabilityZonesFilterSet;
@@ -1397,6 +1398,15 @@ public class EC2RestServlet extends HttpServlet {
                 if (null != value && 0 < value.length) ec2Request.addPublicIp( 
value[0] );
             }
         }
+
+        // add filters
+        EC2Filter[] filterSet = extractFilters( request );
+        if ( filterSet != null ) {
+            EC2AddressFilterSet afs = new EC2AddressFilterSet();
+            for ( int i=0; i < filterSet.length; i++ )
+                afs.addFilter( filterSet[i] );
+            ec2Request.setFilterSet( afs );
+        }
         // -> execute the request
         EC2Engine engine = ServiceProvider.getInstance().getEC2Engine();
         serializeResponse(response, 
EC2SoapServiceImpl.toDescribeAddressesResponse( engine.describeAddresses( 
ec2Request)));

Reply via email to