Skip to content

Commit a123311

Browse files
committed
Fix resource type and resource id while listing usage records
1 parent 309225c commit a123311

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

server/src/main/java/com/cloud/api/ApiResponseHelper.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131

3232
import javax.inject.Inject;
3333

34+
import com.cloud.vm.snapshot.VMSnapshotVO;
35+
import com.cloud.vm.snapshot.dao.VMSnapshotDao;
3436
import org.apache.cloudstack.acl.ControlledEntity;
3537
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
3638
import org.apache.cloudstack.affinity.AffinityGroup;
@@ -372,6 +374,8 @@ public class ApiResponseHelper implements ResponseGenerator {
372374
private IPAddressDao userIpAddressDao;
373375
@Inject
374376
NetworkDetailsDao networkDetailsDao;
377+
@Inject
378+
private VMSnapshotDao vmSnapshotDao;
375379

376380
@Override
377381
public UserResponse createUserResponse(User user) {
@@ -3643,11 +3647,14 @@ public UsageRecordResponse createUsageResponse(Usage usageRecord, Map<String, Se
36433647
usageRecResponse.setDescription(builder.toString());
36443648
}
36453649
} else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT) {
3646-
resourceType = ResourceObjectType.UserVm;
3647-
if (vmInstance != null) {
3648-
resourceId = vmInstance.getId();
3649-
usageRecResponse.setResourceName(vmInstance.getInstanceName());
3650-
usageRecResponse.setUsageId(vmInstance.getUuid());
3650+
resourceType = ResourceObjectType.VMSnapshot;
3651+
if (usageRecord.getUsageId() != null) {
3652+
VMSnapshotVO vmSnapshotVO = vmSnapshotDao.findByIdIncludingRemoved(usageRecord.getUsageId());
3653+
if (vmSnapshotVO != null) {
3654+
resourceId = vmSnapshotVO.getId();
3655+
usageRecResponse.setResourceName(vmSnapshotVO.getDisplayName());
3656+
usageRecResponse.setUsageId(vmSnapshotVO.getUuid());
3657+
}
36513658
}
36523659
usageRecResponse.setSize(usageRecord.getSize());
36533660
if (usageRecord.getOfferingId() != null) {
@@ -3684,6 +3691,15 @@ public UsageRecordResponse createUsageResponse(Usage usageRecord, Map<String, Se
36843691
usageRecResponse.setDescription(builder.toString());
36853692
}
36863693
} else if (usageRecord.getUsageType() == UsageTypes.VM_SNAPSHOT_ON_PRIMARY) {
3694+
resourceType = ResourceObjectType.VMSnapshot;
3695+
if (usageRecord.getUsageId() != null) {
3696+
VMSnapshotVO vmSnapshotVO = vmSnapshotDao.findByIdIncludingRemoved(usageRecord.getUsageId());
3697+
if (vmSnapshotVO != null) {
3698+
resourceId = vmSnapshotVO.getId();
3699+
usageRecResponse.setResourceName(vmSnapshotVO.getDisplayName());
3700+
usageRecResponse.setUsageId(vmSnapshotVO.getUuid());
3701+
}
3702+
}
36873703
usageRecResponse.setSize(usageRecord.getVirtualSize());
36883704
if (!oldFormat) {
36893705
final StringBuilder builder = new StringBuilder();

0 commit comments

Comments
 (0)