bug 7519 : Adding the extractable attribute in ListTemplates/ISOs/Volumes command

This commit is contained in:
nit 2011-01-13 15:52:23 +05:30
parent 58a80d57cc
commit f9a6d476b4
2 changed files with 17 additions and 0 deletions

11
api/src/com/cloud/api/response/VolumeResponse.java Normal file → Executable file
View File

@ -120,6 +120,9 @@ public class VolumeResponse extends BaseResponse {
@SerializedName("serviceofferingdisplaytext") @Param(description="the display text of the service offering for root disk")
private String serviceOfferingDisplayText;
@SerializedName("isextractable") @Param(description="true if the volume is extractable, false otherwise")
private Boolean extractable;
public Long getObjectId() {
return getId();
}
@ -379,4 +382,12 @@ public class VolumeResponse extends BaseResponse {
public void setServiceOfferingDisplayText(String serviceOfferingDisplayText) {
this.serviceOfferingDisplayText = serviceOfferingDisplayText;
}
public Boolean getExtractable() {
return extractable;
}
public void setExtractable(Boolean extractable) {
this.extractable = extractable;
}
}

6
server/src/com/cloud/api/ApiResponseHelper.java Normal file → Executable file
View File

@ -803,6 +803,9 @@ public class ApiResponseHelper implements ResponseGenerator {
volResponse.setHypervisor(ApiDBUtils.getVolumeHyperType(volume.getId()).toString());
volResponse.setAttached(volume.getAttached());
volResponse.setDestroyed(volume.getDestroyed());
VMTemplateVO template = ApiDBUtils.findTemplateById(volume.getTemplateId());
boolean isExtractable = template != null&& template.isExtractable()&& !(template.getTemplateType()== TemplateType.SYSTEM);
volResponse.setExtractable(isExtractable);
volResponse.setObjectName("volume");
return volResponse;
}
@ -1335,6 +1338,7 @@ public class ApiResponseHelper implements ResponseGenerator {
templateResponse.setReady(templateHostRef.getDownloadState()==Status.DOWNLOADED);
templateResponse.setFeatured(template.isFeatured());
templateResponse.setExtractable(template.isExtractable() && !(template.getTemplateType()== TemplateType.SYSTEM));
templateResponse.setPasswordEnabled(template.getEnablePassword());
templateResponse.setCrossZones(template.isCrossZones());
templateResponse.setFormat(template.getFormat());
@ -1851,6 +1855,7 @@ public class ApiResponseHelper implements ResponseGenerator {
isoResponse.setName(iso.getName());
isoResponse.setDisplayText(iso.getDisplayText());
isoResponse.setPublic(iso.isPublicTemplate());
isoResponse.setExtractable(iso.isExtractable() && !(iso.getTemplateType()== TemplateType.PERHOST));
isoResponse.setReady(true);
isoResponse.setBootable(iso.isBootable());
isoResponse.setFeatured(iso.isFeatured());
@ -1875,6 +1880,7 @@ public class ApiResponseHelper implements ResponseGenerator {
isoResponse.setName(iso.getName());
isoResponse.setDisplayText(iso.getDisplayText());
isoResponse.setPublic(iso.isPublicTemplate());
isoResponse.setExtractable(iso.isExtractable() && !(iso.getTemplateType()== TemplateType.PERHOST));
isoResponse.setCreated(isoHost.getCreated());
isoResponse.setReady(isoHost.getDownloadState() == Status.DOWNLOADED);
isoResponse.setBootable(iso.isBootable());