From 17f3239f07352a3d7a7ad78db3677cb00c071a2c Mon Sep 17 00:00:00 2001 From: anthony Date: Wed, 1 Dec 2010 16:09:28 -0800 Subject: [PATCH] bug 7368: should get volumeVO even if it is removed status 7368: resolved fixed --- server/src/com/cloud/api/ApiDBUtils.java | 2 +- server/src/com/cloud/api/ApiResponseHelper.java | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/server/src/com/cloud/api/ApiDBUtils.java b/server/src/com/cloud/api/ApiDBUtils.java index 73a9df94469..b2a2be27dd9 100755 --- a/server/src/com/cloud/api/ApiDBUtils.java +++ b/server/src/com/cloud/api/ApiDBUtils.java @@ -420,7 +420,7 @@ public class ApiDBUtils { } public static VolumeVO findVolumeById(Long volumeId) { - return _volumeDao.findById(volumeId); + return _volumeDao.findByIdIncludingRemoved(volumeId); } public static DataCenterVO findZoneById(Long zoneId) { diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index a7ed96541c6..0da6ee2fe4a 100644 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -378,12 +378,14 @@ public class ApiResponseHelper implements ResponseGenerator { snapshotResponse.setDomainName(ApiDBUtils.findDomainById(acct.getDomainId()).getName()); } - VolumeVO volume = ApiDBUtils.findVolumeById(snapshot.getVolumeId()); + VolumeVO volume = findVolumeById(snapshot.getVolumeId()); String snapshotTypeStr = Type.values()[snapshot.getSnapshotType()].name(); snapshotResponse.setSnapshotType(snapshotTypeStr); snapshotResponse.setVolumeId(snapshot.getVolumeId()); - snapshotResponse.setVolumeName(volume.getName()); - snapshotResponse.setVolumeType(volume.getVolumeType().name()); + if( volume != null ) { + snapshotResponse.setVolumeName(volume.getName()); + snapshotResponse.setVolumeType(volume.getVolumeType().name()); + } snapshotResponse.setCreated(snapshot.getCreated()); snapshotResponse.setName(snapshot.getName()); snapshotResponse.setIntervalType(ApiDBUtils.getSnapshotIntervalTypes(snapshot.getId())); @@ -1396,7 +1398,7 @@ public class ApiResponseHelper implements ResponseGenerator { } @Override - public Volume findVolumeById(Long volumeId) { + public VolumeVO findVolumeById(Long volumeId) { return ApiDBUtils.findVolumeById(volumeId); } @@ -1925,12 +1927,12 @@ public class ApiResponseHelper implements ResponseGenerator { response.setPasswordEnabled(template.getEnablePassword()); response.setCrossZones(template.isCrossZones()); - Volume volume = null; + VolumeVO volume = null; if (snapshotId != null) { Snapshot snapshot = ApiDBUtils.findSnapshotById(snapshotId); - volume = ApiDBUtils.findVolumeById(snapshot.getVolumeId()); + volume = findVolumeById(snapshot.getVolumeId()); } else { - volume = ApiDBUtils.findVolumeById(volumeId); + volume = findVolumeById(volumeId); } VMTemplateHostVO templateHostRef = ApiDBUtils.findTemplateHostRef(template.getId(), volume.getDataCenterId());