bug 10725: add checksum to listIso and registerIso (its an optional parameter for this command).

status 10725: resolved fixed
This commit is contained in:
Nitin 2011-08-03 17:41:29 +05:30
parent bf0e761be1
commit c73f5da276
3 changed files with 10 additions and 1 deletions

View File

@ -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///////////////////
/////////////////////////////////////////////////////

View File

@ -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());

View File

@ -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) {