Moved response building for ServiceOffering/ResourceLimit commands to ApiResponseHelper class.

This commit is contained in:
alena 2010-11-02 11:28:38 -07:00
parent bd23cfec05
commit 0c044a10d1
6 changed files with 55 additions and 85 deletions

View File

@ -23,10 +23,15 @@ import java.util.List;
import com.cloud.api.response.AccountResponse;
import com.cloud.api.response.DiskOfferingResponse;
import com.cloud.api.response.DomainResponse;
import com.cloud.api.response.ResourceLimitResponse;
import com.cloud.api.response.ServiceOfferingResponse;
import com.cloud.api.response.UserResponse;
import com.cloud.configuration.ResourceCount.ResourceType;
import com.cloud.configuration.ResourceLimitVO;
import com.cloud.domain.DomainVO;
import com.cloud.offering.NetworkOffering.GuestIpType;
import com.cloud.server.Criteria;
import com.cloud.service.ServiceOfferingVO;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.user.Account;
import com.cloud.user.UserAccount;
@ -182,5 +187,45 @@ public class ApiResponseHelper {
diskOfferingResponse.setTags(offering.getTags());
return diskOfferingResponse;
}
public static ResourceLimitResponse createResourceLimitResponse (ResourceLimitVO limit) {
ResourceLimitResponse resourceLimitResponse = new ResourceLimitResponse();
if (limit.getDomainId() != null) {
resourceLimitResponse.setDomainId(limit.getDomainId());
resourceLimitResponse.setDomainName(ApiDBUtils.findDomainById(limit.getDomainId()).getName());
}
if (limit.getAccountId() != null) {
Account accountTemp = ApiDBUtils.findAccountById(limit.getAccountId());
if (accountTemp != null) {
resourceLimitResponse.setAccountName(accountTemp.getAccountName());
resourceLimitResponse.setDomainId(accountTemp.getDomainId());
resourceLimitResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
}
}
resourceLimitResponse.setResourceType(Integer.valueOf(limit.getType().ordinal()).toString());
resourceLimitResponse.setMax(limit.getMax());
return resourceLimitResponse;
}
public static ServiceOfferingResponse createServiceOfferingResponse (ServiceOfferingVO offering) {
ServiceOfferingResponse offeringResponse = new ServiceOfferingResponse();
offeringResponse.setId(offering.getId());
offeringResponse.setName(offering.getName());
offeringResponse.setDisplayText(offering.getDisplayText());
offeringResponse.setCpuNumber(offering.getCpu());
offeringResponse.setCpuSpeed(offering.getSpeed());
offeringResponse.setMemory(offering.getRamSize());
offeringResponse.setCreated(offering.getCreated());
offeringResponse.setStorageType(offering.getUseLocalStorage() ? "local" : "shared");
offeringResponse.setOfferHa(offering.getOfferHA());
offeringResponse.setUseVirtualNetwork(offering.getGuestIpType().equals(GuestIpType.Virtualized));
offeringResponse.setTags(offering.getTags());
return offeringResponse;
}
}

View File

@ -21,12 +21,12 @@ 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.ServiceOfferingResponse;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.offering.NetworkOffering.GuestIpType;
import com.cloud.service.ServiceOfferingVO;
@Implementation(method="createServiceOffering", manager=ConfigurationManager.class, description="Creates a service offering.")
@ -117,20 +117,7 @@ public class CreateServiceOfferingCmd extends BaseCmd {
@Override @SuppressWarnings("unchecked")
public ServiceOfferingResponse getResponse() {
ServiceOfferingVO offering = (ServiceOfferingVO)getResponseObject();
ServiceOfferingResponse response = new ServiceOfferingResponse();
response.setId(offering.getId());
response.setName(offering.getName());
response.setDisplayText(offering.getDisplayText());
response.setCpuNumber(offering.getCpu());
response.setCpuSpeed(offering.getSpeed());
response.setCreated(offering.getCreated());
response.setMemory(offering.getRamSize());
response.setOfferHa(offering.getOfferHA());
response.setStorageType(offering.getUseLocalStorage() ? "local" : "shared");
response.setTags(offering.getTags());
response.setUseVirtualNetwork(offering.getGuestIpType().equals(GuestIpType.Virtualized));
ServiceOfferingResponse response = ApiResponseHelper.createServiceOfferingResponse(offering);
response.setResponseName(getName());
return response;
}

View File

@ -24,14 +24,13 @@ import java.util.List;
import org.apache.log4j.Logger;
import com.cloud.api.ApiConstants;
import com.cloud.api.ApiDBUtils;
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.ResourceLimitResponse;
import com.cloud.configuration.ResourceLimitVO;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
@Implementation(method="searchForLimits", manager=AccountManager.class, description="Lists resource limits.")
@ -96,24 +95,7 @@ public class ListResourceLimitsCmd extends BaseListCmd {
ListResponse<ResourceLimitResponse> response = new ListResponse<ResourceLimitResponse>();
List<ResourceLimitResponse> limitResponses = new ArrayList<ResourceLimitResponse>();
for (ResourceLimitVO limit : limits) {
ResourceLimitResponse resourceLimitResponse = new ResourceLimitResponse();
if (limit.getDomainId() != null) {
resourceLimitResponse.setDomainId(limit.getDomainId());
resourceLimitResponse.setDomainName(ApiDBUtils.findDomainById(limit.getDomainId()).getName());
}
if (limit.getAccountId() != null) {
Account accountTemp = ApiDBUtils.findAccountById(limit.getAccountId());
if (accountTemp != null) {
resourceLimitResponse.setAccountName(accountTemp.getAccountName());
resourceLimitResponse.setDomainId(accountTemp.getDomainId());
resourceLimitResponse.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
}
}
resourceLimitResponse.setResourceType(Integer.valueOf(limit.getType().ordinal()).toString());
resourceLimitResponse.setMax(limit.getMax());
ResourceLimitResponse resourceLimitResponse = ApiResponseHelper.createResourceLimitResponse(limit);
resourceLimitResponse.setResponseName("resourcelimit");
limitResponses.add(resourceLimitResponse);
}

View File

@ -23,12 +23,12 @@ 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.ServiceOfferingResponse;
import com.cloud.offering.NetworkOffering.GuestIpType;
import com.cloud.service.ServiceOfferingVO;
@Implementation(method="searchForServiceOfferings", description="Lists all available service offerings.")
@ -82,19 +82,7 @@ public class ListServiceOfferingsCmd extends BaseListCmd {
ListResponse<ServiceOfferingResponse> response = new ListResponse<ServiceOfferingResponse>();
List<ServiceOfferingResponse> offeringResponses = new ArrayList<ServiceOfferingResponse>();
for (ServiceOfferingVO offering : offerings) {
ServiceOfferingResponse offeringResponse = new ServiceOfferingResponse();
offeringResponse.setId(offering.getId());
offeringResponse.setName(offering.getName());
offeringResponse.setDisplayText(offering.getDisplayText());
offeringResponse.setCpuNumber(offering.getCpu());
offeringResponse.setCpuSpeed(offering.getSpeed());
offeringResponse.setMemory(offering.getRamSize());
offeringResponse.setCreated(offering.getCreated());
offeringResponse.setStorageType(offering.getUseLocalStorage() ? "local" : "shared");
offeringResponse.setOfferHa(offering.getOfferHA());
offeringResponse.setUseVirtualNetwork(offering.getGuestIpType().equals(GuestIpType.Virtualized));
offeringResponse.setTags(offering.getTags());
ServiceOfferingResponse offeringResponse = ApiResponseHelper.createServiceOfferingResponse(offering);
offeringResponse.setResponseName("serviceoffering");
offeringResponses.add(offeringResponse);
}

View File

@ -21,13 +21,12 @@ 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;
import com.cloud.api.response.ResourceLimitResponse;
import com.cloud.configuration.ResourceLimitVO;
import com.cloud.user.Account;
import com.cloud.user.AccountManager;
@Implementation(method="updateResourceLimit", manager=AccountManager.class, description="Updates resource limits for an account or domain.")
@ -89,24 +88,7 @@ public class UpdateResourceLimitCmd extends BaseCmd {
@Override @SuppressWarnings("unchecked")
public ResourceLimitResponse getResponse() {
ResourceLimitVO limit = (ResourceLimitVO) getResponseObject();
ResourceLimitResponse response = new ResourceLimitResponse();
if (limit.getDomainId() != null) {
response.setDomainId(limit.getDomainId());
response.setDomainName(ApiDBUtils.findDomainById(limit.getDomainId()).getName());
}
if (limit.getAccountId() != null) {
Account accountTemp = ApiDBUtils.findAccountById(limit.getAccountId());
if (accountTemp != null) {
response.setAccountName(accountTemp.getAccountName());
response.setDomainId(accountTemp.getDomainId());
response.setDomainName(ApiDBUtils.findDomainById(accountTemp.getDomainId()).getName());
}
}
response.setResourceType(Integer.valueOf(limit.getType().ordinal()).toString());
response.setMax(limit.getMax());
ResourceLimitResponse response = ApiResponseHelper.createResourceLimitResponse(limit);
response.setResponseName(getName());
return response;
}

View File

@ -20,12 +20,12 @@ 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.ServiceOfferingResponse;
import com.cloud.configuration.ConfigurationManager;
import com.cloud.offering.NetworkOffering.GuestIpType;
import com.cloud.service.ServiceOfferingVO;
@Implementation(method="updateServiceOffering", manager=ConfigurationManager.class, description="Updates a service offering.")
@ -95,21 +95,7 @@ public class UpdateServiceOfferingCmd extends BaseCmd {
@Override @SuppressWarnings("unchecked")
public ServiceOfferingResponse getResponse() {
ServiceOfferingVO offering = (ServiceOfferingVO) getResponseObject();
ServiceOfferingResponse response = new ServiceOfferingResponse();
response.setId(offering.getId());
response.setName(offering.getName());
response.setDisplayText(offering.getDisplayText());
response.setCpuNumber(offering.getCpu());
response.setCpuSpeed(offering.getSpeed());
response.setMemory(offering.getRamSize());
response.setCreated(offering.getCreated());
String storageType = offering.getUseLocalStorage() ? "local" : "shared";
response.setStorageType(storageType);
response.setOfferHa(offering.getOfferHA());
response.setUseVirtualNetwork(offering.getGuestIpType().equals(GuestIpType.Virtualized));
response.setTags(offering.getTags());
ServiceOfferingResponse response = ApiResponseHelper.createServiceOfferingResponse(offering);
response.setResponseName(getName());
return response;
}