mirror of https://github.com/apache/cloudstack.git
NaaS: Update listVirtualRouterElements to accept nspid as parameter
Also fix VirtualRouterProviderResponse by adding objectName.
This commit is contained in:
parent
9d4b800e29
commit
7adedca8a3
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue