From c91c977fba5576a0ae98c5a42fbdb13b389f60b9 Mon Sep 17 00:00:00 2001 From: abhishek Date: Fri, 12 Nov 2010 11:24:34 -0800 Subject: [PATCH] bug 6290: we will be returning the service offering details for a root disk in the list volumes cmd, as opposed to the disk offering which was misleading status 6290: resolved fixed --- .../src/com/cloud/api/ApiResponseHelper.java | 18 +++++++--- .../cloud/api/response/VolumeResponse.java | 35 ++++++++++++++++++- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 81da1aa6f87..e1ec0773218 100644 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -101,6 +101,7 @@ import com.cloud.vm.SystemVm; import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VmStats; +import com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type; public class ApiResponseHelper { @@ -874,11 +875,20 @@ public class ApiResponseHelper { } volResponse.setStorageType(storageType); - volResponse.setDiskOfferingId(volume.getDiskOfferingId()); - + if(volume.getVolumeType().equals(Volume.VolumeType.ROOT)){ + volResponse.setServiceOfferingId(volume.getDiskOfferingId()); + }else{ + volResponse.setDiskOfferingId(volume.getDiskOfferingId()); + } + DiskOfferingVO diskOffering = ApiDBUtils.findDiskOfferingById(volume.getDiskOfferingId()); - volResponse.setDiskOfferingName(diskOffering.getName()); - volResponse.setDiskOfferingDisplayText(diskOffering.getDisplayText()); + if(volume.getVolumeType().equals(Volume.VolumeType.ROOT)){ + volResponse.setServiceOfferingName(diskOffering.getName()); + volResponse.setServiceOfferingDisplayText(diskOffering.getDisplayText()); + }else{ + volResponse.setDiskOfferingName(diskOffering.getName()); + volResponse.setDiskOfferingDisplayText(diskOffering.getDisplayText()); + } Long poolId = volume.getPoolId(); String poolName = (poolId == null) ? "none" : ApiDBUtils.findStoragePoolById(poolId).getName(); diff --git a/server/src/com/cloud/api/response/VolumeResponse.java b/server/src/com/cloud/api/response/VolumeResponse.java index 3166996aea4..c7338eea2c7 100644 --- a/server/src/com/cloud/api/response/VolumeResponse.java +++ b/server/src/com/cloud/api/response/VolumeResponse.java @@ -110,7 +110,16 @@ public class VolumeResponse extends BaseResponse { @SerializedName("destroyed") @Param(description="the boolean state of whether the volume is destroyed or not") private Boolean destroyed; - + + @SerializedName(ApiConstants.SERVICE_OFFERING_ID) @Param(description="ID of the service offering for root disk") + private Long serviceOfferingId; + + @SerializedName("serviceofferingname") @Param(description="name of the service offering for root disk") + private String serviceOfferingName; + + @SerializedName("serviceofferingdisplaytext") @Param(description="the display text of the service offering for root disk") + private String serviceOfferingDisplayText; + public Boolean getDestroyed() { return destroyed; } @@ -342,4 +351,28 @@ public class VolumeResponse extends BaseResponse { public void setAttached(Date attached) { this.attached = attached; } + + public Long getServiceOfferingId() { + return serviceOfferingId; + } + + public void setServiceOfferingId(Long serviceOfferingId) { + this.serviceOfferingId = serviceOfferingId; + } + + public String getServiceOfferingName() { + return serviceOfferingName; + } + + public void setServiceOfferingName(String serviceOfferingName) { + this.serviceOfferingName = serviceOfferingName; + } + + public String getServiceOfferingDisplayText() { + return serviceOfferingDisplayText; + } + + public void setServiceOfferingDisplayText(String serviceOfferingDisplayText) { + this.serviceOfferingDisplayText = serviceOfferingDisplayText; + } }