Skip to content

Commit 6fa9527

Browse files
committed
remove duplicated Vpc routers in return of listByStateAndNetworkType
1 parent 98a9edf commit 6fa9527

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
// under the License.
1717
package com.cloud.vm.dao;
1818

19+
import java.util.ArrayList;
1920
import java.util.List;
2021

2122
import javax.ejb.Local;
@@ -37,6 +38,7 @@
3738
import com.cloud.utils.db.JoinBuilder.JoinType;
3839
import com.cloud.utils.db.SearchBuilder;
3940
import com.cloud.utils.db.SearchCriteria;
41+
import com.cloud.utils.db.SearchCriteria.Func;
4042
import com.cloud.utils.db.SearchCriteria.Op;
4143
import com.cloud.utils.db.Transaction;
4244
import com.cloud.utils.db.UpdateBuilder;
@@ -97,6 +99,7 @@ protected DomainRouterDaoImpl() {
9799
HostUpSearch.done();
98100

99101
StateNetworkTypeSearch = createSearchBuilder();
102+
StateNetworkTypeSearch.select(null, Func.DISTINCT, StateNetworkTypeSearch.entity().getId());
100103
StateNetworkTypeSearch.and("state", StateNetworkTypeSearch.entity().getState(), Op.EQ);
101104
SearchBuilder<RouterNetworkVO> joinRouterNetwork4 = _routerNetworkDao.createSearchBuilder();
102105
joinRouterNetwork4.and("networkId", joinRouterNetwork4.entity().getNetworkId(), Op.EQ);
@@ -223,7 +226,12 @@ public List<DomainRouterVO> listByStateAndNetworkType(State state, Network.Guest
223226
sc.setParameters("state", state);
224227
sc.setJoinParameters("networkRouter", "type", type);
225228
sc.setJoinParameters("host", "mgmtServerId", mgmtSrvrId);
226-
return listBy(sc);
229+
List<DomainRouterVO> routerIds = listBy(sc);
230+
List<DomainRouterVO> routers = new ArrayList<DomainRouterVO>();
231+
for (DomainRouterVO router : routerIds) {
232+
routers.add(findById(router.getId()));
233+
}
234+
return routers;
227235
}
228236

229237
@Override

0 commit comments

Comments
 (0)