mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
Fixed updatePod Api to return embedded object instead of "success" response
This commit is contained in:
parent
426e445811
commit
8c0e2fa7ec
@ -31,6 +31,7 @@ import com.cloud.api.response.DomainRouterResponse;
|
||||
import com.cloud.api.response.HostResponse;
|
||||
import com.cloud.api.response.IPAddressResponse;
|
||||
import com.cloud.api.response.LoadBalancerResponse;
|
||||
import com.cloud.api.response.PodResponse;
|
||||
import com.cloud.api.response.ResourceLimitResponse;
|
||||
import com.cloud.api.response.ServiceOfferingResponse;
|
||||
import com.cloud.api.response.SnapshotPolicyResponse;
|
||||
@ -39,11 +40,13 @@ import com.cloud.api.response.SystemVmResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.api.response.VlanIpRangeResponse;
|
||||
import com.cloud.api.response.ZoneResponse;
|
||||
import com.cloud.async.AsyncJobVO;
|
||||
import com.cloud.configuration.ConfigurationVO;
|
||||
import com.cloud.configuration.ResourceCount.ResourceType;
|
||||
import com.cloud.configuration.ResourceLimitVO;
|
||||
import com.cloud.dc.ClusterVO;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.dc.Vlan.VlanType;
|
||||
import com.cloud.dc.VlanVO;
|
||||
@ -66,6 +69,7 @@ import com.cloud.storage.SnapshotPolicyVO;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.test.PodZoneConfig;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserAccount;
|
||||
import com.cloud.user.UserContext;
|
||||
@ -714,4 +718,49 @@ public class ApiResponseHelper {
|
||||
return lbResponse;
|
||||
}
|
||||
|
||||
public static PodResponse createPodResponse (HostPodVO pod) {
|
||||
String[] ipRange = new String[2];
|
||||
if (pod.getDescription() != null && pod.getDescription().length() > 0) {
|
||||
ipRange = pod.getDescription().split("-");
|
||||
} else {
|
||||
ipRange[0] = pod.getDescription();
|
||||
}
|
||||
|
||||
PodResponse podResponse = new PodResponse();
|
||||
podResponse.setId(pod.getId());
|
||||
podResponse.setName(pod.getName());
|
||||
podResponse.setZoneId(pod.getDataCenterId());
|
||||
podResponse.setZoneName(PodZoneConfig.getZoneName(pod.getDataCenterId()));
|
||||
podResponse.setCidr(pod.getCidrAddress() +"/" + pod.getCidrSize());
|
||||
podResponse.setStartIp(ipRange[0]);
|
||||
podResponse.setEndIp(((ipRange.length > 1) && (ipRange[1] != null)) ? ipRange[1] : "");
|
||||
podResponse.setGateway(pod.getGateway());
|
||||
|
||||
return podResponse;
|
||||
}
|
||||
|
||||
public static ZoneResponse createZoneResponse (DataCenterVO dataCenter) {
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
ZoneResponse zoneResponse = new ZoneResponse();
|
||||
zoneResponse.setId(dataCenter.getId());
|
||||
zoneResponse.setName(dataCenter.getName());
|
||||
|
||||
if ((dataCenter.getDescription() != null) && !dataCenter.getDescription().equalsIgnoreCase("null")) {
|
||||
zoneResponse.setDescription(dataCenter.getDescription());
|
||||
}
|
||||
|
||||
if ((account == null) || (account.getType() == Account.ACCOUNT_TYPE_ADMIN)) {
|
||||
zoneResponse.setDns1(dataCenter.getDns1());
|
||||
zoneResponse.setDns2(dataCenter.getDns2());
|
||||
zoneResponse.setInternalDns1(dataCenter.getInternalDns1());
|
||||
zoneResponse.setInternalDns2(dataCenter.getInternalDns2());
|
||||
zoneResponse.setVlan(dataCenter.getVnet());
|
||||
zoneResponse.setGuestCidrAddress(dataCenter.getGuestNetworkCidr());
|
||||
}
|
||||
|
||||
return zoneResponse;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -21,7 +21,7 @@ package com.cloud.api.commands;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
@ -98,17 +98,7 @@ public class CreatePodCmd extends BaseCmd {
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public PodResponse getResponse() {
|
||||
HostPodVO pod = (HostPodVO)getResponseObject();
|
||||
|
||||
PodResponse response = new PodResponse();
|
||||
response.setId(pod.getId());
|
||||
response.setCidr(pod.getCidrAddress() + "/" + pod.getCidrSize());
|
||||
response.setEndIp(endIp == null ? "" : endIp);
|
||||
response.setStartIp(startIp);
|
||||
response.setZoneName(ApiDBUtils.findZoneById(pod.getDataCenterId()).getName());
|
||||
response.setGateway(pod.getGateway());
|
||||
response.setName(pod.getName());
|
||||
response.setZoneId(pod.getDataCenterId());
|
||||
|
||||
PodResponse response = ApiResponseHelper.createPodResponse(pod);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ package com.cloud.api.commands;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
@ -118,19 +119,8 @@ public class CreateZoneCmd extends BaseCmd {
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public ZoneResponse getResponse() {
|
||||
DataCenterVO zone = (DataCenterVO)getResponseObject();
|
||||
|
||||
ZoneResponse response = new ZoneResponse();
|
||||
response.setId(zone.getId());
|
||||
response.setName(zone.getName());
|
||||
response.setDns1(zone.getDns1());
|
||||
response.setDns2(zone.getDns2());
|
||||
response.setInternalDns1(zone.getInternalDns1());
|
||||
response.setInternalDns2(zone.getInternalDns2());
|
||||
response.setVlan(zone.getVnet());
|
||||
response.setGuestCidrAddress(zone.getGuestNetworkCidr());
|
||||
response.setDomain(zone.getDomain());
|
||||
ZoneResponse response = ApiResponseHelper.createZoneResponse(zone);
|
||||
response.setResponseName(getName());
|
||||
response.setDomainId(zone.getDomainId());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,13 +24,13 @@ import java.util.List;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.api.response.PodResponse;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.test.PodZoneConfig;
|
||||
|
||||
@Implementation(method="searchForPods", description="Lists all Pods.")
|
||||
public class ListPodsByCmd extends BaseListCmd {
|
||||
@ -84,23 +84,7 @@ public class ListPodsByCmd extends BaseListCmd {
|
||||
ListResponse<PodResponse> response = new ListResponse<PodResponse>();
|
||||
List<PodResponse> podResponses = new ArrayList<PodResponse>();
|
||||
for (HostPodVO pod : pods) {
|
||||
String[] ipRange = new String[2];
|
||||
if (pod.getDescription() != null && pod.getDescription().length() > 0) {
|
||||
ipRange = pod.getDescription().split("-");
|
||||
} else {
|
||||
ipRange[0] = pod.getDescription();
|
||||
}
|
||||
|
||||
PodResponse podResponse = new PodResponse();
|
||||
podResponse.setId(pod.getId());
|
||||
podResponse.setName(pod.getName());
|
||||
podResponse.setZoneId(pod.getDataCenterId());
|
||||
podResponse.setZoneName(PodZoneConfig.getZoneName(pod.getDataCenterId()));
|
||||
podResponse.setCidr(pod.getCidrAddress() +"/" + pod.getCidrSize());
|
||||
podResponse.setStartIp(ipRange[0]);
|
||||
podResponse.setEndIp(((ipRange.length > 1) && (ipRange[1] != null)) ? ipRange[1] : "");
|
||||
podResponse.setGateway(pod.getGateway());
|
||||
|
||||
PodResponse podResponse = ApiResponseHelper.createPodResponse(pod);
|
||||
podResponse.setResponseName("pod");
|
||||
podResponses.add(podResponse);
|
||||
}
|
||||
|
||||
@ -23,14 +23,13 @@ import java.util.List;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.api.response.ZoneResponse;
|
||||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
@Implementation(method="listDataCenters")
|
||||
public class ListZonesByCmd extends BaseListCmd {
|
||||
@ -65,28 +64,11 @@ public class ListZonesByCmd extends BaseListCmd {
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public ListResponse<ZoneResponse> getResponse() {
|
||||
List<DataCenterVO> dataCenters = (List<DataCenterVO>)getResponseObject();
|
||||
Account account = (Account)UserContext.current().getAccount();
|
||||
|
||||
ListResponse<ZoneResponse> response = new ListResponse<ZoneResponse>();
|
||||
List<ZoneResponse> zoneResponses = new ArrayList<ZoneResponse>();
|
||||
for (DataCenterVO dataCenter : dataCenters) {
|
||||
ZoneResponse zoneResponse = new ZoneResponse();
|
||||
zoneResponse.setId(dataCenter.getId());
|
||||
zoneResponse.setName(dataCenter.getName());
|
||||
|
||||
if ((dataCenter.getDescription() != null) && !dataCenter.getDescription().equalsIgnoreCase("null")) {
|
||||
zoneResponse.setDescription(dataCenter.getDescription());
|
||||
}
|
||||
|
||||
if ((account == null) || (account.getType() == Account.ACCOUNT_TYPE_ADMIN)) {
|
||||
zoneResponse.setDns1(dataCenter.getDns1());
|
||||
zoneResponse.setDns2(dataCenter.getDns2());
|
||||
zoneResponse.setInternalDns1(dataCenter.getInternalDns1());
|
||||
zoneResponse.setInternalDns2(dataCenter.getInternalDns2());
|
||||
zoneResponse.setVlan(dataCenter.getVnet());
|
||||
zoneResponse.setGuestCidrAddress(dataCenter.getGuestNetworkCidr());
|
||||
}
|
||||
|
||||
ZoneResponse zoneResponse = ApiResponseHelper.createZoneResponse(dataCenter);
|
||||
zoneResponse.setResponseName("zone");
|
||||
zoneResponses.add(zoneResponse);
|
||||
}
|
||||
|
||||
@ -21,11 +21,13 @@ package com.cloud.api.commands;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.PodResponse;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
|
||||
@Implementation(method="editPod", manager=ConfigurationManager.class, description="Updates a Pod.")
|
||||
public class UpdatePodCmd extends BaseCmd {
|
||||
@ -91,28 +93,11 @@ public class UpdatePodCmd extends BaseCmd {
|
||||
return s_name;
|
||||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
/* Not sure why we aren't returning the Pod here, but I'll keep the old "success" response we used to have
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public PodResponse getResponse() {
|
||||
HostPodVO pod = (HostPodVO)getResponseObject();
|
||||
|
||||
PodResponse response = new PodResponse();
|
||||
response.setId(pod.getId());
|
||||
response.setCidr(pod.getCidrAddress() + "/" + pod.getCidrSize());
|
||||
response.setEndIp(endIp == null ? "" : endIp);
|
||||
response.setStartIp(startIp);
|
||||
response.setZoneName(ApiDBUtils.findZoneById(pod.getDataCenterId()).getName());
|
||||
response.setGateway(pod.getGateway());
|
||||
response.setName(pod.getName());
|
||||
response.setZoneId(pod.getDataCenterId());
|
||||
|
||||
PodResponse response = ApiResponseHelper.createPodResponse(pod);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
*/
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(Boolean.TRUE);
|
||||
//response.setDisplayText("Successfully updated pod.");
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ package com.cloud.api.commands;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
@ -127,26 +128,14 @@ public class UpdateZoneCmd extends BaseCmd {
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public ZoneResponse getResponse() {
|
||||
ZoneResponse response = new ZoneResponse();
|
||||
|
||||
|
||||
DataCenterVO responseObject = (DataCenterVO)getResponseObject();
|
||||
if (responseObject != null) {
|
||||
response.setStatus("true");
|
||||
response.setDisplayText("Successfully updated zone");
|
||||
response.setId(responseObject.getId());
|
||||
response.setGuestCidrAddress(responseObject.getGuestNetworkCidr());
|
||||
response.setDns1(responseObject.getDns1());
|
||||
response.setDns2(responseObject.getDns2());
|
||||
response.setInternalDns1(responseObject.getInternalDns1());
|
||||
response.setInternalDns2(responseObject.getInternalDns2());
|
||||
response.setName(responseObject.getName());
|
||||
response.setVlan(responseObject.getVnet());
|
||||
response.setDomain(responseObject.getDomain());
|
||||
ZoneResponse response = ApiResponseHelper.createZoneResponse(responseObject);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update zone; internal error.");
|
||||
}
|
||||
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user