NaaS: Update listVirtualRouterElements to accept nspid as parameter

Also fix VirtualRouterProviderResponse by adding objectName.
This commit is contained in:
Sheng Yang 2011-11-10 17:03:30 -08:00
parent 9d4b800e29
commit 7adedca8a3
3 changed files with 29 additions and 10 deletions

View File

@ -34,6 +34,9 @@ public class ListVirtualRouterElementsCmd extends BaseListCmd {
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="list virtual router elements by id")
private Long id;
@Parameter(name=ApiConstants.NSP_ID, type=CommandType.LONG, description="list virtual router elements by network service provider id")
private Long nspId;
@Parameter(name=ApiConstants.ENABLED, type=CommandType.BOOLEAN, description="list network offerings by enabled state")
private Boolean enabled;
@ -49,6 +52,14 @@ public class ListVirtualRouterElementsCmd extends BaseListCmd {
return id;
}
public void setNspId(Long nspId) {
this.nspId = nspId;
}
public Long getNspId() {
return nspId;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}

View File

@ -2817,6 +2817,8 @@ public class ApiResponseHelper implements ResponseGenerator {
response.setId(result.getId());
response.setNspId(result.getNspId());
response.setEnabled(result.isEnabled());
response.setObjectName("VirtualRouterElement");
return response;
}
}

View File

@ -68,6 +68,10 @@ import com.cloud.user.AccountManager;
import com.cloud.uservm.UserVm;
import com.cloud.utils.component.AdapterBase;
import com.cloud.utils.component.Inject;
import com.cloud.utils.db.SearchCriteria;
import com.cloud.utils.db.SearchCriteria2;
import com.cloud.utils.db.SearchCriteriaService;
import com.cloud.utils.db.SearchCriteria.Op;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.vm.DomainRouterVO;
import com.cloud.vm.NicProfile;
@ -572,18 +576,20 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
@Override
public List<? extends VirtualRouterProvider> searchForVirtualRouterElement(ListVirtualRouterElementsCmd cmd) {
if (cmd.getEnabled() == null && cmd.getId() == null) {
return _vrProviderDao.listByType(VirtualRouterProviderType.VirtualRouter);
Long id = cmd.getId();
Long nspId = cmd.getNspId();
Boolean enabled = cmd.getEnabled();
SearchCriteriaService<VirtualRouterProviderVO, VirtualRouterProviderVO> sc = SearchCriteria2.create(VirtualRouterProviderVO.class);
if (id != null) {
sc.addAnd(sc.getEntity().getId(), Op.EQ, id);
}
if (cmd.getId() == null) {
return _vrProviderDao.listByEnabledAndType(cmd.getEnabled(), VirtualRouterProviderType.VirtualRouter);
if (nspId != null) {
sc.addAnd(sc.getEntity().getNspId(), Op.EQ, nspId);
}
//Search by Id
List<VirtualRouterProviderVO> list = new ArrayList<VirtualRouterProviderVO>();
VirtualRouterProviderVO provider = _vrProviderDao.findById(cmd.getId());
if (provider != null) {
list.add(provider);
if (enabled != null) {
sc.addAnd(sc.getEntity().isEnabled(), Op.EQ, enabled);
}
return list;
return sc.list();
}
}