mirror of https://github.com/apache/cloudstack.git
NaaS: Add response for VirtualRouterProvider
This commit is contained in:
parent
53a636518f
commit
5c1773dd26
|
|
@ -297,5 +297,6 @@ public class ApiConstants {
|
|||
public static final String CAN_ENABLE_INDIVIDUAL_SERVICE = "canenableindividualservice";
|
||||
public static final String SUPPORTED_SERVICES = "supportedservices";
|
||||
public static final String SOURCE_NAT_ENABLED = "sourcenatenabled";
|
||||
public static final String NSP_ID= "nspid";
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ import com.cloud.api.response.TemplateResponse;
|
|||
import com.cloud.api.response.TrafficTypeResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.api.response.VirtualRouterProviderResponse;
|
||||
import com.cloud.api.response.VlanIpRangeResponse;
|
||||
import com.cloud.api.response.VolumeResponse;
|
||||
import com.cloud.api.response.VpnUsersResponse;
|
||||
|
|
@ -89,6 +90,7 @@ import com.cloud.network.PhysicalNetwork;
|
|||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.PhysicalNetworkTrafficType;
|
||||
import com.cloud.network.RemoteAccessVpn;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
|
|
@ -251,5 +253,7 @@ public interface ResponseGenerator {
|
|||
ProviderResponse createNetworkServiceProviderResponse(PhysicalNetworkServiceProvider result);
|
||||
|
||||
TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType result);
|
||||
|
||||
VirtualRouterProviderResponse createVirtualRouterProviderResponse(VirtualRouterProvider result);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ import com.cloud.api.Implementation;
|
|||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.PlugService;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.VirtualRouterProviderResponse;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.element.VirtualRouterElementService;
|
||||
import com.cloud.async.AsyncJob;
|
||||
import com.cloud.event.EventTypes;
|
||||
|
|
@ -37,7 +38,7 @@ import com.cloud.exception.ResourceUnavailableException;
|
|||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
@Implementation(responseObject=SuccessResponse.class, description="Configures a virtual router element.")
|
||||
@Implementation(responseObject=VirtualRouterProviderResponse.class, description="Configures a virtual router element.")
|
||||
public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(ConfigureVirtualRouterElementCmd.class.getName());
|
||||
private static final String s_name = "configurevirtualrouterelementresponse";
|
||||
|
|
@ -49,8 +50,8 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd {
|
|||
//////////////// API parameters /////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the network service provider ID of the virtual router element")
|
||||
private Long nspId;
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, required=true, description="the ID of the virtual router provider")
|
||||
private Long id;
|
||||
|
||||
@Parameter(name=ApiConstants.ENABLED, type=CommandType.BOOLEAN, required=true, description="Enabled/Disabled the service provider")
|
||||
private Boolean enabled;
|
||||
|
|
@ -59,12 +60,12 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd {
|
|||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public void setNspId(Long nspId) {
|
||||
this.nspId = nspId;
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getNspId() {
|
||||
return nspId;
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setEnabled(Boolean enabled) {
|
||||
|
|
@ -100,7 +101,7 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd {
|
|||
|
||||
@Override
|
||||
public String getEventDescription() {
|
||||
return "configuring virtual router element: " + _service.getIdByNspId(nspId);
|
||||
return "configuring virtual router provider: " + id;
|
||||
}
|
||||
|
||||
public AsyncJob.Type getInstanceType() {
|
||||
|
|
@ -108,20 +109,19 @@ public class ConfigureVirtualRouterElementCmd extends BaseAsyncCmd {
|
|||
}
|
||||
|
||||
public Long getInstanceId() {
|
||||
return _service.getIdByNspId(getNspId());
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute() throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException{
|
||||
UserContext.current().setEventDetails("Virtual router element: " + _service.getIdByNspId(nspId));
|
||||
Boolean result = _service.configure(this);
|
||||
if (result){
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setResponseName(getCommandName());
|
||||
response.setSuccess(result);
|
||||
this.setResponseObject(response);
|
||||
UserContext.current().setEventDetails("Virtual router element: " + id);
|
||||
VirtualRouterProvider result = _service.configure(this);
|
||||
if (result != null){
|
||||
VirtualRouterProviderResponse routerResponse = _responseGenerator.createVirtualRouterProviderResponse(result);
|
||||
routerResponse.setResponseName(getCommandName());
|
||||
this.setResponseObject(routerResponse);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to configure the virtual router element");
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to configure the virtual router provider");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ import com.cloud.api.Implementation;
|
|||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.PlugService;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.VirtualRouterProviderResponse;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.element.VirtualRouterElementService;
|
||||
import com.cloud.event.EventTypes;
|
||||
|
|
@ -35,7 +35,7 @@ import com.cloud.exception.ResourceAllocationException;
|
|||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
@Implementation(responseObject=SuccessResponse.class, description="Create a virtual router element.")
|
||||
@Implementation(responseObject=VirtualRouterProviderResponse.class, description="Create a virtual router element.")
|
||||
public class CreateVirtualRouterElementCmd extends BaseAsyncCreateCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(CreateVirtualRouterElementCmd.class.getName());
|
||||
private static final String s_name = "createvirtualrouterelementresponse";
|
||||
|
|
@ -81,9 +81,8 @@ public class CreateVirtualRouterElementCmd extends BaseAsyncCreateCmd {
|
|||
UserContext.current().setEventDetails("Virtual router element Id: "+getEntityId());
|
||||
VirtualRouterProvider result = _service.getCreatedElement(getEntityId());
|
||||
if (result != null) {
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
VirtualRouterProviderResponse response = _responseGenerator.createVirtualRouterProviderResponse(result);
|
||||
response.setResponseName(getCommandName());
|
||||
response.setSuccess(true);
|
||||
this.setResponseObject(response);
|
||||
}else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to add Virtual Router entity to physical network");
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
package com.cloud.api.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.PlugService;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.api.response.VirtualRouterProviderResponse;
|
||||
import com.cloud.exception.ConcurrentOperationException;
|
||||
import com.cloud.exception.InsufficientCapacityException;
|
||||
import com.cloud.exception.ResourceAllocationException;
|
||||
import com.cloud.exception.ResourceUnavailableException;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.element.VirtualRouterElementService;
|
||||
|
||||
@Implementation(description="Lists all available virtual router elements.", responseObject=VirtualRouterProviderResponse.class)
|
||||
public class ListVirtualRouterElementsCmd extends BaseListCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(ListNetworkOfferingsCmd.class.getName());
|
||||
private static final String _name = "listvirtualrouterelementsresponse";
|
||||
|
||||
@PlugService
|
||||
private VirtualRouterElementService _service;
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
//////////////// API parameters /////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.LONG, description="list virtual router elements by id")
|
||||
private Long id;
|
||||
|
||||
@Parameter(name=ApiConstants.ENABLED, type=CommandType.BOOLEAN, description="list network offerings by enabled state")
|
||||
private Boolean enabled;
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
/////////////////// Accessors ///////////////////////
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setEnabled(Boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public Boolean getEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCommandName() {
|
||||
return _name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException {
|
||||
List<? extends VirtualRouterProvider> providers = _service.searchForVirtualRouterElement(this);
|
||||
ListResponse<VirtualRouterProviderResponse> response = new ListResponse<VirtualRouterProviderResponse>();
|
||||
List<VirtualRouterProviderResponse> providerResponses = new ArrayList<VirtualRouterProviderResponse>();
|
||||
for (VirtualRouterProvider provider : providers) {
|
||||
VirtualRouterProviderResponse providerResponse = _responseGenerator.createVirtualRouterProviderResponse(provider);
|
||||
providerResponses.add(providerResponse);
|
||||
}
|
||||
response.setResponses(providerResponses);
|
||||
response.setResponseName(getCommandName());
|
||||
this.setResponseObject(response);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
package com.cloud.api.response;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.serializer.Param;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class VirtualRouterProviderResponse extends BaseResponse implements ControlledEntityResponse {
|
||||
@SerializedName(ApiConstants.ID) @Param(description="the id of the router")
|
||||
private Long id;
|
||||
|
||||
@SerializedName(ApiConstants.NSP_ID) @Param(description="the physical network service provider id of the provider")
|
||||
private Long nspId;
|
||||
|
||||
@SerializedName(ApiConstants.ENABLED) @Param(description="Enabled/Disabled the service provider")
|
||||
private Boolean enabled;
|
||||
|
||||
@SerializedName(ApiConstants.ACCOUNT) @Param(description="the account associated with the provider")
|
||||
private String accountName;
|
||||
|
||||
@SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the ipaddress")
|
||||
private Long projectId;
|
||||
|
||||
@SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the address")
|
||||
private String projectName;
|
||||
|
||||
@SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain ID associated with the provider")
|
||||
private Long domainId;
|
||||
|
||||
@SerializedName(ApiConstants.DOMAIN) @Param(description="the domain associated with the provider")
|
||||
private String domainName;
|
||||
|
||||
@Override
|
||||
public void setAccountName(String accountName) {
|
||||
this.accountName = accountName;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDomainId(Long domainId) {
|
||||
this.domainId = domainId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDomainName(String domainName) {
|
||||
this.domainName = domainName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProjectId(Long projectId) {
|
||||
this.projectId = projectId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setProjectName(String projectName) {
|
||||
this.projectName = projectName;
|
||||
}
|
||||
|
||||
public void setNspId(Long nspId) {
|
||||
this.nspId = nspId;
|
||||
}
|
||||
|
||||
public Long getNspId() {
|
||||
return nspId;
|
||||
}
|
||||
|
||||
public void setEnabled(Boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public Boolean getEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,12 +1,15 @@
|
|||
package com.cloud.network.element;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.api.commands.ConfigureVirtualRouterElementCmd;
|
||||
import com.cloud.api.commands.ListVirtualRouterElementsCmd;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.utils.component.PluggableService;
|
||||
|
||||
public interface VirtualRouterElementService extends PluggableService{
|
||||
boolean configure(ConfigureVirtualRouterElementCmd cmd);
|
||||
VirtualRouterProvider configure(ConfigureVirtualRouterElementCmd cmd);
|
||||
VirtualRouterProvider addElement(Long nspId);
|
||||
Long getIdByNspId(Long nspId);
|
||||
VirtualRouterProvider getCreatedElement(long id);
|
||||
List<? extends VirtualRouterProvider> searchForVirtualRouterElement(ListVirtualRouterElementsCmd cmd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,3 +4,4 @@
|
|||
#### router commands
|
||||
createVirtualRouterElement=com.cloud.api.commands.CreateVirtualRouterElementCmd;7
|
||||
configureVirtualRouterElement=com.cloud.api.commands.ConfigureVirtualRouterElementCmd;7
|
||||
listVirtualRouterElements=com.cloud.api.commands.ListVirtualRouterElementsCmd;7
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ import com.cloud.api.response.TemplateResponse;
|
|||
import com.cloud.api.response.TrafficTypeResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.api.response.VirtualRouterProviderResponse;
|
||||
import com.cloud.api.response.VlanIpRangeResponse;
|
||||
import com.cloud.api.response.VolumeResponse;
|
||||
import com.cloud.api.response.VpnUsersResponse;
|
||||
|
|
@ -126,6 +127,7 @@ import com.cloud.network.PhysicalNetwork;
|
|||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.PhysicalNetworkTrafficType;
|
||||
import com.cloud.network.RemoteAccessVpn;
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.VpnUser;
|
||||
import com.cloud.network.router.VirtualRouter;
|
||||
import com.cloud.network.rules.FirewallRule;
|
||||
|
|
@ -2632,4 +2634,13 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setObjectName("traffictype");
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProviderResponse createVirtualRouterProviderResponse(VirtualRouterProvider result) {
|
||||
VirtualRouterProviderResponse response = new VirtualRouterProviderResponse();
|
||||
response.setId(result.getId());
|
||||
response.setNspId(result.getNspId());
|
||||
response.setEnabled(result.isEnabled());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,10 +17,16 @@
|
|||
*/
|
||||
package com.cloud.network.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.cloud.network.VirtualRouterProvider;
|
||||
import com.cloud.network.element.VirtualRouterProviderVO;
|
||||
import com.cloud.network.VirtualRouterProvider.VirtualRouterProviderType;
|
||||
import com.cloud.utils.db.GenericDao;
|
||||
|
||||
public interface VirtualRouterProviderDao extends GenericDao<VirtualRouterProviderVO, Long> {
|
||||
public VirtualRouterProviderVO findByNspIdAndType(long nspId, VirtualRouterProviderType type);
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, VirtualRouterProviderType type);
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, VirtualRouterProviderType type);
|
||||
public List<VirtualRouterProviderVO> listByType(VirtualRouterProviderType type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@
|
|||
*/
|
||||
package com.cloud.network.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.ejb.Local;
|
||||
|
||||
import com.cloud.network.element.VirtualRouterProviderVO;
|
||||
|
|
@ -33,9 +35,11 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
|||
public VirtualRouterProviderDaoImpl() {
|
||||
super();
|
||||
AllFieldsSearch = createSearchBuilder();
|
||||
AllFieldsSearch.and("id", AllFieldsSearch.entity().getId(), SearchCriteria.Op.EQ);
|
||||
AllFieldsSearch.and("nsp_id", AllFieldsSearch.entity().getNspId(), SearchCriteria.Op.EQ);
|
||||
AllFieldsSearch.and("uuid", AllFieldsSearch.entity().getUuid(), SearchCriteria.Op.EQ);
|
||||
AllFieldsSearch.and("type", AllFieldsSearch.entity().getType(), SearchCriteria.Op.EQ);
|
||||
AllFieldsSearch.and("enabled", AllFieldsSearch.entity().isEnabled(), SearchCriteria.Op.EQ);
|
||||
AllFieldsSearch.done();
|
||||
}
|
||||
|
||||
|
|
@ -46,4 +50,28 @@ public class VirtualRouterProviderDaoImpl extends GenericDaoBase<VirtualRouterPr
|
|||
sc.setParameters("type", type);
|
||||
return findOneBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VirtualRouterProviderVO> listByEnabledAndType(boolean enabled, VirtualRouterProviderType type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("enabled", enabled);
|
||||
sc.setParameters("type", type);
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VirtualRouterProviderVO findByIdAndEnabledAndType(long id, boolean enabled, VirtualRouterProviderType type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("id", id);
|
||||
sc.setParameters("enabled", enabled);
|
||||
sc.setParameters("type", type);
|
||||
return findOneBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VirtualRouterProviderVO> listByType(VirtualRouterProviderType type) {
|
||||
SearchCriteria<VirtualRouterProviderVO> sc = AllFieldsSearch.create();
|
||||
sc.setParameters("type", type);
|
||||
return listBy(sc);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
package com.cloud.network.element;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -26,6 +27,7 @@ import javax.ejb.Local;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.commands.ConfigureVirtualRouterElementCmd;
|
||||
import com.cloud.api.commands.ListVirtualRouterElementsCmd;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.dc.DataCenter;
|
||||
|
|
@ -381,17 +383,17 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean configure(ConfigureVirtualRouterElementCmd cmd) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findByNspIdAndType(cmd.getNspId(), VirtualRouterProviderType.VirtualRouter);
|
||||
public VirtualRouterProvider configure(ConfigureVirtualRouterElementCmd cmd) {
|
||||
VirtualRouterProviderVO element = _vrProviderDao.findById(cmd.getId());
|
||||
if (element == null) {
|
||||
s_logger.trace("Can't find element with network service provider id " + cmd.getNspId());
|
||||
return false;
|
||||
s_logger.trace("Can't find element with network service provider id " + cmd.getId());
|
||||
return null;
|
||||
}
|
||||
|
||||
element.setEnabled(cmd.getEnabled());
|
||||
_vrProviderDao.persist(element);
|
||||
|
||||
return true;
|
||||
return element;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -456,7 +458,6 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getIdByNspId(Long nspId) {
|
||||
VirtualRouterProviderVO vr = _vrProviderDao.findByNspIdAndType(nspId, VirtualRouterProviderType.VirtualRouter);
|
||||
return vr.getId();
|
||||
|
|
@ -568,4 +569,21 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends VirtualRouterProvider> searchForVirtualRouterElement(ListVirtualRouterElementsCmd cmd) {
|
||||
if (cmd.getEnabled() == null && cmd.getId() == null) {
|
||||
return _vrProviderDao.listByType(VirtualRouterProviderType.VirtualRouter);
|
||||
}
|
||||
if (cmd.getId() == null) {
|
||||
return _vrProviderDao.listByEnabledAndType(cmd.getEnabled(), VirtualRouterProviderType.VirtualRouter);
|
||||
}
|
||||
//Search by Id
|
||||
List<VirtualRouterProviderVO> list = new ArrayList<VirtualRouterProviderVO>();
|
||||
VirtualRouterProviderVO provider = _vrProviderDao.findById(cmd.getId());
|
||||
if (provider != null) {
|
||||
list.add(provider);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue