mirror of https://github.com/apache/cloudstack.git
CloudStack CLOUDSTACK-4160
listUcsManagers API needs to be able to take in id parameter
This commit is contained in:
parent
893619dece
commit
7cbd66f71c
|
|
@ -408,11 +408,25 @@ public class UcsManagerImpl implements UcsManager {
|
|||
|
||||
@Override
|
||||
public ListResponse<UcsManagerResponse> listUcsManager(ListUcsManagerCmd cmd) {
|
||||
List<UcsManagerResponse> rsps = new ArrayList<UcsManagerResponse>();
|
||||
ListResponse<UcsManagerResponse> response = new ListResponse<UcsManagerResponse>();
|
||||
if (cmd.getId() != null) {
|
||||
UcsManagerVO vo = ucsDao.findById(cmd.getId());
|
||||
UcsManagerResponse rsp = new UcsManagerResponse();
|
||||
rsp.setObjectName("ucsmanager");
|
||||
rsp.setId(vo.getUuid());
|
||||
rsp.setName(vo.getName());
|
||||
rsp.setUrl(vo.getUrl());
|
||||
rsp.setZoneId(zoneIdToUuid(vo.getZoneId()));
|
||||
rsps.add(rsp);
|
||||
response.setResponses(rsps);
|
||||
return response;
|
||||
}
|
||||
|
||||
SearchCriteriaService<UcsManagerVO, UcsManagerVO> serv = SearchCriteria2.create(UcsManagerVO.class);
|
||||
serv.addAnd(serv.getEntity().getZoneId(), Op.EQ, cmd.getZoneId());
|
||||
List<UcsManagerVO> vos = serv.list();
|
||||
|
||||
List<UcsManagerResponse> rsps = new ArrayList<UcsManagerResponse>(vos.size());
|
||||
for (UcsManagerVO vo : vos) {
|
||||
UcsManagerResponse rsp = new UcsManagerResponse();
|
||||
rsp.setObjectName("ucsmanager");
|
||||
|
|
@ -422,7 +436,6 @@ public class UcsManagerImpl implements UcsManager {
|
|||
rsp.setZoneId(zoneIdToUuid(vo.getZoneId()));
|
||||
rsps.add(rsp);
|
||||
}
|
||||
ListResponse<UcsManagerResponse> response = new ListResponse<UcsManagerResponse>();
|
||||
response.setResponses(rsps);
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,10 @@ import org.apache.cloudstack.api.BaseCmd;
|
|||
import org.apache.cloudstack.api.BaseListCmd;
|
||||
import org.apache.cloudstack.api.Parameter;
|
||||
import org.apache.cloudstack.api.ServerApiException;
|
||||
import org.apache.cloudstack.api.BaseCmd.CommandType;
|
||||
import org.apache.cloudstack.api.response.ListResponse;
|
||||
import org.apache.cloudstack.api.response.UcsManagerResponse;
|
||||
import org.apache.cloudstack.api.response.VolumeResponse;
|
||||
import org.apache.cloudstack.api.response.ZoneResponse;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
|
@ -53,6 +55,10 @@ public class ListUcsManagerCmd extends BaseListCmd {
|
|||
|
||||
@Parameter(name=ApiConstants.ZONE_ID, type=CommandType.UUID, description="the zone id", entityType=ZoneResponse.class, required=true)
|
||||
private Long zoneId;
|
||||
|
||||
@Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType=UcsManagerResponse.class,
|
||||
description="the ID of the ucs manager")
|
||||
private Long id;
|
||||
|
||||
@Inject
|
||||
private UcsManager mgr;
|
||||
|
|
@ -88,4 +94,12 @@ public class ListUcsManagerCmd extends BaseListCmd {
|
|||
public void setZoneId(Long zoneId) {
|
||||
this.zoneId = zoneId;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue