mirror of https://github.com/apache/cloudstack.git
bug 11814: TemplateResponse now returns template details info
This commit is contained in:
parent
a59658177d
commit
061ff36434
|
|
@ -18,6 +18,7 @@
|
|||
package com.cloud.api.response;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.IdentityProxy;
|
||||
|
|
@ -124,6 +125,10 @@ public class TemplateResponse extends BaseResponse implements ControlledEntityRe
|
|||
|
||||
@SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the template")
|
||||
private String projectName;
|
||||
|
||||
@SerializedName(ApiConstants.DETAILS) @Param(description="additional key/value details tied with template")
|
||||
private Map details;
|
||||
|
||||
|
||||
@Override
|
||||
public Long getObjectId() {
|
||||
|
|
@ -265,4 +270,12 @@ public class TemplateResponse extends BaseResponse implements ControlledEntityRe
|
|||
public void setProjectName(String projectName) {
|
||||
this.projectName = projectName;
|
||||
}
|
||||
|
||||
public Map getDetails() {
|
||||
return this.details;
|
||||
}
|
||||
|
||||
public void setDetails(Map details) {
|
||||
this.details = details;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
package com.cloud.template;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
import com.cloud.acl.ControlledEntity;
|
||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||
|
|
@ -87,4 +88,6 @@ public interface VirtualMachineTemplate extends ControlledEntity {
|
|||
Long getSourceTemplateId();
|
||||
|
||||
String getTemplateTag();
|
||||
|
||||
Map getDetails();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ import com.cloud.storage.dao.SnapshotDao;
|
|||
import com.cloud.storage.dao.StoragePoolDao;
|
||||
import com.cloud.storage.dao.UploadDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
import com.cloud.storage.dao.VMTemplateDetailsDao;
|
||||
import com.cloud.storage.dao.VMTemplateHostDao;
|
||||
import com.cloud.storage.dao.VMTemplateSwiftDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
|
|
@ -163,6 +164,7 @@ public class ApiDBUtils {
|
|||
private static SnapshotDao _snapshotDao;
|
||||
private static StoragePoolDao _storagePoolDao;
|
||||
private static VMTemplateDao _templateDao;
|
||||
private static VMTemplateDetailsDao _templateDetailsDao;
|
||||
private static VMTemplateHostDao _templateHostDao;
|
||||
private static VMTemplateSwiftDao _templateSwiftDao;
|
||||
private static UploadDao _uploadDao;
|
||||
|
|
@ -213,6 +215,7 @@ public class ApiDBUtils {
|
|||
_snapshotDao = locator.getDao(SnapshotDao.class);
|
||||
_storagePoolDao = locator.getDao(StoragePoolDao.class);
|
||||
_templateDao = locator.getDao(VMTemplateDao.class);
|
||||
_templateDetailsDao = locator.getDao(VMTemplateDetailsDao.class);
|
||||
_templateHostDao = locator.getDao(VMTemplateHostDao.class);
|
||||
_templateSwiftDao = locator.getDao(VMTemplateSwiftDao.class);
|
||||
_uploadDao = locator.getDao(UploadDao.class);
|
||||
|
|
@ -482,7 +485,13 @@ public class ApiDBUtils {
|
|||
}
|
||||
|
||||
public static VMTemplateVO findTemplateById(Long templateId) {
|
||||
return _templateDao.findByIdIncludingRemoved(templateId);
|
||||
VMTemplateVO template = _templateDao.findByIdIncludingRemoved(templateId);
|
||||
if(template != null) {
|
||||
Map details = _templateDetailsDao.findDetails(templateId);
|
||||
if(details != null && !details.isEmpty())
|
||||
template.setDetails(details);
|
||||
}
|
||||
return template;
|
||||
}
|
||||
|
||||
public static VMTemplateHostVO findTemplateHostRef(long templateId, long zoneId) {
|
||||
|
|
|
|||
|
|
@ -1426,6 +1426,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
response.setFormat(result.getFormat());
|
||||
response.setOsTypeId(result.getGuestOSId());
|
||||
response.setOsTypeName(ApiDBUtils.findGuestOSById(result.getGuestOSId()).getDisplayName());
|
||||
response.setDetails(result.getDetails());
|
||||
|
||||
if (result.getFormat() == ImageFormat.ISO) { // Templates are always bootable
|
||||
response.setBootable(result.isBootable());
|
||||
|
|
@ -1478,6 +1479,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
templateResponse.setPasswordEnabled(template.getEnablePassword());
|
||||
templateResponse.setCrossZones(template.isCrossZones());
|
||||
templateResponse.setFormat(template.getFormat());
|
||||
templateResponse.setDetails(template.getDetails());
|
||||
if (template.getTemplateType() != null) {
|
||||
templateResponse.setTemplateType(template.getTemplateType().toString());
|
||||
}
|
||||
|
|
@ -1559,6 +1561,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
templateResponse.setTemplateType(template.getTemplateType().toString());
|
||||
}
|
||||
templateResponse.setHypervisor(template.getHypervisorType().toString());
|
||||
templateResponse.setDetails(template.getDetails());
|
||||
|
||||
GuestOS os = ApiDBUtils.findGuestOSById(template.getGuestOSId());
|
||||
if (os != null) {
|
||||
|
|
@ -1643,6 +1646,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
isoResponse.setCreated(iso.getCreated());
|
||||
isoResponse.setChecksum(iso.getChecksum());
|
||||
isoResponse.setPasswordEnabled(false);
|
||||
isoResponse.setDetails(iso.getDetails());
|
||||
|
||||
// add account ID and name
|
||||
Account owner = ApiDBUtils.findAccountById(iso.getAccountId());
|
||||
|
|
@ -1686,6 +1690,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
isoResponse.setCrossZones(iso.isCrossZones());
|
||||
isoResponse.setPublic(iso.isPublicTemplate());
|
||||
isoResponse.setChecksum(iso.getChecksum());
|
||||
isoResponse.setDetails(iso.getDetails());
|
||||
|
||||
// TODO: implement
|
||||
GuestOS os = ApiDBUtils.findGuestOSById(iso.getGuestOSId());
|
||||
|
|
@ -1743,6 +1748,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
isoResponse.setCrossZones(iso.isCrossZones());
|
||||
isoResponse.setPublic(iso.isPublicTemplate());
|
||||
isoResponse.setChecksum(iso.getChecksum());
|
||||
isoResponse.setDetails(iso.getDetails());
|
||||
|
||||
// TODO: implement
|
||||
GuestOS os = ApiDBUtils.findGuestOSById(iso.getGuestOSId());
|
||||
|
|
|
|||
Loading…
Reference in New Issue