Skip to content

Commit aad4701

Browse files
committed
fix tests
1 parent 0327571 commit aad4701

2 files changed

Lines changed: 13 additions & 11 deletions

File tree

engine/schema/src/main/java/org/apache/cloudstack/backup/dao/BackupOfferingDaoImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public BackupOfferingResponse newBackupOfferingResponse(BackupOffering offering,
9393
if (crossZoneInstanceCreation) {
9494
response.setCrossZoneInstanceCreation(true);
9595
}
96-
details.removeIf(backupOfferingDetailsVO -> ApiConstants.DOMAIN_ID.equals(backupOfferingDetailsVO.getName()) || ApiConstants.ZONE_ID.equals(backupOfferingDetailsVO.getName()));
96+
details.removeIf(backupOfferingDetailsVO -> ApiConstants.DOMAIN_ID.equals(backupOfferingDetailsVO.getName()));
9797
Map<String, String> detailString = new HashMap<>();
9898
for (BackupOfferingDetailsVO detail : details) {
9999
detailString.put(detail.getName(), detail.getValue());

server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -460,32 +460,34 @@ public BackupOffering cloneBackupOffering(final CloneBackupOfferingCmd cmd) {
460460

461461
List<Long> filteredDomainIds = cmd.getDomainIds() == null ? new ArrayList<>() : new ArrayList<>(cmd.getDomainIds());
462462
Collections.sort(filteredDomainIds);
463-
updateBackupOfferingDomainDetail(savedOffering, filteredDomainIds);
464-
List<BackupOfferingDetailsVO> details = backupOfferingDetailsDao.listDetails(sourceOffering.getId());
465-
details.removeIf(backupOfferingDetailsVO -> ApiConstants.DOMAIN_ID.equals(backupOfferingDetailsVO.getName()) || ApiConstants.ZONE_ID.equals(backupOfferingDetailsVO.getName()));
466-
details.forEach(detail -> detail.setResourceId(savedOffering.getId()));
467-
backupOfferingDetailsDao.saveDetails(details);
463+
updateBackupOfferingDetails(savedOffering, sourceOffering, filteredDomainIds);
468464

469465
logger.debug("Successfully cloned backup offering '" + sourceOffering.getName() + "' (ID: " + cmd.getSourceOfferingId() + ") to '" + cmd.getName() + "' (ID: " + savedOffering.getId() + ")");
470466
return savedOffering;
471467
}
472468

473-
private void updateBackupOfferingDomainDetail(BackupOfferingVO savedOffering, List<Long> filteredDomainIds) {
469+
private void updateBackupOfferingDetails(BackupOfferingVO savedOffering, BackupOfferingVO sourceOffering, List<Long> filteredDomainIds) {
474470
if (filteredDomainIds.size() > 1) {
475471
filteredDomainIds = domainHelper.filterChildSubDomains(filteredDomainIds);
476472
}
477473

474+
List<BackupOfferingDetailsVO> detailsVOList = new ArrayList<>();
478475
if (CollectionUtils.isNotEmpty(filteredDomainIds)) {
479-
List<BackupOfferingDetailsVO> detailsVOList = new ArrayList<>();
480476
for (Long domainId : filteredDomainIds) {
481477
if (domainDao.findById(domainId) == null) {
482478
throw new InvalidParameterValueException("Please specify a valid domain id");
483479
}
484480
detailsVOList.add(new BackupOfferingDetailsVO(savedOffering.getId(), ApiConstants.DOMAIN_ID, String.valueOf(domainId), false));
485481
}
486-
if (!detailsVOList.isEmpty()) {
487-
backupOfferingDetailsDao.saveDetails(detailsVOList);
488-
}
482+
}
483+
484+
List<BackupOfferingDetailsVO> details = backupOfferingDetailsDao.listDetails(sourceOffering.getId());
485+
details.removeIf(backupOfferingDetailsVO -> ApiConstants.DOMAIN_ID.equals(backupOfferingDetailsVO.getName()));
486+
details.forEach(detail -> detail.setResourceId(savedOffering.getId()));
487+
detailsVOList.addAll(details);
488+
489+
if (!detailsVOList.isEmpty()) {
490+
backupOfferingDetailsDao.saveDetails(detailsVOList);
489491
}
490492
}
491493

0 commit comments

Comments
 (0)