diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 193ab995586..612a078ecf2 100644 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -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; + } + } diff --git a/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java b/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java index 020178d4308..f0fe155dc4b 100644 --- a/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java +++ b/server/src/com/cloud/api/commands/CreateServiceOfferingCmd.java @@ -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; } diff --git a/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java b/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java index 6958471b263..f1982d1094c 100644 --- a/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java +++ b/server/src/com/cloud/api/commands/ListResourceLimitsCmd.java @@ -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 response = new ListResponse(); List limitResponses = new ArrayList(); 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); } diff --git a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java index ff09dddd63f..b395cf7ca23 100644 --- a/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java +++ b/server/src/com/cloud/api/commands/ListServiceOfferingsCmd.java @@ -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 response = new ListResponse(); List offeringResponses = new ArrayList(); 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); } diff --git a/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java b/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java index 3b473bb608a..0c4f1ed0a7e 100644 --- a/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java +++ b/server/src/com/cloud/api/commands/UpdateResourceLimitCmd.java @@ -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; } diff --git a/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java b/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java index 57f65597c45..8d6033614bc 100644 --- a/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java +++ b/server/src/com/cloud/api/commands/UpdateServiceOfferingCmd.java @@ -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; }