From c73f5da27678ff6e9125dc9cd8d418cede8c5247 Mon Sep 17 00:00:00 2001 From: Nitin Date: Wed, 3 Aug 2011 17:41:29 +0530 Subject: [PATCH] bug 10725: add checksum to listIso and registerIso (its an optional parameter for this command). status 10725: resolved fixed --- api/src/com/cloud/api/commands/RegisterIsoCmd.java | 7 +++++++ server/src/com/cloud/api/ApiResponseHelper.java | 2 ++ server/src/com/cloud/template/TemplateAdapterBase.java | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/api/src/com/cloud/api/commands/RegisterIsoCmd.java b/api/src/com/cloud/api/commands/RegisterIsoCmd.java index 0392eea4dbc..a443a48d150 100755 --- a/api/src/com/cloud/api/commands/RegisterIsoCmd.java +++ b/api/src/com/cloud/api/commands/RegisterIsoCmd.java @@ -78,6 +78,9 @@ public class RegisterIsoCmd extends BaseCmd { @Parameter(name=ApiConstants.ACCOUNT, type=CommandType.STRING, description="an optional account name. Must be used with domainId.") private String accountName; + @Parameter(name=ApiConstants.CHECKSUM, type=CommandType.STRING, description="the MD5 checksum value of this ISO") + private String checksum; + ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// @@ -126,6 +129,10 @@ public class RegisterIsoCmd extends BaseCmd { return accountName; } + public String getChecksum() { + return checksum; + } + ///////////////////////////////////////////////////// /////////////// API Implementation/////////////////// ///////////////////////////////////////////////////// diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index eb4fadf225d..ad9ca99977e 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -1441,6 +1441,7 @@ public class ApiResponseHelper implements ResponseGenerator { isoResponse.setCrossZones(iso.isCrossZones()); isoResponse.setPublic(iso.isPublicTemplate()); isoResponse.setCreated(iso.getCreated()); + isoResponse.setChecksum(iso.getChecksum()); isoResponse.setPasswordEnabled(false); Account owner = ApiDBUtils.findAccountById(iso.getAccountId()); if (owner != null) { @@ -1485,6 +1486,7 @@ public class ApiResponseHelper implements ResponseGenerator { isoResponse.setFeatured(iso.isFeatured()); isoResponse.setCrossZones(iso.isCrossZones()); isoResponse.setPublic(iso.isPublicTemplate()); + isoResponse.setChecksum(iso.getChecksum()); // TODO: implement GuestOS os = ApiDBUtils.findGuestOSById(iso.getGuestOSId()); diff --git a/server/src/com/cloud/template/TemplateAdapterBase.java b/server/src/com/cloud/template/TemplateAdapterBase.java index 3adccba37b7..24928fff680 100755 --- a/server/src/com/cloud/template/TemplateAdapterBase.java +++ b/server/src/com/cloud/template/TemplateAdapterBase.java @@ -246,7 +246,7 @@ public abstract class TemplateAdapterBase implements TemplateAdapter { public TemplateProfile prepare(RegisterIsoCmd cmd) throws ResourceAllocationException { return prepare(true, UserContext.current().getCallerUserId(), cmd.getIsoName(), cmd.getDisplayText(), 64, false, true, cmd.getUrl(), cmd.isPublic(), cmd.isFeatured(), cmd.isExtractable(), ImageFormat.ISO.toString(), cmd.getOsTypeId(), - cmd.getZoneId(), HypervisorType.None, cmd.getAccountName(), cmd.getDomainId(), null, cmd.isBootable()); + cmd.getZoneId(), HypervisorType.None, cmd.getAccountName(), cmd.getDomainId(), cmd.getChecksum(), cmd.isBootable()); } protected VMTemplateVO persistTemplate(TemplateProfile profile) {