mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-4649: allow to update template details with addResourceDetails API
Conflicts: server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
This commit is contained in:
parent
3ec14c4baf
commit
d79135f4e6
|
|
@ -29,4 +29,6 @@ public interface VMTemplateDetailsDao extends GenericDao<VMTemplateDetailVO, Lon
|
|||
VMTemplateDetailVO findDetail(long templateId, String name);
|
||||
|
||||
void deleteDetails(long vmId);
|
||||
|
||||
void addTemplateDetail(Long templateId, String key, String value);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,4 +96,16 @@ public class VMTemplateDetailsDaoImpl extends GenericDaoBase<VMTemplateDetailVO,
|
|||
}
|
||||
txn.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTemplateDetail(Long templateId, String key, String value) {
|
||||
VMTemplateDetailVO detail = findDetail(templateId, key);
|
||||
if (detail == null) {
|
||||
VMTemplateDetailVO newEntry = new VMTemplateDetailVO(templateId, key, value);
|
||||
persist(newEntry);
|
||||
} else {
|
||||
detail.setValue(value);
|
||||
update(detail.getId(), detail);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
|||
}
|
||||
|
||||
// TODO - Have a better design here.
|
||||
if(resourceType == TaggedResourceType.Volume){
|
||||
if (resourceType == TaggedResourceType.Volume){
|
||||
VolumeDetailVO v = new VolumeDetailVO(id, key, value);
|
||||
_volumeDetailDao.persist(v);
|
||||
} else if (resourceType == TaggedResourceType.Nic){
|
||||
|
|
@ -227,6 +227,8 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
|
|||
_networkDetailsDao.persist(networkDetail);
|
||||
} else if (resourceType == TaggedResourceType.UserVm) {
|
||||
_userVmDetailsDao.addVmDetail(id, key, value);
|
||||
} else if (resourceType == TaggedResourceType.Template) {
|
||||
_templateDetailsDao.addTemplateDetail(id, key, value);
|
||||
} else{
|
||||
throw new InvalidParameterValueException("The resource type " + resourceType + " is not supported by the API yet");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue