Updated Branches: refs/heads/regions c607e03f0 -> a33d8f960
Fixed listRegions serach by id, name Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/a33d8f96 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/a33d8f96 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/a33d8f96 Branch: refs/heads/regions Commit: a33d8f96019e6f061fecc071273e8ee4fe7a67ce Parents: c607e03 Author: Kishan Kavala <[email protected]> Authored: Thu Jan 31 23:25:29 2013 +0530 Committer: Kishan Kavala <[email protected]> Committed: Thu Jan 31 23:25:29 2013 +0530 ---------------------------------------------------------------------- .../api/command/user/region/ListRegionsCmd.java | 2 +- .../cloudstack/region/RegionManagerImpl.java | 17 +++++++++++++- .../apache/cloudstack/region/dao/RegionDao.java | 3 -- .../cloudstack/region/dao/RegionDaoImpl.java | 18 +-------------- 4 files changed, 18 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a33d8f96/api/src/org/apache/cloudstack/api/command/user/region/ListRegionsCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/user/region/ListRegionsCmd.java b/api/src/org/apache/cloudstack/api/command/user/region/ListRegionsCmd.java index 4599a19..999eeb0 100644 --- a/api/src/org/apache/cloudstack/api/command/user/region/ListRegionsCmd.java +++ b/api/src/org/apache/cloudstack/api/command/user/region/ListRegionsCmd.java @@ -38,7 +38,7 @@ public class ListRegionsCmd extends BaseListCmd { //////////////// API parameters ///////////////////// ///////////////////////////////////////////////////// - @Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="List Region by region ID.") + @Parameter(name=ApiConstants.ID, type=CommandType.INTEGER, description="List Region by region ID.") private Integer id; @Parameter(name=ApiConstants.NAME, type=CommandType.STRING, description="List Region by region name.") http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a33d8f96/server/src/org/apache/cloudstack/region/RegionManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java index bef2325..cac5a68 100755 --- a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java +++ b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java @@ -311,7 +311,22 @@ public class RegionManagerImpl implements RegionManager, Manager{ */ @Override public List<RegionVO> listRegions(Integer id, String name) { - return _regionDao.listByNameAndId(id, name); + List<RegionVO> regions = new ArrayList<RegionVO>(); + if(id != null){ + RegionVO region = _regionDao.findById(id); + if(region != null){ + regions.add(region); + } + return regions; + } + if(name != null){ + RegionVO region = _regionDao.findByName(name); + if(region != null){ + regions.add(region); + } + return regions; + } + return _regionDao.listAll(); } /** http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a33d8f96/server/src/org/apache/cloudstack/region/dao/RegionDao.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/region/dao/RegionDao.java b/server/src/org/apache/cloudstack/region/dao/RegionDao.java index 1360eac..91b51d3 100644 --- a/server/src/org/apache/cloudstack/region/dao/RegionDao.java +++ b/server/src/org/apache/cloudstack/region/dao/RegionDao.java @@ -16,8 +16,6 @@ // under the License. package org.apache.cloudstack.region.dao; -import java.util.List; - import org.apache.cloudstack.region.RegionVO; import com.cloud.utils.db.GenericDao; @@ -26,5 +24,4 @@ public interface RegionDao extends GenericDao<RegionVO, Integer> { RegionVO findByName(String name); - List<RegionVO> listByNameAndId(Integer id, String name); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/a33d8f96/server/src/org/apache/cloudstack/region/dao/RegionDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/region/dao/RegionDaoImpl.java b/server/src/org/apache/cloudstack/region/dao/RegionDaoImpl.java index feb6e62..4099835 100644 --- a/server/src/org/apache/cloudstack/region/dao/RegionDaoImpl.java +++ b/server/src/org/apache/cloudstack/region/dao/RegionDaoImpl.java @@ -16,14 +16,11 @@ // under the License. package org.apache.cloudstack.region.dao; -import java.util.List; - import javax.ejb.Local; import org.apache.cloudstack.region.RegionVO; import org.apache.log4j.Logger; -import com.cloud.user.UserVO; import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; @@ -38,25 +35,12 @@ public class RegionDaoImpl extends GenericDaoBase<RegionVO, Integer> implements NameSearch = createSearchBuilder(); NameSearch.and("name", NameSearch.entity().getName(), SearchCriteria.Op.EQ); NameSearch.done(); - - AllFieldsSearch = createSearchBuilder(); - AllFieldsSearch.and("id", AllFieldsSearch.entity().getId(), SearchCriteria.Op.EQ); - AllFieldsSearch.and("name", AllFieldsSearch.entity().getName(), SearchCriteria.Op.EQ); - AllFieldsSearch.done(); } @Override public RegionVO findByName(String name) { SearchCriteria<RegionVO> sc = NameSearch.create(); - sc.setParameters("name", NameSearch); - return findOneBy(sc); - } - - @Override - public List<RegionVO> listByNameAndId(Integer id, String name) { - SearchCriteria<RegionVO> sc = AllFieldsSearch.create(); - sc.setParameters("id", id); sc.setParameters("name", name); - return listBy(sc); + return findOneBy(sc); } }
