fix db list issue

Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
Abhishek Kumar 2026-04-07 14:04:54 +05:30
parent c588e67d6c
commit 1669c0d496
5 changed files with 50 additions and 31 deletions

View File

@ -651,19 +651,22 @@ public class NetworkDaoImpl extends GenericDaoBase<NetworkVO, Long>implements Ne
List<Long> domainIds, Filter filter) {
SearchBuilder<NetworkVO> sb = createSearchBuilder();
sb.and("trafficType", sb.entity().getTrafficType(), Op.EQ);
sb.and().op("account", sb.entity().getAccountId(), Op.IN);
sb.or("domain", sb.entity().getDomainId(), Op.IN);
sb.cp();
boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds);
boolean domainIdsNotEmpty = CollectionUtils.isNotEmpty(domainIds);
if (accountIdsNotEmpty || domainIdsNotEmpty) {
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domain", sb.entity().getDomainId(), SearchCriteria.Op.IN);
sb.cp();
}
sb.done();
final SearchCriteria<NetworkVO> sc = sb.create();
sc.setParameters("trafficType", trafficType);
if (CollectionUtils.isNotEmpty(accountIds)) {
if (accountIdsNotEmpty) {
sc.setParameters("account", accountIds.toArray());
}
if (CollectionUtils.isNotEmpty(domainIds)) {
sc.setParameters("domain", domainIds);
if (domainIdsNotEmpty) {
sc.setParameters("domain", domainIds.toArray());
}
return listBy(sc, filter);
}

View File

@ -128,17 +128,21 @@ public class ResourceTagsDaoImpl extends GenericDaoBase<ResourceTagVO, Long> imp
List<Long> domainIds, Filter filter) {
SearchBuilder<ResourceTagVO> sb = createSearchBuilder();
sb.and("resourceType", sb.entity().getResourceType(), Op.EQ);
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domain", sb.entity().getDomainId(), SearchCriteria.Op.IN);
sb.cp();
boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds);
boolean domainIdsNotEmpty = CollectionUtils.isNotEmpty(domainIds);
if (accountIdsNotEmpty || domainIdsNotEmpty) {
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domain", sb.entity().getDomainId(), SearchCriteria.Op.IN);
sb.cp();
}
sb.done();
final SearchCriteria<ResourceTagVO> sc = sb.create();;
sc.setParameters("resourceType", resourceType);
if (CollectionUtils.isNotEmpty(accountIds)) {
if (accountIdsNotEmpty) {
sc.setParameters("account", accountIds.toArray());
}
if (CollectionUtils.isNotEmpty(domainIds)) {
sc.setParameters("domain", domainIds);
if (domainIdsNotEmpty) {
sc.setParameters("domain", domainIds.toArray());
}
return listBy(sc, filter);
}

View File

@ -108,16 +108,20 @@ public class ImageTransferDaoImpl extends GenericDaoBase<ImageTransferVO, Long>
@Override
public List<ImageTransferVO> listByOwners(List<Long> accountIds, List<Long> domainIds, Filter filter) {
SearchBuilder<ImageTransferVO> sb = createSearchBuilder();
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domain", sb.entity().getDomainId(), SearchCriteria.Op.IN);
sb.cp();
boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds);
boolean domainIdsNotEmpty = CollectionUtils.isNotEmpty(domainIds);
if (accountIdsNotEmpty || domainIdsNotEmpty) {
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domain", sb.entity().getDomainId(), SearchCriteria.Op.IN);
sb.cp();
}
sb.done();
final SearchCriteria<ImageTransferVO> sc = sb.create();
if (CollectionUtils.isNotEmpty(accountIds)) {
if (accountIdsNotEmpty) {
sc.setParameters("account", accountIds.toArray());
}
if (CollectionUtils.isNotEmpty(domainIds)) {
sc.setParameters("domain", domainIds);
if (domainIdsNotEmpty) {
sc.setParameters("domain", domainIds.toArray());
}
return listBy(sc, filter);

View File

@ -835,19 +835,23 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation<UserVmJo
@Override
public List<UserVmJoinVO> listByHypervisorTypeAndOwners(Hypervisor.HypervisorType hypervisorType,
List<Long> accountIds, String domainPath, Filter filter) {
List<Long> accountIds, String domainPath, Filter filter) {
SearchBuilder<UserVmJoinVO> sb = createSearchBuilder();
sb.and("hypervisorType", sb.entity().getHypervisorType(), Op.EQ);
sb.and().op("account", sb.entity().getAccountId(), Op.IN);
sb.or("domainPath", sb.entity().getDomainPath(), Op.LIKE);
sb.cp();
boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds);
boolean domainPathNotBlank = StringUtils.isNotBlank(domainPath);
if (accountIdsNotEmpty || domainPathNotBlank) {
sb.and().op("account", sb.entity().getAccountId(), Op.IN);
sb.or("domainPath", sb.entity().getDomainPath(), Op.LIKE);
sb.cp();
}
sb.done();
SearchCriteria<UserVmJoinVO> sc = sb.create();
sc.setParameters("hypervisorType", hypervisorType);
if (CollectionUtils.isNotEmpty(accountIds)) {
if (accountIdsNotEmpty) {
sc.setParameters("account", accountIds.toArray());
}
if (StringUtils.isNotBlank(domainPath)) {
if (domainPathNotBlank) {
sc.setParameters("domainPath", domainPath + "%");
}
return listBy(sc, filter);

View File

@ -385,21 +385,25 @@ public class VolumeJoinDaoImpl extends GenericDaoBaseWithTagInformation<VolumeJo
@Override
public List<VolumeJoinVO> listByHypervisorTypeAndOwners(Hypervisor.HypervisorType hypervisorType,
List<Long> accountIds, String domainPath, Filter filter) {
List<Long> accountIds, String domainPath, Filter filter) {
SearchBuilder<VolumeJoinVO> sb = createSearchBuilder();
sb.and("vmType", sb.entity().getVmType(), SearchCriteria.Op.EQ);
sb.and("hypervisorType", sb.entity().getHypervisorType(), SearchCriteria.Op.EQ);
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domainPath", sb.entity().getDomainPath(), SearchCriteria.Op.LIKE);
sb.cp();
boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds);
boolean domainPathNotBlank = StringUtils.isNotBlank(domainPath);
if (accountIdsNotEmpty || domainPathNotBlank) {
sb.and().op("account", sb.entity().getAccountId(), SearchCriteria.Op.IN);
sb.or("domainPath", sb.entity().getDomainPath(), SearchCriteria.Op.LIKE);
sb.cp();
}
sb.done();
SearchCriteria<VolumeJoinVO> sc = sb.create();
sc.setParameters("vmType", VirtualMachine.Type.User);
sc.setParameters("hypervisorType", hypervisorType);
if (CollectionUtils.isNotEmpty(accountIds)) {
if (accountIdsNotEmpty) {
sc.setParameters("account", accountIds.toArray());
}
if (StringUtils.isNotBlank(domainPath)) {
if (domainPathNotBlank) {
sc.setParameters("domainPath", domainPath + "%");
}
return search(sc, filter);