mirror of https://github.com/apache/cloudstack.git
remove duplicated Vpc routers in return of listByStateAndNetworkType
This commit is contained in:
parent
98a9edfaaf
commit
6fa9527353
|
|
@ -16,6 +16,7 @@
|
|||
// under the License.
|
||||
package com.cloud.vm.dao;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.ejb.Local;
|
||||
|
|
@ -37,6 +38,7 @@ import com.cloud.utils.db.GenericDaoBase;
|
|||
import com.cloud.utils.db.JoinBuilder.JoinType;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.SearchCriteria.Func;
|
||||
import com.cloud.utils.db.SearchCriteria.Op;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.UpdateBuilder;
|
||||
|
|
@ -97,6 +99,7 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
|||
HostUpSearch.done();
|
||||
|
||||
StateNetworkTypeSearch = createSearchBuilder();
|
||||
StateNetworkTypeSearch.select(null, Func.DISTINCT, StateNetworkTypeSearch.entity().getId());
|
||||
StateNetworkTypeSearch.and("state", StateNetworkTypeSearch.entity().getState(), Op.EQ);
|
||||
SearchBuilder<RouterNetworkVO> joinRouterNetwork4 = _routerNetworkDao.createSearchBuilder();
|
||||
joinRouterNetwork4.and("networkId", joinRouterNetwork4.entity().getNetworkId(), Op.EQ);
|
||||
|
|
@ -223,7 +226,12 @@ public class DomainRouterDaoImpl extends GenericDaoBase<DomainRouterVO, Long> im
|
|||
sc.setParameters("state", state);
|
||||
sc.setJoinParameters("networkRouter", "type", type);
|
||||
sc.setJoinParameters("host", "mgmtServerId", mgmtSrvrId);
|
||||
return listBy(sc);
|
||||
List<DomainRouterVO> routerIds = listBy(sc);
|
||||
List<DomainRouterVO> routers = new ArrayList<DomainRouterVO>();
|
||||
for (DomainRouterVO router : routerIds) {
|
||||
routers.add(findById(router.getId()));
|
||||
}
|
||||
return routers;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue