You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ml...@apache.org on 2013/01/26 06:25:10 UTC

[17/50] git commit: CLOUDSTACK-355: fix count for listSwiftsCmd.

CLOUDSTACK-355: fix count for listSwiftsCmd.

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

Branch: refs/heads/add_remove_nics
Commit: c3f1a9d324ad01450df315242bdabe6edd0c7e60
Parents: 26be5ce
Author: Min Chen <mi...@citrix.com>
Authored: Tue Jan 22 17:14:44 2013 -0800
Committer: Min Chen <mi...@citrix.com>
Committed: Tue Jan 22 17:14:44 2013 -0800

----------------------------------------------------------------------
 api/src/com/cloud/resource/ResourceService.java    |    5 +++--
 .../api/command/admin/swift/ListSwiftsCmd.java     |   10 +++++-----
 .../com/cloud/resource/ResourceManagerImpl.java    |    5 +++--
 .../src/com/cloud/storage/swift/SwiftManager.java  |    3 ++-
 .../com/cloud/storage/swift/SwiftManagerImpl.java  |    7 ++++---
 .../cloud/resource/MockResourceManagerImpl.java    |    2 +-
 6 files changed, 18 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/api/src/com/cloud/resource/ResourceService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/resource/ResourceService.java b/api/src/com/cloud/resource/ResourceService.java
index b9db8e7..7348a5a 100755
--- a/api/src/com/cloud/resource/ResourceService.java
+++ b/api/src/com/cloud/resource/ResourceService.java
@@ -34,6 +34,7 @@ import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.org.Cluster;
 import com.cloud.storage.S3;
 import com.cloud.storage.Swift;
+import com.cloud.utils.Pair;
 import com.cloud.utils.fsm.NoTransitionException;
 import org.apache.cloudstack.api.command.admin.host.ReconnectHostCmd;
 
@@ -94,10 +95,10 @@ public interface ResourceService {
     Swift discoverSwift(AddSwiftCmd addSwiftCmd) throws DiscoveryException;
 
     S3 discoverS3(AddS3Cmd cmd) throws DiscoveryException;
-    
+
     List<HypervisorType> getSupportedHypervisorTypes(long zoneId, boolean forVirtualRouter, Long podId);
 
-    List<? extends Swift> listSwifts(ListSwiftsCmd cmd);
+    Pair<List<? extends Swift>, Integer> listSwifts(ListSwiftsCmd cmd);
 
     List<? extends S3> listS3s(ListS3sCmd cmd);
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java b/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
index d7c1511..af26643 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/swift/ListSwiftsCmd.java
@@ -30,6 +30,7 @@ import org.apache.cloudstack.api.response.ListResponse;
 import org.apache.cloudstack.api.response.SwiftResponse;
 import com.cloud.storage.Swift;
 import com.cloud.user.Account;
+import com.cloud.utils.Pair;
 
 @APICommand(name = "listSwifts", description = "List Swift.", responseObject = HostResponse.class, since="3.0.0")
 public class ListSwiftsCmd extends BaseListCmd {
@@ -64,20 +65,19 @@ public class ListSwiftsCmd extends BaseListCmd {
 
     @Override
     public void execute(){
-        List<? extends Swift> result = _resourceService.listSwifts(this);
+        Pair<List<? extends Swift>, Integer> result = _resourceService.listSwifts(this);
         ListResponse<SwiftResponse> response = new ListResponse<SwiftResponse>();
         List<SwiftResponse> swiftResponses = new ArrayList<SwiftResponse>();
 
         if (result != null) {
-            SwiftResponse swiftResponse = null;
-            for (Swift swift : result) {
-                swiftResponse = _responseGenerator.createSwiftResponse(swift);
+            for (Swift swift : result.first()) {
+                SwiftResponse swiftResponse = _responseGenerator.createSwiftResponse(swift);
                 swiftResponse.setResponseName(getCommandName());
                 swiftResponse.setObjectName("swift");
                 swiftResponses.add(swiftResponse);
             }
         }
-        response.setResponses(swiftResponses);
+        response.setResponses(swiftResponses, result.second());
         response.setResponseName(getCommandName());
         this.setResponseObject(response);
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/server/src/com/cloud/resource/ResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/resource/ResourceManagerImpl.java b/server/src/com/cloud/resource/ResourceManagerImpl.java
index b6ee747..f82424a 100755
--- a/server/src/com/cloud/resource/ResourceManagerImpl.java
+++ b/server/src/com/cloud/resource/ResourceManagerImpl.java
@@ -560,8 +560,9 @@ public class ResourceManagerImpl implements ResourceManager, ResourceService, Ma
     }
 
     @Override
-    public List<SwiftVO> listSwifts(ListSwiftsCmd cmd) {
-        return _swiftMgr.listSwifts(cmd);
+    public Pair<List<? extends Swift>, Integer> listSwifts(ListSwiftsCmd cmd) {
+        Pair<List<SwiftVO>, Integer> swifts =  _swiftMgr.listSwifts(cmd);
+        return new Pair<List<? extends Swift>, Integer>(swifts.first(), swifts.second());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/server/src/com/cloud/storage/swift/SwiftManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/swift/SwiftManager.java b/server/src/com/cloud/storage/swift/SwiftManager.java
index 0dd6e1c..2abdac7 100644
--- a/server/src/com/cloud/storage/swift/SwiftManager.java
+++ b/server/src/com/cloud/storage/swift/SwiftManager.java
@@ -27,6 +27,7 @@ import com.cloud.exception.DiscoveryException;
 import com.cloud.storage.Swift;
 import com.cloud.storage.SwiftVO;
 import com.cloud.storage.VMTemplateSwiftVO;
+import com.cloud.utils.Pair;
 import com.cloud.utils.component.Manager;
 public interface SwiftManager extends Manager {
 
@@ -50,7 +51,7 @@ public interface SwiftManager extends Manager {
 
     Long chooseZoneForTmpltExtract(Long tmpltId);
 
-    List<SwiftVO> listSwifts(ListSwiftsCmd cmd);
+    Pair<List<SwiftVO>, Integer> listSwifts(ListSwiftsCmd cmd);
 
     VMTemplateSwiftVO findByTmpltId(Long tmpltId);
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/server/src/com/cloud/storage/swift/SwiftManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/swift/SwiftManagerImpl.java b/server/src/com/cloud/storage/swift/SwiftManagerImpl.java
index dab16ce..d62dd63 100644
--- a/server/src/com/cloud/storage/swift/SwiftManagerImpl.java
+++ b/server/src/com/cloud/storage/swift/SwiftManagerImpl.java
@@ -50,6 +50,7 @@ import com.cloud.storage.dao.SwiftDao;
 import com.cloud.storage.dao.VMTemplateHostDao;
 import com.cloud.storage.dao.VMTemplateSwiftDao;
 import com.cloud.storage.dao.VMTemplateZoneDao;
+import com.cloud.utils.Pair;
 import com.cloud.utils.component.Inject;
 import com.cloud.utils.db.Filter;
 import com.cloud.utils.db.SearchCriteria;
@@ -242,7 +243,7 @@ public class SwiftManagerImpl implements SwiftManager {
         if (swift == null) {
             return null;
         }
-        
+
         List<VMTemplateHostVO> tmpltHosts = _vmTmpltHostDao.listByOnlyTemplateId(tmpltId);
         if (tmpltHosts != null) {
             Collections.shuffle(tmpltHosts);
@@ -260,13 +261,13 @@ public class SwiftManagerImpl implements SwiftManager {
     }
 
     @Override
-    public List<SwiftVO> listSwifts(ListSwiftsCmd cmd) {
+    public Pair<List<SwiftVO>, Integer> listSwifts(ListSwiftsCmd cmd) {
         Filter searchFilter = new Filter(SwiftVO.class, "id", Boolean.TRUE, cmd.getStartIndex(), cmd.getPageSizeVal());
         SearchCriteria<SwiftVO> sc = _swiftDao.createSearchCriteria();
         if (cmd.getId() != null) {
             sc.addAnd("id", SearchCriteria.Op.EQ, cmd.getId());
         }
-        return _swiftDao.search(sc, searchFilter);
+        return _swiftDao.searchAndCount(sc, searchFilter);
 
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c3f1a9d3/server/test/com/cloud/resource/MockResourceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/resource/MockResourceManagerImpl.java b/server/test/com/cloud/resource/MockResourceManagerImpl.java
index e94cdea..a0dad47 100644
--- a/server/test/com/cloud/resource/MockResourceManagerImpl.java
+++ b/server/test/com/cloud/resource/MockResourceManagerImpl.java
@@ -202,7 +202,7 @@ public class MockResourceManagerImpl implements ResourceManager, Manager {
      * @see com.cloud.resource.ResourceService#listSwifts(com.cloud.api.commands.ListSwiftsCmd)
      */
     @Override
-    public List<? extends Swift> listSwifts(ListSwiftsCmd cmd) {
+    public Pair<List<? extends Swift>, Integer> listSwifts(ListSwiftsCmd cmd) {
         // TODO Auto-generated method stub
         return null;
     }