From 0824be38ff30fe348cd75484c6f9a91a478b4029 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Thu, 9 May 2013 19:07:03 -0700 Subject: [PATCH] Fix a bug where listImageStores also shows cacheStorage. --- server/src/com/cloud/api/query/QueryManagerImpl.java | 3 +++ .../src/com/cloud/api/query/vo/ImageStoreJoinVO.java | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 9af2715e84d..06a39c48c04 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -142,6 +142,7 @@ import com.cloud.server.Criteria; import com.cloud.server.ResourceTag.TaggedResourceType; import com.cloud.service.ServiceOfferingVO; import com.cloud.service.dao.ServiceOfferingDao; +import com.cloud.storage.DataStoreRole; import com.cloud.storage.ImageStore; import com.cloud.storage.ScopeType; import com.cloud.storage.Storage; @@ -1973,9 +1974,11 @@ public class QueryManagerImpl extends ManagerBase implements QueryService { sb.and("dataCenterId", sb.entity().getZoneId(), SearchCriteria.Op.EQ); sb.and("protocol", sb.entity().getProtocol(), SearchCriteria.Op.EQ); sb.and("provider", sb.entity().getProviderName(), SearchCriteria.Op.EQ); + sb.and("role", sb.entity().getRole(), SearchCriteria.Op.EQ); SearchCriteria sc = sb.create(); + sc.setParameters("role", DataStoreRole.Image); if (keyword != null) { diff --git a/server/src/com/cloud/api/query/vo/ImageStoreJoinVO.java b/server/src/com/cloud/api/query/vo/ImageStoreJoinVO.java index a5ee007ecfb..7014e05ad39 100644 --- a/server/src/com/cloud/api/query/vo/ImageStoreJoinVO.java +++ b/server/src/com/cloud/api/query/vo/ImageStoreJoinVO.java @@ -23,6 +23,7 @@ import javax.persistence.Enumerated; import javax.persistence.Id; import javax.persistence.Table; +import com.cloud.storage.DataStoreRole; import com.cloud.storage.ImageStore; import com.cloud.storage.ScopeType; import org.apache.cloudstack.api.Identity; @@ -59,6 +60,10 @@ public class ImageStoreJoinVO extends BaseViewVO implements InternalIdentity, Id @Enumerated(value = EnumType.STRING) private ScopeType scope; + @Column(name = "role") + @Enumerated(value = EnumType.STRING) + private DataStoreRole role; + @Column(name="data_center_id") private long zoneId; @@ -176,6 +181,12 @@ public class ImageStoreJoinVO extends BaseViewVO implements InternalIdentity, Id this.detailValue = detailValue; } + public DataStoreRole getRole() { + return role; + } + public void setRole(DataStoreRole role) { + this.role = role; + } }