From 76c7c22b34eecbbd42fbeb3ec97206abec8f84b1 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Fri, 13 Apr 2012 14:15:18 -0700 Subject: [PATCH] Bug CS-14447: set crossZones attribute for the template before persisting it to the db --- server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java | 2 +- server/src/com/cloud/template/TemplateAdapterBase.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index 17a45a255b5..cbfdeb3aada 100755 --- a/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -691,7 +691,7 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } } VMTemplateZoneVO tmpltZoneVO = _templateZoneDao.findByZoneTemplate(zoneId, tmplt.getId()); - if ( tmpltZoneVO == null ) { + if (tmpltZoneVO == null ) { tmpltZoneVO = new VMTemplateZoneVO(zoneId, tmplt.getId(), new Date()); _templateZoneDao.persist(tmpltZoneVO); } else { diff --git a/server/src/com/cloud/template/TemplateAdapterBase.java b/server/src/com/cloud/template/TemplateAdapterBase.java index 59f6ad8184c..b8dfb1de41c 100755 --- a/server/src/com/cloud/template/TemplateAdapterBase.java +++ b/server/src/com/cloud/template/TemplateAdapterBase.java @@ -246,17 +246,18 @@ public abstract class TemplateAdapterBase implements TemplateAdapter { profile.getPasswordEnabled(), profile.getGuestOsId(), profile.getBootable(), profile.getHypervisorType(), profile.getTemplateTag(), profile.getDetails(), profile.getSshKeyEnabled()); - if (zoneId == null || zoneId == -1) { + if (zoneId == null || zoneId.longValue() == -1) { List dcs = _dcDao.listAll(); if (dcs.isEmpty()) { throw new CloudRuntimeException("No zones are present in the system, can't add template"); } + template.setCrossZones(true); for (DataCenterVO dc: dcs) { _tmpltDao.addTemplateToZone(template, dc.getId()); } - template.setCrossZones(true); + } else { _tmpltDao.addTemplateToZone(template, zoneId); }