|
16 | 16 | // under the License. |
17 | 17 | package com.cloud.api.query; |
18 | 18 |
|
| 19 | +import static com.cloud.vm.VmDetailConstants.SSH_PUBLIC_KEY; |
| 20 | + |
19 | 21 | import java.lang.reflect.InvocationTargetException; |
20 | 22 | import java.lang.reflect.Method; |
21 | 23 | import java.util.ArrayList; |
|
34 | 36 |
|
35 | 37 | import javax.inject.Inject; |
36 | 38 |
|
37 | | -import com.cloud.network.dao.IPAddressDao; |
38 | | -import com.cloud.network.dao.IPAddressVO; |
39 | | -import com.cloud.storage.StoragePool; |
40 | | -import com.cloud.storage.StoragePoolHostVO; |
41 | | -import com.cloud.event.EventVO; |
42 | | -import com.cloud.event.dao.EventDao; |
43 | | -import com.cloud.host.HostVO; |
44 | | -import com.cloud.offering.ServiceOffering; |
45 | | -import com.cloud.service.ServiceOfferingDetailsVO; |
46 | | -import com.cloud.storage.VMTemplateStoragePoolVO; |
47 | | -import com.cloud.storage.dao.StoragePoolHostDao; |
48 | | -import com.cloud.storage.dao.VMTemplatePoolDao; |
49 | | -import com.cloud.host.Host; |
50 | | -import com.cloud.host.dao.HostDao; |
51 | | -import com.cloud.network.as.AutoScaleVmGroupVmMapVO; |
52 | | -import com.cloud.network.as.dao.AutoScaleVmGroupDao; |
53 | | -import com.cloud.network.as.dao.AutoScaleVmGroupVmMapDao; |
54 | | -import com.cloud.network.dao.NetworkDao; |
55 | | -import com.cloud.network.dao.NetworkVO; |
56 | | -import com.cloud.network.dao.PublicIpQuarantineDao; |
57 | | -import com.cloud.network.PublicIpQuarantine; |
58 | | -import com.cloud.network.vo.PublicIpQuarantineVO; |
59 | | -import com.cloud.storage.dao.VolumeDao; |
60 | | -import com.cloud.user.AccountVO; |
61 | | -import com.cloud.user.SSHKeyPairVO; |
62 | | -import com.cloud.user.dao.SSHKeyPairDao; |
63 | | -import com.cloud.vm.InstanceGroupVMMapVO; |
64 | | -import com.cloud.vm.NicVO; |
65 | | -import com.cloud.vm.UserVmDetailVO; |
66 | | -import com.cloud.vm.dao.InstanceGroupVMMapDao; |
67 | | -import com.cloud.vm.dao.NicDao; |
68 | | -import com.cloud.vm.dao.UserVmDetailsDao; |
69 | | -import com.cloud.storage.VolumeVO; |
70 | 39 | import org.apache.cloudstack.acl.ControlledEntity; |
71 | 40 | import org.apache.cloudstack.acl.ControlledEntity.ACLType; |
72 | 41 | import org.apache.cloudstack.acl.SecurityChecker; |
|
108 | 77 | import org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd; |
109 | 78 | import org.apache.cloudstack.api.command.user.address.ListQuarantinedIpsCmd; |
110 | 79 | import org.apache.cloudstack.api.command.user.affinitygroup.ListAffinityGroupsCmd; |
| 80 | +import org.apache.cloudstack.api.command.user.bucket.ListBucketsCmd; |
111 | 81 | import org.apache.cloudstack.api.command.user.event.ListEventsCmd; |
112 | 82 | import org.apache.cloudstack.api.command.user.iso.ListIsosCmd; |
113 | 83 | import org.apache.cloudstack.api.command.user.job.ListAsyncJobsCmd; |
|
129 | 99 | import org.apache.cloudstack.api.command.user.zone.ListZonesCmd; |
130 | 100 | import org.apache.cloudstack.api.response.AccountResponse; |
131 | 101 | import org.apache.cloudstack.api.response.AsyncJobResponse; |
| 102 | +import org.apache.cloudstack.api.response.BucketResponse; |
132 | 103 | import org.apache.cloudstack.api.response.DetailOptionsResponse; |
133 | 104 | import org.apache.cloudstack.api.response.DiskOfferingResponse; |
134 | 105 | import org.apache.cloudstack.api.response.DomainResponse; |
|
255 | 226 | import com.cloud.domain.Domain; |
256 | 227 | import com.cloud.domain.DomainVO; |
257 | 228 | import com.cloud.domain.dao.DomainDao; |
| 229 | +import com.cloud.event.EventVO; |
| 230 | +import com.cloud.event.dao.EventDao; |
258 | 231 | import com.cloud.event.dao.EventJoinDao; |
259 | 232 | import com.cloud.exception.CloudAuthenticationException; |
260 | 233 | import com.cloud.exception.InvalidParameterValueException; |
261 | 234 | import com.cloud.exception.PermissionDeniedException; |
262 | 235 | import com.cloud.ha.HighAvailabilityManager; |
| 236 | +import com.cloud.host.Host; |
| 237 | +import com.cloud.host.HostVO; |
| 238 | +import com.cloud.host.dao.HostDao; |
263 | 239 | import com.cloud.hypervisor.Hypervisor; |
264 | 240 | import com.cloud.hypervisor.Hypervisor.HypervisorType; |
| 241 | +import com.cloud.network.PublicIpQuarantine; |
265 | 242 | import com.cloud.network.RouterHealthCheckResult; |
266 | 243 | import com.cloud.network.VNF; |
267 | 244 | import com.cloud.network.VpcVirtualNetworkApplianceService; |
| 245 | +import com.cloud.network.as.AutoScaleVmGroupVmMapVO; |
| 246 | +import com.cloud.network.as.dao.AutoScaleVmGroupDao; |
| 247 | +import com.cloud.network.as.dao.AutoScaleVmGroupVmMapDao; |
| 248 | +import com.cloud.network.dao.IPAddressDao; |
| 249 | +import com.cloud.network.dao.IPAddressVO; |
| 250 | +import com.cloud.network.dao.NetworkDao; |
| 251 | +import com.cloud.network.dao.NetworkVO; |
| 252 | +import com.cloud.network.dao.PublicIpQuarantineDao; |
268 | 253 | import com.cloud.network.dao.RouterHealthCheckResultDao; |
269 | 254 | import com.cloud.network.dao.RouterHealthCheckResultVO; |
270 | 255 | import com.cloud.network.router.VirtualNetworkApplianceManager; |
271 | 256 | import com.cloud.network.security.SecurityGroupVMMapVO; |
272 | 257 | import com.cloud.network.security.dao.SecurityGroupVMMapDao; |
| 258 | +import com.cloud.network.vo.PublicIpQuarantineVO; |
273 | 259 | import com.cloud.offering.DiskOffering; |
| 260 | +import com.cloud.offering.ServiceOffering; |
274 | 261 | import com.cloud.org.Grouping; |
275 | 262 | import com.cloud.projects.Project; |
276 | 263 | import com.cloud.projects.Project.ListProjectResourcesCriteria; |
|
286 | 273 | import com.cloud.server.ResourceMetaDataService; |
287 | 274 | import com.cloud.server.ResourceTag; |
288 | 275 | import com.cloud.server.ResourceTag.ResourceObjectType; |
| 276 | +import com.cloud.service.ServiceOfferingDetailsVO; |
289 | 277 | import com.cloud.service.ServiceOfferingVO; |
290 | 278 | import com.cloud.service.dao.ServiceOfferingDao; |
291 | 279 | import com.cloud.service.dao.ServiceOfferingDetailsDao; |
|
298 | 286 | import com.cloud.storage.Storage; |
299 | 287 | import com.cloud.storage.Storage.ImageFormat; |
300 | 288 | import com.cloud.storage.Storage.TemplateType; |
| 289 | +import com.cloud.storage.StoragePool; |
| 290 | +import com.cloud.storage.StoragePoolHostVO; |
301 | 291 | import com.cloud.storage.StoragePoolStatus; |
302 | 292 | import com.cloud.storage.StoragePoolTagVO; |
| 293 | +import com.cloud.storage.VMTemplateStoragePoolVO; |
303 | 294 | import com.cloud.storage.VMTemplateVO; |
304 | 295 | import com.cloud.storage.Volume; |
305 | 296 | import com.cloud.storage.VolumeApiServiceImpl; |
| 297 | +import com.cloud.storage.VolumeVO; |
306 | 298 | import com.cloud.storage.dao.BucketDao; |
307 | 299 | import com.cloud.storage.dao.DiskOfferingDao; |
| 300 | +import com.cloud.storage.dao.StoragePoolHostDao; |
308 | 301 | import com.cloud.storage.dao.StoragePoolTagsDao; |
309 | 302 | import com.cloud.storage.dao.VMTemplateDao; |
| 303 | +import com.cloud.storage.dao.VMTemplatePoolDao; |
| 304 | +import com.cloud.storage.dao.VolumeDao; |
310 | 305 | import com.cloud.tags.ResourceTagVO; |
311 | 306 | import com.cloud.tags.dao.ResourceTagDao; |
312 | 307 | import com.cloud.template.VirtualMachineTemplate.State; |
313 | 308 | import com.cloud.template.VirtualMachineTemplate.TemplateFilter; |
314 | 309 | import com.cloud.user.Account; |
315 | 310 | import com.cloud.user.AccountManager; |
| 311 | +import com.cloud.user.AccountVO; |
316 | 312 | import com.cloud.user.DomainManager; |
| 313 | +import com.cloud.user.SSHKeyPairVO; |
317 | 314 | import com.cloud.user.User; |
318 | 315 | import com.cloud.user.dao.AccountDao; |
| 316 | +import com.cloud.user.dao.SSHKeyPairDao; |
319 | 317 | import com.cloud.user.dao.UserDao; |
320 | 318 | import com.cloud.utils.DateUtil; |
321 | 319 | import com.cloud.utils.NumbersUtil; |
|
331 | 329 | import com.cloud.utils.db.SearchCriteria.Op; |
332 | 330 | import com.cloud.utils.exception.CloudRuntimeException; |
333 | 331 | import com.cloud.vm.DomainRouterVO; |
| 332 | +import com.cloud.vm.InstanceGroupVMMapVO; |
| 333 | +import com.cloud.vm.NicVO; |
| 334 | +import com.cloud.vm.UserVmDetailVO; |
334 | 335 | import com.cloud.vm.UserVmVO; |
335 | 336 | import com.cloud.vm.VMInstanceVO; |
336 | 337 | import com.cloud.vm.VirtualMachine; |
337 | 338 | import com.cloud.vm.VirtualMachineManager; |
338 | 339 | import com.cloud.vm.VmDetailConstants; |
339 | 340 | import com.cloud.vm.dao.DomainRouterDao; |
| 341 | +import com.cloud.vm.dao.InstanceGroupVMMapDao; |
| 342 | +import com.cloud.vm.dao.NicDao; |
340 | 343 | import com.cloud.vm.dao.UserVmDao; |
| 344 | +import com.cloud.vm.dao.UserVmDetailsDao; |
341 | 345 | import com.cloud.vm.dao.VMInstanceDao; |
342 | | -import org.apache.cloudstack.api.command.user.bucket.ListBucketsCmd; |
343 | | -import org.apache.cloudstack.api.response.BucketResponse; |
344 | | - |
345 | | -import static com.cloud.vm.VmDetailConstants.SSH_PUBLIC_KEY; |
346 | 346 |
|
347 | 347 | @Component |
348 | 348 | public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements QueryService, Configurable { |
@@ -5626,17 +5626,15 @@ private Pair<List<SnapshotJoinVO>, Integer> searchForSnapshotsWithParams(final L |
5626 | 5626 |
|
5627 | 5627 | Integer count = snapshotDataPair.second(); |
5628 | 5628 | if (count == 0) { |
5629 | | - // empty result |
5630 | 5629 | return snapshotDataPair; |
5631 | 5630 | } |
5632 | 5631 | List<SnapshotJoinVO> snapshotData = snapshotDataPair.first(); |
5633 | 5632 | List<SnapshotJoinVO> snapshots; |
5634 | | - if (isShowUnique) { |
| 5633 | + if (isShowUnique) {c69ad926e2 |
5635 | 5634 | snapshots = snapshotJoinDao.findByDistinctIds(zoneId, snapshotData.stream().map(SnapshotJoinVO::getId).toArray(Long[]::new)); |
5636 | 5635 | } else { |
5637 | 5636 | snapshots = snapshotJoinDao.searchBySnapshotStorePair(snapshotData.stream().map(SnapshotJoinVO::getSnapshotStorePair).toArray(String[]::new)); |
5638 | 5637 | } |
5639 | | - |
5640 | 5638 | return new Pair<>(snapshots, count); |
5641 | 5639 | } |
5642 | 5640 |
|
|
0 commit comments