CLOUDSTACK-4649: added support to removeResourceDetail to remove details for UserVm/Templates

Conflicts:
	engine/schema/src/com/cloud/vm/dao/UserVmDetailsDaoImpl.java
	server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
This commit is contained in:
Alena Prokharchyk 2013-10-24 09:49:29 -07:00
parent 499a8c0915
commit 765832a5cf
7 changed files with 40 additions and 29 deletions

View File

@ -30,5 +30,7 @@ public interface VMTemplateDetailsDao extends GenericDao<VMTemplateDetailVO, Lon
void deleteDetails(long vmId);
void addTemplateDetail(Long templateId, String key, String value);
void addTemplateDetail(long templateId, String key, String value);
void removeDetails(long templateId, String key);
}

View File

@ -98,7 +98,7 @@ public class VMTemplateDetailsDaoImpl extends GenericDaoBase<VMTemplateDetailVO,
}
@Override
public void addTemplateDetail(Long templateId, String key, String value) {
public void addTemplateDetail(long templateId, String key, String value) {
VMTemplateDetailVO detail = findDetail(templateId, key);
if (detail == null) {
VMTemplateDetailVO newEntry = new VMTemplateDetailVO(templateId, key, value);
@ -108,4 +108,16 @@ public class VMTemplateDetailsDaoImpl extends GenericDaoBase<VMTemplateDetailVO,
update(detail.getId(), detail);
}
}
@Override
public void removeDetails(long templateId, String key) {
if(key != null){
VMTemplateDetailVO detail = findDetail(templateId, key);
if(detail != null){
remove(detail.getId());
}
} else {
deleteDetails(templateId);
}
}
}

View File

@ -31,5 +31,5 @@ public interface NicDetailDao extends GenericDao<NicDetailVO, Long> {
void deleteDetails(long nicId);
void removeDetails(Long id, String key);
void removeDetails(long nicId, String key);
}

View File

@ -89,8 +89,7 @@ public class NicDetailDaoImpl extends GenericDaoBase<NicDetailVO, Long> implemen
}
@Override
public void removeDetails(Long nicId, String key) {
public void removeDetails(long nicId, String key) {
if(key != null){
NicDetailVO detail = findDetail(nicId, key);
if(detail != null){
@ -99,7 +98,6 @@ public class NicDetailDaoImpl extends GenericDaoBase<NicDetailVO, Long> implemen
}else {
deleteDetails(nicId);
}
}
}

View File

@ -32,8 +32,8 @@ public interface UserVmDetailsDao extends GenericDao<UserVmDetailVO, Long> {
UserVmDetailVO findDetail(long vmId, String name);
void deleteDetails(long vmId);
public void removeDetails(Long vmId, String key);
void addVmDetail(Long vmId, String key, String value);
void addVmDetail(long vmId, String key, String value);
void removeDetails(long vmId, String key);
}

View File

@ -106,20 +106,7 @@ public class UserVmDetailsDaoImpl extends GenericDaoBase<UserVmDetailVO, Long> i
}
@Override
public void removeDetails(Long vmId, String key) {
if(key != null){
UserVmDetailVO detail = findDetail(vmId, key);
if(detail != null){
remove(detail.getId());
}
}else {
deleteDetails(vmId);
}
}
@Override
public void addVmDetail(Long vmId, String key, String value) {
public void addVmDetail(long vmId, String key, String value) {
UserVmDetailVO detail = findDetail(vmId, key);
if (detail == null) {
UserVmDetailVO newEntry = new UserVmDetailVO(vmId, key, value);
@ -129,4 +116,16 @@ public class UserVmDetailsDaoImpl extends GenericDaoBase<UserVmDetailVO, Long> i
update(detail.getId(), detail);
}
}
@Override
public void removeDetails(long vmId, String key) {
if(key != null){
UserVmDetailVO detail = findDetail(vmId, key);
if(detail != null){
remove(detail.getId());
}
}else {
deleteDetails(vmId);
}
}
}

View File

@ -152,16 +152,16 @@ public class ResourceMetaDataManagerImpl extends ManagerBase implements Resource
}
// TODO - Have a better design here.
if(resourceType == ResourceObjectType.Volume){
if (resourceType == ResourceObjectType.Volume){
_volumeDetailDao.removeDetails(id, key);
} else if(resourceType == ResourceObjectType.Nic){
} else if (resourceType == ResourceObjectType.Nic){
_nicDetailDao.removeDetails(id, key);
} else if(resourceType == ResourceObjectType.UserVm){
_userVmDetailDao.removeDetails(id, key);
} else if (resourceType == ResourceObjectType.UserVm) {
_userVmDetailsDao.removeDetails(id, key);
} else if (resourceType == ResourceObjectType.Template) {
_templateDetailsDao.removeDetails(id, key);
} else if (resourceType == ResourceObjectType.Zone){
_dcDetailsDao.removeDetails(id, key);
} else if (resourceType == ResourceObjectType.Network){
_networkDetailsDao.removeDetails(id, key);
}
return true;