bug 7947: use correct search builder in UserVmDao

status 7947: resolved fixed
This commit is contained in:
alena 2011-01-12 14:10:53 -08:00
parent c0354e7508
commit 8b18b58c51

View File

@ -61,6 +61,7 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
protected final SearchBuilder<UserVmVO> DestroySearch; protected final SearchBuilder<UserVmVO> DestroySearch;
protected SearchBuilder<UserVmVO> AccountDataCenterVirtualSearch; protected SearchBuilder<UserVmVO> AccountDataCenterVirtualSearch;
protected SearchBuilder<UserVmVO> UserVmSearch;
protected final Attribute _updateTimeAttr; protected final Attribute _updateTimeAttr;
protected UserVmDaoImpl() { protected UserVmDaoImpl() {
@ -320,18 +321,18 @@ public class UserVmDaoImpl extends GenericDaoBase<UserVmVO, Long> implements Use
@Override @Override
public List<UserVmVO> listByNetworkId(long networkId) { public List<UserVmVO> listByNetworkId(long networkId) {
if (AccountDataCenterVirtualSearch == null) { if (UserVmSearch == null) {
NicDao _nicDao = ComponentLocator.getLocator("management-server").getDao(NicDao.class); NicDao _nicDao = ComponentLocator.getLocator("management-server").getDao(NicDao.class);
SearchBuilder<NicVO> nicSearch = _nicDao.createSearchBuilder(); SearchBuilder<NicVO> nicSearch = _nicDao.createSearchBuilder();
nicSearch.and("networkId", nicSearch.entity().getNetworkId(), SearchCriteria.Op.EQ); nicSearch.and("networkId", nicSearch.entity().getNetworkId(), SearchCriteria.Op.EQ);
nicSearch.and("ip4Address", nicSearch.entity().getIp4Address(), SearchCriteria.Op.NNULL); nicSearch.and("ip4Address", nicSearch.entity().getIp4Address(), SearchCriteria.Op.NNULL);
AccountDataCenterVirtualSearch = createSearchBuilder(); UserVmSearch = createSearchBuilder();
AccountDataCenterVirtualSearch.join("nicSearch", nicSearch, AccountDataCenterVirtualSearch.entity().getId(), nicSearch.entity().getInstanceId(), JoinBuilder.JoinType.INNER); UserVmSearch.join("nicSearch", nicSearch, UserVmSearch.entity().getId(), nicSearch.entity().getInstanceId(), JoinBuilder.JoinType.INNER);
AccountDataCenterVirtualSearch.done(); UserVmSearch.done();
} }
SearchCriteria<UserVmVO> sc = AccountDataCenterVirtualSearch.create(); SearchCriteria<UserVmVO> sc = UserVmSearch.create();
sc.setJoinParameters("nicSearch", "networkId", networkId); sc.setJoinParameters("nicSearch", "networkId", networkId);
return listBy(sc); return listBy(sc);