From 9d4c081d9f2208304cbf95d0bc3e049750688e69 Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Wed, 4 Nov 2026 17:58:40 +0100 Subject: [PATCH 1/2] techdebt: parameterise map typed API parameters --- .../cloudstack/api/BaseUpdateTemplateOrIsoCmd.java | 8 +++----- .../command/admin/account/UpdateAccountCmd.java | 9 +++------ .../api/command/admin/cluster/AddClusterCmd.java | 2 +- .../command/admin/cluster/UpdateClusterCmd.java | 2 +- .../api/command/admin/guest/AddGuestOsCmd.java | 4 ++-- .../api/command/admin/guest/UpdateGuestOsCmd.java | 2 +- .../api/command/admin/host/AddHostCmd.java | 2 +- .../command/admin/host/AddSecondaryStorageCmd.java | 2 +- .../api/command/admin/host/UpdateHostCmd.java | 2 +- .../admin/network/NetworkOfferingBaseCmd.java | 2 +- .../admin/network/bgp/CreateBgpPeerCmd.java | 5 ++--- .../admin/network/bgp/UpdateBgpPeerCmd.java | 5 ++--- .../admin/offering/CreateDiskOfferingCmd.java | 2 +- .../admin/offering/CreateServiceOfferingCmd.java | 4 ++-- .../admin/offering/UpdateServiceOfferingCmd.java | 2 +- .../command/admin/storage/AddImageStoreCmd.java | 4 ++-- .../admin/storage/AddObjectStoragePoolCmd.java | 4 ++-- .../admin/storage/CreateStoragePoolCmd.java | 4 ++-- .../storage/UpdateCloudToUseObjectStoreCmd.java | 4 ++-- .../admin/storage/UpdateStoragePoolCmd.java | 6 +++--- .../CheckVmwareCbtMigrationPrerequisitesCmd.java | 2 +- .../admin/vm/StartVmwareCbtMigrationCmd.java | 2 +- .../api/command/admin/zone/UpdateZoneCmd.java | 4 ++-- .../autoscale/CreateAutoScaleVmProfileCmd.java | 2 +- .../autoscale/UpdateAutoScaleVmProfileCmd.java | 2 +- .../CreateInstanceBootGroupReadinessRuleCmd.java | 5 ++--- .../UpdateInstanceBootGroupReadinessRuleCmd.java | 5 ++--- .../api/command/user/dns/AddDnsServerCmd.java | 2 +- .../user/schedule/CreateResourceScheduleCmd.java | 2 +- .../user/schedule/UpdateResourceScheduleCmd.java | 2 +- .../command/user/template/CreateTemplateCmd.java | 9 +++------ .../template/GetUploadParamsForTemplateCmd.java | 8 +++----- .../command/user/template/RegisterTemplateCmd.java | 11 ++++------- .../user/template/RegisterVnfTemplateCmd.java | 2 +- .../user/template/UpdateVnfTemplateCmd.java | 2 +- .../api/command/user/vm/BaseDeployVMCmd.java | 8 ++++---- .../api/command/user/vm/DeployVMCmd.java | 2 +- .../api/command/user/vm/ResetVMUserDataCmd.java | 2 +- .../api/command/user/vm/RestoreVMCmd.java | 2 +- .../api/command/user/vm/UpdateVMCmd.java | 2 +- .../command/user/volume/AddResourceDetailCmd.java | 4 ++-- .../cloudstack/api/response/BgpPeerResponse.java | 6 +++--- .../cloudstack/api/response/HostResponse.java | 14 +++++++------- .../api/response/NetworkOfferingResponse.java | 4 ++-- .../api/response/NetworkProtocolResponse.java | 8 ++++---- .../cloudstack/api/response/UserVmResponse.java | 6 +++--- .../api/response/VolumeForImportResponse.java | 6 +++--- .../api/command/user/vm/DeployVMCmdTest.java | 4 ++-- .../api/response/BgpPeerResponseTest.java | 5 +++-- .../api/response/VolumeForImportResponseTest.java | 5 +++-- .../extensions/api/AddCustomActionCmd.java | 2 +- .../extensions/api/CreateExtensionCmd.java | 2 +- .../extensions/api/RegisterExtensionCmd.java | 2 +- .../extensions/api/UpdateCustomActionCmd.java | 2 +- .../extensions/api/UpdateExtensionCmd.java | 2 +- .../api/UpdateRegisteredExtensionCmd.java | 2 +- .../cluster/CreateKubernetesClusterCmd.java | 4 ++-- .../api/command/RegisterOAuthProviderCmd.java | 7 +++---- .../upload/params/TemplateUploadParams.java | 2 +- .../cloud/storage/upload/params/UploadParams.java | 2 +- .../storage/upload/params/UploadParamsBase.java | 6 +++--- 61 files changed, 115 insertions(+), 131 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java b/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java index 94c5d8ff39fc..48320bf761bb 100644 --- a/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java @@ -76,7 +76,7 @@ public abstract class BaseUpdateTemplateOrIsoCmd extends BaseCmd { protected Boolean isRoutingType; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].hypervisortoolsversion=xenserver61") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.CLEAN_UP_DETAILS, type = CommandType.BOOLEAN, @@ -144,13 +144,11 @@ public Boolean isRoutingType() { return isRoutingType; } - public Map getDetails() { + public Map getDetails() { if (this.details == null || this.details.isEmpty()) { return null; } - - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } public boolean isCleanupDetails() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java index b6b975ae1ce7..fbafab9edf25 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java @@ -70,7 +70,7 @@ public class UpdateAccountCmd extends BaseCmd implements UserCmd { private String networkDomain; @Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "Details for the Account used to store specific parameters") - private Map details; + private Map> details; @Parameter(name = ApiConstants.API_KEY_ACCESS, type = CommandType.STRING, description = "Determines if Api key access for this user is enabled, disabled or inherits the value from its parent, the domain level setting api.key.access", since = "4.20.1.0", authorized = {RoleType.Admin}) private String apiKeyAccess; @@ -104,14 +104,11 @@ public String getNetworkDomain() { return networkDomain; } - public Map getDetails() { + public Map getDetails() { if (details == null || details.isEmpty()) { return null; } - - Collection paramsCollection = details.values(); - Map params = (Map)(paramsCollection.toArray())[0]; - return params; + return details.values().iterator().next(); } public String getApiKeyAccess() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java index d8fa2123d228..11cf1931d25a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/AddClusterCmd.java @@ -136,7 +136,7 @@ public class AddClusterCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs to be added to the extension-resource mapping. Use the format externaldetails[i].=. Example: externaldetails[0].endpoint.url=https://example.com", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; public String getOvm3Pool() { return ovm3pool; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/UpdateClusterCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/UpdateClusterCmd.java index 77d0557af05b..d76718b8fdd9 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/UpdateClusterCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/cluster/UpdateClusterCmd.java @@ -66,7 +66,7 @@ public class UpdateClusterCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs to be added to the extension-resource mapping. Use the format externaldetails[i].=. Example: externaldetails[0].endpoint.url=https://example.com", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; public String getClusterName() { return clusterName; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/AddGuestOsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/AddGuestOsCmd.java index c0e995c497d2..bb65b7bea214 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/AddGuestOsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/AddGuestOsCmd.java @@ -58,7 +58,7 @@ public class AddGuestOsCmd extends BaseAsyncCreateCmd { private String osName; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, required = false, description = "Map of (key/value pairs)") - private Map details; + private Map> details; @Parameter(name="forDisplay", type=CommandType.BOOLEAN, description="whether this guest OS is available for end users", authorized = {RoleType.Admin}) private Boolean display; @@ -79,7 +79,7 @@ public String getOsName() { return osName; } - public Map getDetails() { + public Map getDetails() { Map detailsMap = new HashMap<>(); if (!MapUtils.isEmpty(details)) { Collection servicesCollection = details.values(); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/UpdateGuestOsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/UpdateGuestOsCmd.java index 035ff6a19e24..da4b454a2c76 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/UpdateGuestOsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/guest/UpdateGuestOsCmd.java @@ -54,7 +54,7 @@ public class UpdateGuestOsCmd extends BaseAsyncCmd { private String osDisplayName; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, required = false, description = "Map of (key/value pairs)") - private Map details; + private Map> details; @Parameter(name="forDisplay", type=CommandType.BOOLEAN, description="whether this guest OS is available for end users", authorized = {RoleType.Admin}) private Boolean display; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddHostCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddHostCmd.java index 5a1758345609..7a378f083476 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddHostCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddHostCmd.java @@ -86,7 +86,7 @@ public class AddHostCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].endpoint.url=urlvalue", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java index 585fd1b87a88..e79083df4d3b 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/AddSecondaryStorageCmd.java @@ -50,7 +50,7 @@ public class AddSecondaryStorageCmd extends BaseCmd { protected Long zoneId; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].copytemplatesfromothersecondarystorages=true") - protected Map details; + protected Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/UpdateHostCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/UpdateHostCmd.java index 69bca7c79e21..83985f157e3b 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/host/UpdateHostCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/host/UpdateHostCmd.java @@ -75,7 +75,7 @@ public class UpdateHostCmd extends BaseCmd { private String annotation; @Parameter(name = ApiConstants.EXTERNAL_DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].endpoint.url=urlvalue", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; @Parameter(name = ApiConstants.CLEAN_UP_EXTERNAL_DETAILS, type = CommandType.BOOLEAN, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/NetworkOfferingBaseCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/NetworkOfferingBaseCmd.java index 4b4d0dc94825..37b42070df2d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/NetworkOfferingBaseCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/NetworkOfferingBaseCmd.java @@ -168,7 +168,7 @@ public abstract class NetworkOfferingBaseCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, since = "4.2.0", description = "Network offering details in key/value pairs." + " Supported keys are internallbprovider/publiclbprovider with service provider as a value, and" + " promiscuousmode/macaddresschanges/forgedtransmits with true/false as value to accept/reject the security settings if available for a nic/portgroup") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.EGRESS_DEFAULT_POLICY, type = CommandType.BOOLEAN, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java index f1d9b6723091..81cc53ced87c 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java @@ -91,7 +91,7 @@ public class CreateBgpPeerCmd extends BaseAsyncCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "BGP peer details in key/value pairs.") - protected Map details; + protected Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -134,8 +134,7 @@ public Map getDetails() { if (MapUtils.isEmpty(details)) { return null; } - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } @Override diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java index f45c1ee5a2f3..300bf076d54d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java @@ -74,7 +74,7 @@ public class UpdateBgpPeerCmd extends BaseAsyncCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "BGP peer details in key/value pairs.") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.CLEAN_UP_DETAILS, type = CommandType.BOOLEAN, @@ -105,8 +105,7 @@ public Map getDetails() { if (MapUtils.isEmpty(details)) { return null; } - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } public boolean isCleanupDetails(){ diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java index e1ff90e4bd89..a147e9767697 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java @@ -164,7 +164,7 @@ public class CreateDiskOfferingCmd extends BaseCmd { private Boolean encrypt; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details to specify disk offering parameters", since = "4.16") - private Map details; + private Map> details; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java index 4363d6861ba1..5fbd38cd909d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CreateServiceOfferingCmd.java @@ -130,7 +130,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { private String deploymentPlanner; @Parameter(name = ApiConstants.SERVICE_OFFERING_DETAILS, type = CommandType.MAP, description = "Details for planner, used to store specific parameters") - private Map details; + private Map> details; @Parameter(name = ApiConstants.ROOT_DISK_SIZE, type = CommandType.LONG, since = "4.15", description = "The Root disk size in GB.") private Long rootDiskSize; @@ -286,7 +286,7 @@ public class CreateServiceOfferingCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].endpoint.url=urlvalue", since = "4.21.0") - private Map externalDetails; + private Map> externalDetails; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java index 8e37499c95ed..95a94faec4f7 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/offering/UpdateServiceOfferingCmd.java @@ -98,7 +98,7 @@ public class UpdateServiceOfferingCmd extends BaseCmd implements DomainAndZoneId type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].endpoint.url=urlvalue", since = "4.21.0") - private Map externalDetails; + private Map> externalDetails; @Parameter(name = ApiConstants.CLEAN_UP_EXTERNAL_DETAILS, type = CommandType.BOOLEAN, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddImageStoreCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddImageStoreCmd.java index 72e2e96fe57b..c3195bc74ef6 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddImageStoreCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddImageStoreCmd.java @@ -58,7 +58,7 @@ public class AddImageStoreCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "The details for the image store. Example: details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss") - private Map details; + private Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -108,7 +108,7 @@ public void setProviderName(String providerName) { this.providerName = providerName; } - public void setDetails(Map details) { + public void setDetails(Map> details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmd.java index c24d61b7200b..e91346013f62 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/AddObjectStoragePoolCmd.java @@ -51,7 +51,7 @@ public class AddObjectStoragePoolCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "the details for the object store. Example: details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss") - private Map details; + private Map> details; @Parameter(name = ApiConstants.TAGS, type = CommandType.STRING, description = "the tags for the storage pool") private String tags; @@ -103,7 +103,7 @@ public void setProviderName(String providerName) { this.providerName = providerName; } - public void setDetails(Map details) { + public void setDetails(Map> details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/CreateStoragePoolCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/CreateStoragePoolCmd.java index 784b9e77bdb6..2bae6a77d66e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/CreateStoragePoolCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/CreateStoragePoolCmd.java @@ -50,7 +50,7 @@ public class CreateStoragePoolCmd extends BaseCmd { private Long clusterId; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "The details for the storage pool") - private Map details; + private Map> details; @Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, description = "The name for the storage pool") private String storagePoolName; @@ -103,7 +103,7 @@ public Long getClusterId() { return clusterId; } - public Map getDetails() { + public Map> getDetails() { return details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateCloudToUseObjectStoreCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateCloudToUseObjectStoreCmd.java index 022bbb9a9057..d8318d0b723e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateCloudToUseObjectStoreCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateCloudToUseObjectStoreCmd.java @@ -53,7 +53,7 @@ public class UpdateCloudToUseObjectStoreCmd extends BaseCmd { private String providerName; @Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, description = "The details for the image store. Example: details[0].key=accesskey&details[0].value=s389ddssaa&details[1].key=secretkey&details[1].value=8dshfsss") - private Map details; + private Map> details; @@ -99,7 +99,7 @@ public void setProviderName(String providerName) { this.providerName = providerName; } - public void setDetails(Map details) { + public void setDetails(Map> details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java index fa55b424eaf3..e45e2b788c8e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/storage/UpdateStoragePoolCmd.java @@ -68,7 +68,7 @@ public class UpdateStoragePoolCmd extends BaseCmd { required = false, description = "the details for the storage pool", since = "4.19.0") - private Map details; + private Map> details; @Parameter(name = ApiConstants.URL, type = CommandType.STRING, @@ -131,11 +131,11 @@ public ApiCommandResourceType getApiResourceType() { return ApiCommandResourceType.StoragePool; } - public Map getDetails() { + public Map> getDetails() { return details; } - public void setDetails(Map details) { + public void setDetails(Map> details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CheckVmwareCbtMigrationPrerequisitesCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CheckVmwareCbtMigrationPrerequisitesCmd.java index cbbadc090ce5..2263f6865728 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CheckVmwareCbtMigrationPrerequisitesCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/CheckVmwareCbtMigrationPrerequisitesCmd.java @@ -113,7 +113,7 @@ public class CheckVmwareCbtMigrationPrerequisitesCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "optional service offering custom parameters and migration details") - private Map details; + private Map> details; public Long getZoneId() { return zoneId; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/StartVmwareCbtMigrationCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/StartVmwareCbtMigrationCmd.java index 0746e40c34ca..3e3c89e3b041 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/StartVmwareCbtMigrationCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/vm/StartVmwareCbtMigrationCmd.java @@ -154,7 +154,7 @@ public class StartVmwareCbtMigrationCmd extends BaseAsyncCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "optional migration details, including VDDK settings such as vddk.lib.dir, vddk.transports and vddk.thumbprint") - private Map details; + private Map> details; @Parameter(name = ApiConstants.NIC_NETWORK_LIST, type = CommandType.MAP, description = "VM NIC to network id mapping using keys NIC and network") diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/zone/UpdateZoneCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/zone/UpdateZoneCmd.java index 888ee6603ddf..76b9ff2f9bc3 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/zone/UpdateZoneCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/zone/UpdateZoneCmd.java @@ -76,7 +76,7 @@ public class UpdateZoneCmd extends BaseCmd { private String allocationState; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "The details for the Zone") - private Map details; + private Map> details; @Parameter(name = ApiConstants.DHCP_PROVIDER, type = CommandType.STRING, description = "The DHCP Provider for the Zone") private String dhcpProvider; @@ -143,7 +143,7 @@ public String getAllocationState() { return allocationState; } - public Map getDetails() { + public Map> getDetails() { return details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/CreateAutoScaleVmProfileCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/CreateAutoScaleVmProfileCmd.java index 3f46576e53f6..192ad3c09f19 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/CreateAutoScaleVmProfileCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/CreateAutoScaleVmProfileCmd.java @@ -112,7 +112,7 @@ public class CreateAutoScaleVmProfileCmd extends BaseAsyncCreateCmd { private Long userDataId; @Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "used to specify the parameters values for the variables in userdata.", since = "4.18.1") - private Map userDataDetails; + private Map> userDataDetails; @Parameter(name = ApiConstants.AUTOSCALE_USER_ID, type = CommandType.UUID, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java index 4a0826bf84ea..a4986c486715 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/autoscale/UpdateAutoScaleVmProfileCmd.java @@ -108,7 +108,7 @@ public class UpdateAutoScaleVmProfileCmd extends BaseAsyncCustomIdCmd { @Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "used to specify the parameters values for the variables in userdata.", since = "4.18.1") - private Map userDataDetails; + private Map> userDataDetails; @Parameter(name = ApiConstants.AUTOSCALE_USER_ID, type = CommandType.UUID, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java index 43c5dccc5126..865a91675cd0 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java @@ -75,7 +75,7 @@ public class CreateInstanceBootGroupReadinessRuleCmd extends BaseCmd implements private Boolean enabled; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Rule-type-specific configuration, e.g. port/protocol, script, threshold_type/threshold_value") - private Map details; + private Map> details; public Long getBootGroupId() { return bootGroupId; @@ -105,8 +105,7 @@ public Map getDetails() { if (this.details == null || this.details.isEmpty()) { return null; } - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } @Override diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java index ea399f085658..414169e082c8 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java @@ -60,7 +60,7 @@ public class UpdateInstanceBootGroupReadinessRuleCmd extends BaseCmd implements private Boolean enabled; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Rule-type-specific configuration") - private Map details; + private Map> details; public Long getId() { return id; @@ -78,8 +78,7 @@ public Map getDetails() { if (this.details == null || this.details.isEmpty()) { return null; } - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } @Override diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmd.java index 21279b8719fa..b70aac5c2c70 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/dns/AddDnsServerCmd.java @@ -88,7 +88,7 @@ public class AddDnsServerCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using " + "format details[i].keyname=keyvalue. Example: details[0].pdnsServerId=localhost") - protected Map details; + protected Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/CreateResourceScheduleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/CreateResourceScheduleCmd.java index f6268106c317..8284e577406f 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/CreateResourceScheduleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/CreateResourceScheduleCmd.java @@ -68,7 +68,7 @@ public class CreateResourceScheduleCmd extends BaseCmd { private Boolean enabled; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, required = false, description = "Map of (key/value pairs) details for the schedule.") - private Map details; + private Map> details; public ApiCommandResourceType getResourceType() { ApiCommandResourceType type = EnumUtils.getEnumIgnoreCase(ApiCommandResourceType.class, resourceType); diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/UpdateResourceScheduleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/UpdateResourceScheduleCmd.java index 5422588853e9..b178a2cdf958 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/UpdateResourceScheduleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/schedule/UpdateResourceScheduleCmd.java @@ -59,7 +59,7 @@ public class UpdateResourceScheduleCmd extends BaseCmd { private Boolean enabled; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, required = false, description = "Map of (key/value pairs) details for the schedule.") - private Map details; + private Map> details; public Long getId() { return id; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java index b5e41ff449ca..cc6e0d72549f 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java @@ -123,7 +123,7 @@ public class CreateTemplateCmd extends BaseAsyncCreateCmd implements UserCmd { private String templateTag; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Template details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].hypervisortoolsversion=xenserver61") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.IS_DYNAMICALLY_SCALABLE, type = CommandType.BOOLEAN, @@ -214,14 +214,11 @@ public String getTemplateTag() { return StringUtils.isBlank(templateTag) ? null : templateTag; } - public Map getDetails() { + public Map getDetails() { if (details == null || details.isEmpty()) { return null; } - - Collection paramsCollection = details.values(); - Map params = (Map)(paramsCollection.toArray())[0]; - return params; + return details.values().iterator().next(); } public boolean isDynamicallyScalable() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java index e6e178baada6..98b8f7a43d78 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java @@ -65,7 +65,7 @@ public class GetUploadParamsForTemplateCmd extends AbstractGetUploadParamsCmd { private Integer bits; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Template details in key/value pairs.") - private Map details; + private Map> details; @Parameter(name = ApiConstants.IS_DYNAMICALLY_SCALABLE, type = CommandType.BOOLEAN, description = "True if Template contains XS/VMWare tools in order to support dynamic scaling of Instance CPU/memory") private Boolean isDynamicallyScalable; @@ -125,13 +125,11 @@ public Integer getBits() { return bits; } - public Map getDetails() { + public Map getDetails() { if (details == null || details.isEmpty()) { return null; } - Collection paramsCollection = details.values(); - Map params = (Map)(paramsCollection.toArray())[0]; - return params; + return details.values().iterator().next(); } public Boolean isDynamicallyScalable() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java index 49992ac66611..0c7e4ed19ef9 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java @@ -136,7 +136,7 @@ public class RegisterTemplateCmd extends BaseCmd implements UserCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Template details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].hypervisortoolsversion=xenserver61") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.IS_DYNAMICALLY_SCALABLE, type = CommandType.BOOLEAN, @@ -190,7 +190,7 @@ public class RegisterTemplateCmd extends BaseCmd implements UserCmd { private Long extensionId; @Parameter(name = ApiConstants.EXTERNAL_DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].endpoint.url=urlvalue", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -282,14 +282,11 @@ public String getTemplateTag() { return StringUtils.isBlank(templateTag) ? null : templateTag; } - public Map getDetails() { + public Map getDetails() { if (details == null || details.isEmpty()) { return null; } - - Collection paramsCollection = details.values(); - Map params = (Map)(paramsCollection.toArray())[0]; - return params; + return details.values().iterator().next(); } public Boolean isDynamicallyScalable() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterVnfTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterVnfTemplateCmd.java index c3e99d5791fe..b22cd92edd35 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterVnfTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterVnfTemplateCmd.java @@ -52,7 +52,7 @@ public class RegisterVnfTemplateCmd extends RegisterTemplateCmd implements UserC type = CommandType.MAP, description = "VNF details in key/value pairs using format vnfdetails[i].keyname=keyvalue. " + "Example: vnfdetails[0].vendor=xxx&&vnfdetails[0].version=2.0") - protected Map vnfDetails; + protected Map> vnfDetails; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/UpdateVnfTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/UpdateVnfTemplateCmd.java index 7479dd3be091..c5061224ce80 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/UpdateVnfTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/UpdateVnfTemplateCmd.java @@ -52,7 +52,7 @@ public class UpdateVnfTemplateCmd extends UpdateTemplateCmd implements UserCmd { type = CommandType.MAP, description = "VNF details in key/value pairs using format vnfdetails[i].keyname=keyvalue. " + "Example: vnfdetails[0].vendor=xxx&&vnfdetails[0].version=2.0") - protected Map vnfDetails; + protected Map> vnfDetails; @Parameter(name = ApiConstants.CLEAN_UP_VNF_DETAILS, type = CommandType.BOOLEAN, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/BaseDeployVMCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/BaseDeployVMCmd.java index 8d79ac4af45f..6d70f1fc85d6 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/BaseDeployVMCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/BaseDeployVMCmd.java @@ -141,7 +141,7 @@ public abstract class BaseDeployVMCmd extends BaseAsyncCreateCustomIdCmd impleme since = "4.21.0", description = "Disk offering details for creating multiple data volumes. Mutually exclusive with diskOfferingId." + " Example: datadisksdetails[0].diskofferingid=a2a73a84-19db-4852-8930-dfddef053341&datadisksdetails[0].size=10&datadisksdetails[0].miniops=100&datadisksdetails[0].maxiops=200&datadisksdetails[0].kmskeyid=") - private Map dataDisksDetails; + private Map> dataDisksDetails; @Parameter(name = ApiConstants.GROUP, type = CommandType.STRING, description = "an optional group for the virtual machine") private String group; @@ -164,7 +164,7 @@ public abstract class BaseDeployVMCmd extends BaseAsyncCreateCustomIdCmd impleme protected Long userdataId; @Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "used to specify the parameters values for the variables in userdata.", since = "4.18") - private Map userdataDetails; + private Map> userdataDetails; @Deprecated @Parameter(name = ApiConstants.SSH_KEYPAIR, type = CommandType.STRING, description = "name of the ssh key pair used to login to the virtual machine") @@ -222,7 +222,7 @@ public abstract class BaseDeployVMCmd extends BaseAsyncCreateCustomIdCmd impleme protected Boolean displayVm; @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, since = "4.3", description = "used to specify the custom parameters. 'extraconfig' is not allowed to be passed in details") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.DEPLOYMENT_PLANNER, type = CommandType.STRING, description = "Deployment planner to use for vm allocation. Available to ROOT admin only", since = "4.4", authorized = { RoleType.Admin }) private String deploymentPlanner; @@ -287,7 +287,7 @@ public abstract class BaseDeployVMCmd extends BaseAsyncCreateCustomIdCmd impleme type = CommandType.MAP, description = "Details in key/value pairs using format externaldetails[i].keyname=keyvalue. Example: externaldetails[0].server.type=typevalue", since = "4.21.0") - protected Map externalDetails; + protected Map> externalDetails; private List dataDiskInfoList; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java index 0a943fab118d..e5c2b9d3830c 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmd.java @@ -159,7 +159,7 @@ public void setAffinityGroupIds(List ids) { this.affinityGroupIdList = ids; } - public void setDetails(Map details) { + public void setDetails(Map> details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/ResetVMUserDataCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/ResetVMUserDataCmd.java index 84422e0498b1..b6a1384df5a5 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/ResetVMUserDataCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/ResetVMUserDataCmd.java @@ -70,7 +70,7 @@ public class ResetVMUserDataCmd extends BaseCmd implements UserCmd { private Long userdataId; @Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "Used to specify the parameters values for the variables in userdata.") - private Map userdataDetails; + private Map> userdataDetails; //Owner information @Parameter(name = ApiConstants.ACCOUNT, type = CommandType.STRING, description = "An optional Account for the Instance. Must be used with domainId.") diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/RestoreVMCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/RestoreVMCmd.java index d3459347687a..092c2ab7e581 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/RestoreVMCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/RestoreVMCmd.java @@ -75,7 +75,7 @@ public class RestoreVMCmd extends BaseAsyncCmd implements UserCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, since = "4.19.1", description = "used to specify the custom parameters") - private Map details; + private Map> details; @Parameter(name = ApiConstants.EXPUNGE, type = CommandType.BOOLEAN, diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java index 618d14d90a68..3a5807f5a77a 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/vm/UpdateVMCmd.java @@ -98,7 +98,7 @@ public class UpdateVMCmd extends BaseCustomIdCmd implements SecurityGroupAction, private Long userdataId; @Parameter(name = ApiConstants.USER_DATA_DETAILS, type = CommandType.MAP, description = "Used to specify the parameters values for the variables in userdata.", since = "4.18") - private Map userdataDetails; + private Map> userdataDetails; @Parameter(name = ApiConstants.DISPLAY_VM, type = CommandType.BOOLEAN, description = "An optional field, whether to the display the Instance to the end User or not.", authorized = {RoleType.Admin}) private Boolean displayVm; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java index 9e1c1056fdf9..9babd7d811a2 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/volume/AddResourceDetailCmd.java @@ -38,7 +38,7 @@ public class AddResourceDetailCmd extends BaseAsyncCmd { ///////////////////////////////////////////////////// @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, required = true, description = "Map of (key/value pairs)") - private Map details; + private Map> details; @Parameter(name = ApiConstants.RESOURCE_TYPE, type = CommandType.STRING, required = true, description = "Type of the resource") private String resourceType; @@ -53,7 +53,7 @@ public class AddResourceDetailCmd extends BaseAsyncCmd { /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// - public Map getDetails() { + public Map getDetails() { return TaggedResources.parseKeyValueMap(details, true); } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/BgpPeerResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/BgpPeerResponse.java index 344e65c6badc..5f654b9a95c1 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/BgpPeerResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/BgpPeerResponse.java @@ -84,7 +84,7 @@ public class BgpPeerResponse extends BaseResponse { @SerializedName(ApiConstants.DETAILS) @Param(description = "additional key/value details of the bgp peer") - private Map details; + private Map details; public void setId(String id) { this.id = id; @@ -138,7 +138,7 @@ public void setDomainName(String domainName) { this.domainName = domainName; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } @@ -194,7 +194,7 @@ public String getProjectName() { return projectName; } - public Map getDetails() { + public Map getDetails() { return details; } } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java index 10bd62804fb2..365281aceb7d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java @@ -289,7 +289,7 @@ public class HostResponse extends BaseResponseWithAnnotations { @SerializedName(ApiConstants.DETAILS) @Param(description = "Host details in key/value pairs.", since = "4.5") - private Map details; + private Map details; @SerializedName(ApiConstants.ANNOTATION) @Param(description = "The last annotation set on this host by an admin", since = "4.11") @@ -672,13 +672,13 @@ public void setUsername(String username) { this.username = username; } - public void setDetails(Map details, Hypervisor.HypervisorType hypervisorType) { + public void setDetails(Map details, Hypervisor.HypervisorType hypervisorType) { if (details == null) { return; } - final Map detailsCopy = new HashMap(details); + final Map detailsCopy = new HashMap<>(details); // Fix for CVE ID 2015-3251 // Remove sensitive host credential information from @@ -687,7 +687,7 @@ public void setDetails(Map details, Hypervisor.HypervisorType hypervisorType) { detailsCopy.remove("password"); if (detailsCopy.containsKey(Host.HOST_VOLUME_ENCRYPTION)) { - this.setEncryptionSupported(Boolean.parseBoolean((String) detailsCopy.get(Host.HOST_VOLUME_ENCRYPTION))); + this.setEncryptionSupported(Boolean.parseBoolean(detailsCopy.get(Host.HOST_VOLUME_ENCRYPTION))); detailsCopy.remove(Host.HOST_VOLUME_ENCRYPTION); } else { this.setEncryptionSupported(new Boolean(false)); // default @@ -695,7 +695,7 @@ public void setDetails(Map details, Hypervisor.HypervisorType hypervisorType) { if (Hypervisor.HypervisorType.KVM.equals(hypervisorType)) { if (detailsCopy.containsKey(Host.HOST_INSTANCE_CONVERSION)) { - this.setInstanceConversionSupported(Boolean.parseBoolean((String) detailsCopy.get(Host.HOST_INSTANCE_CONVERSION))); + this.setInstanceConversionSupported(Boolean.parseBoolean(detailsCopy.get(Host.HOST_INSTANCE_CONVERSION))); detailsCopy.remove(Host.HOST_INSTANCE_CONVERSION); } else { this.setInstanceConversionSupported(new Boolean(false)); // default @@ -705,7 +705,7 @@ public void setDetails(Map details, Hypervisor.HypervisorType hypervisorType) { this.details = detailsCopy; } - public Map getDetails() { + public Map getDetails() { return details; } @@ -972,7 +972,7 @@ public Boolean getHasEnoughCapacity() { return hasEnoughCapacity; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkOfferingResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkOfferingResponse.java index 740dd23604a9..a47528339f36 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkOfferingResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkOfferingResponse.java @@ -121,7 +121,7 @@ public class NetworkOfferingResponse extends BaseResponseWithAnnotations { @SerializedName(ApiConstants.DETAILS) @Param(description = "Additional key/value details tied with network offering", since = "4.2.0") - private Map details; + private Map details; @SerializedName(ApiConstants.EGRESS_DEFAULT_POLICY) @Param(description = "True if guest network default egress policy is allow; false if default egress policy is deny") @@ -255,7 +255,7 @@ public void setIsPersistent(Boolean isPersistent) { this.isPersistent = isPersistent; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/NetworkProtocolResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/NetworkProtocolResponse.java index 775333f7192d..40989882a1b4 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/NetworkProtocolResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/NetworkProtocolResponse.java @@ -40,7 +40,7 @@ public class NetworkProtocolResponse extends BaseResponse { @SerializedName(ApiConstants.DETAILS) @Param(description = "the details of the protocol parameter") - private Map details; + private Map details; public NetworkProtocolResponse(Integer index, String name, String description) { this.index = index; @@ -72,17 +72,17 @@ public void setDescription(String description) { this.description = description; } - public Map getDetails() { + public Map getDetails() { return details; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } public void addDetail(String key, String value) { if (this.details == null) { - this.details = new LinkedHashMap(); + this.details = new LinkedHashMap<>(); } this.details.put(key, value); } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java index e08c6019f150..2b7e1d649f30 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/UserVmResponse.java @@ -346,7 +346,7 @@ public class UserVmResponse extends BaseResponseWithTagInformation implements Co @SerializedName(ApiConstants.DETAILS) @Param(description = "Instance details in key/value pairs.", since = "4.2.1") - private Map details; + private Map details; @SerializedName("readonlydetails") @Param(description = "List of read-only Instance details as comma separated string.", since = "4.16.0") @@ -1115,7 +1115,7 @@ public void setServiceState(String state) { this.serviceState = state; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } @@ -1143,7 +1143,7 @@ public void setTagIds(Set tagIds) { this.tagIds = tagIds; } - public Map getDetails() { + public Map getDetails() { return details; } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/VolumeForImportResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/VolumeForImportResponse.java index 803f154816a8..609fe8650ae2 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/VolumeForImportResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/VolumeForImportResponse.java @@ -72,7 +72,7 @@ public class VolumeForImportResponse extends BaseResponse { @SerializedName(ApiConstants.DETAILS) @Param(description = "volume details in key/value pairs.") - private Map details; + private Map details; @SerializedName(ApiConstants.CHAIN_INFO) @Param(description = "the chain info of the volume") @@ -158,11 +158,11 @@ public void setStoragePoolType(String storagePoolType) { this.storagePoolType = storagePoolType; } - public Map getDetails() { + public Map getDetails() { return details; } - public void setDetails(Map details) { + public void setDetails(Map details) { this.details = details; } diff --git a/api/src/test/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmdTest.java b/api/src/test/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmdTest.java index 09d396e40237..4c9f979003b1 100644 --- a/api/src/test/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmdTest.java +++ b/api/src/test/java/org/apache/cloudstack/api/command/user/vm/DeployVMCmdTest.java @@ -602,8 +602,8 @@ public void testSetAffinityGroupIds() { @Test public void testSetDetails() { - Map details = new HashMap<>(); - details.put("key", "value"); + Map> details = new HashMap<>(); + details.put(0, Map.of("key", "value")); cmd.setDetails(details); assertEquals(details, ReflectionTestUtils.getField(cmd, "details")); } diff --git a/api/src/test/java/org/apache/cloudstack/api/response/BgpPeerResponseTest.java b/api/src/test/java/org/apache/cloudstack/api/response/BgpPeerResponseTest.java index 7c82eb843685..c5132bd94916 100644 --- a/api/src/test/java/org/apache/cloudstack/api/response/BgpPeerResponseTest.java +++ b/api/src/test/java/org/apache/cloudstack/api/response/BgpPeerResponseTest.java @@ -16,6 +16,7 @@ // under the License. package org.apache.cloudstack.api.response; +import org.apache.cloudstack.network.BgpPeer; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -59,8 +60,8 @@ public void testBgpPeerResponse() { response.setZoneId(zoneId); response.setZoneName(zoneName); response.setCreated(created); - Map details = new HashMap<>(); - details.put("key", "value"); + Map details = new HashMap<>(); + details.put(BgpPeer.Detail.EBGP_MultiHop, "value"); response.setDetails(details); Assert.assertEquals(uuid, response.getId()); diff --git a/api/src/test/java/org/apache/cloudstack/api/response/VolumeForImportResponseTest.java b/api/src/test/java/org/apache/cloudstack/api/response/VolumeForImportResponseTest.java index 7d0538836bff..602d244462b2 100644 --- a/api/src/test/java/org/apache/cloudstack/api/response/VolumeForImportResponseTest.java +++ b/api/src/test/java/org/apache/cloudstack/api/response/VolumeForImportResponseTest.java @@ -18,6 +18,7 @@ import com.cloud.hypervisor.Hypervisor; import com.cloud.storage.Storage; +import org.apache.cloudstack.storage.volume.VolumeOnStorageTO; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -57,8 +58,8 @@ public void testVolumeForImportResponse() { response.setStoragePoolName(storagePoolName); response.setStoragePoolId(storagePoolId); response.setChainInfo(chainInfo); - Map details = new HashMap<>(); - details.put("key", "value"); + Map details = new HashMap<>(); + details.put(VolumeOnStorageTO.Detail.FILE_FORMAT, "value"); response.setDetails(details); Assert.assertEquals(path, response.getPath()); diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java index dcea754430cf..5a35097e53ce 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/AddCustomActionCmd.java @@ -101,7 +101,7 @@ public class AddCustomActionCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. " + "Example: details[0].vendor=xxx&&details[0].version=2.0") - protected Map details; + protected Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java index 9d76a7e6ec25..2ec929426186 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/CreateExtensionCmd.java @@ -81,7 +81,7 @@ public class CreateExtensionCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].endpoint.url=urlvalue") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.RESERVED_RESOURCE_DETAILS, type = CommandType.STRING, description = "Resource detail names as comma separated string that should be reserved and not visible " + diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java index e8f71d7ac8c4..57fe9b92bcc1 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/RegisterExtensionCmd.java @@ -66,7 +66,7 @@ public class RegisterExtensionCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].endpoint.url=urlvalue") - protected Map details; + protected Map> details; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java index bb03be00c5d5..a7f87c74290c 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateCustomActionCmd.java @@ -107,7 +107,7 @@ public class UpdateCustomActionCmd extends BaseCmd { type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. " + "Example: details[0].vendor=xxx&&details[0].version=2.0") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.CLEAN_UP_DETAILS, type = CommandType.BOOLEAN, diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java index 5baaea1709db..8c1a33ad4de6 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateExtensionCmd.java @@ -69,7 +69,7 @@ public class UpdateExtensionCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].endpoint.url=urlvalue") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.CLEAN_UP_DETAILS, type = CommandType.BOOLEAN, diff --git a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmd.java b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmd.java index 6c755ecd1a54..3ecd87dbba65 100644 --- a/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmd.java +++ b/framework/extensions/src/main/java/org/apache/cloudstack/framework/extensions/api/UpdateRegisteredExtensionCmd.java @@ -61,7 +61,7 @@ public class UpdateRegisteredExtensionCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].endpoint.url=urlvalue") - protected Map details; + protected Map> details; @Parameter(name = ApiConstants.CLEAN_UP_DETAILS, type = CommandType.BOOLEAN, diff --git a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/cluster/CreateKubernetesClusterCmd.java b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/cluster/CreateKubernetesClusterCmd.java index 8bf0f3625508..d2fe8fd4bcd8 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/cluster/CreateKubernetesClusterCmd.java +++ b/plugins/integrations/kubernetes-service/src/main/java/org/apache/cloudstack/api/command/user/kubernetes/cluster/CreateKubernetesClusterCmd.java @@ -216,7 +216,7 @@ public class CreateKubernetesClusterCmd extends BaseAsyncCreateCmd { "Example: cniconfigdetails[0].key=accesskey&cniconfigdetails[0].value=s389ddssaa&" + "cniconfigdetails[1].key=secretkey&cniconfigdetails[1].value=8dshfsss", since = "4.21.0") - private Map cniConfigDetails; + private Map> cniConfigDetails; @Parameter(name = ApiConstants.ENABLE_CSI, type = CommandType.BOOLEAN, description = "if true, setups up CloudStack CSI driver", since = "4.22.0") private Boolean enableCsi; @@ -381,7 +381,7 @@ public Long getAsNumber() { return asNumber; } - public Map getCniConfigDetails() { + public Map getCniConfigDetails() { return convertDetailsToMap(cniConfigDetails); } diff --git a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java index 956e6fca00af..c1a1b26be70e 100644 --- a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java +++ b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java @@ -78,7 +78,7 @@ public class RegisterOAuthProviderCmd extends BaseCmd { @Parameter(name = ApiConstants.DETAILS, type = CommandType.MAP, description = "Any OAuth provider details in key/value pairs using format details[i].keyname=keyvalue. Example: details[0].clientsecret=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") - protected Map details; + protected Map> details; @Override public long getEntityOwnerId() { @@ -121,12 +121,11 @@ public String getTokenUrl() { return tokenUrl; } - public Map getDetails() { + public Map getDetails() { if (MapUtils.isEmpty(details)) { return null; } - Collection paramsCollection = this.details.values(); - return (Map) (paramsCollection.toArray())[0]; + return this.details.values().iterator().next(); } @Inject diff --git a/server/src/main/java/com/cloud/storage/upload/params/TemplateUploadParams.java b/server/src/main/java/com/cloud/storage/upload/params/TemplateUploadParams.java index aae7c0be812a..202615b6ef90 100644 --- a/server/src/main/java/com/cloud/storage/upload/params/TemplateUploadParams.java +++ b/server/src/main/java/com/cloud/storage/upload/params/TemplateUploadParams.java @@ -29,7 +29,7 @@ public TemplateUploadParams(long userId, String name, String displayText, CPU.CP Boolean isExtractable, String format, Long guestOSId, Long zoneId, Hypervisor.HypervisorType hypervisorType, String chksum, String templateTag, long templateOwnerId, - Map details, Boolean sshkeyEnabled, + Map details, Boolean sshkeyEnabled, Boolean isDynamicallyScalable, Boolean isRoutingType, boolean deployAsIs, boolean forCks, String templateType) { super(userId, name, displayText, arch, bits, passwordEnabled, requiresHVM, isPublic, featured, isExtractable, diff --git a/server/src/main/java/com/cloud/storage/upload/params/UploadParams.java b/server/src/main/java/com/cloud/storage/upload/params/UploadParams.java index 5738cfaad884..283b99958652 100644 --- a/server/src/main/java/com/cloud/storage/upload/params/UploadParams.java +++ b/server/src/main/java/com/cloud/storage/upload/params/UploadParams.java @@ -41,7 +41,7 @@ public interface UploadParams { boolean isBootable(); String getTemplateTag(); long getTemplateOwnerId(); - Map getDetails(); + Map getDetails(); boolean isSshKeyEnabled(); String getImageStoreUuid(); boolean isDynamicallyScalable(); diff --git a/server/src/main/java/com/cloud/storage/upload/params/UploadParamsBase.java b/server/src/main/java/com/cloud/storage/upload/params/UploadParamsBase.java index 945551a9318c..36ec10e92b94 100644 --- a/server/src/main/java/com/cloud/storage/upload/params/UploadParamsBase.java +++ b/server/src/main/java/com/cloud/storage/upload/params/UploadParamsBase.java @@ -41,7 +41,7 @@ public abstract class UploadParamsBase implements UploadParams { private boolean bootable; private String templateTag; private long templateOwnerId; - private Map details; + private Map details; private boolean sshkeyEnabled; private boolean isDynamicallyScalable; private boolean isRoutingType; @@ -56,7 +56,7 @@ public abstract class UploadParamsBase implements UploadParams { boolean isExtractable, String format, Long guestOSId, Long zoneId, Hypervisor.HypervisorType hypervisorType, String checksum, String templateTag, long templateOwnerId, - Map details, boolean sshkeyEnabled, + Map details, boolean sshkeyEnabled, boolean isDynamicallyScalable, boolean isRoutingType, boolean deployAsIs, boolean forCks, String templateType) { this.userId = userId; @@ -195,7 +195,7 @@ public long getTemplateOwnerId() { } @Override - public Map getDetails() { + public Map getDetails() { return details; } From 764d597ba382b578ef4a49693be5e31abf357338 Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Fri, 6 Nov 2026 17:15:47 +0100 Subject: [PATCH 2/2] imports --- .../org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java | 1 - .../cloudstack/api/command/admin/account/UpdateAccountCmd.java | 1 - .../api/command/admin/network/bgp/CreateBgpPeerCmd.java | 1 - .../api/command/admin/network/bgp/UpdateBgpPeerCmd.java | 1 - .../user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java | 1 - .../user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java | 1 - .../cloudstack/api/command/user/template/CreateTemplateCmd.java | 1 - .../api/command/user/template/GetUploadParamsForTemplateCmd.java | 1 - .../api/command/user/template/RegisterTemplateCmd.java | 1 - .../cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java | 1 - 10 files changed, 10 deletions(-) diff --git a/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java b/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java index 48320bf761bb..dc0a6f07bbcf 100644 --- a/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/BaseUpdateTemplateOrIsoCmd.java @@ -21,7 +21,6 @@ import org.apache.cloudstack.api.response.TemplateResponse; import org.apache.commons.lang3.StringUtils; -import java.util.Collection; import java.util.Map; public abstract class BaseUpdateTemplateOrIsoCmd extends BaseCmd { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java index fbafab9edf25..70c337144dcf 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java @@ -16,7 +16,6 @@ // under the License. package org.apache.cloudstack.api.command.admin.account; -import java.util.Collection; import java.util.Map; import javax.inject.Inject; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java index 81cc53ced87c..dcd7cadd6d8e 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/CreateBgpPeerCmd.java @@ -35,7 +35,6 @@ import com.cloud.event.EventTypes; import com.cloud.user.Account; -import java.util.Collection; import java.util.Map; @APICommand(name = "createBgpPeer", diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java index 300bf076d54d..ccc981fd8911 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/network/bgp/UpdateBgpPeerCmd.java @@ -33,7 +33,6 @@ import com.cloud.utils.exception.CloudRuntimeException; import org.apache.commons.collections.MapUtils; -import java.util.Collection; import java.util.Map; @APICommand(name = "updateBgpPeer", diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java index 865a91675cd0..e841ed6f76c6 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/CreateInstanceBootGroupReadinessRuleCmd.java @@ -17,7 +17,6 @@ package org.apache.cloudstack.api.command.user.bootgroup; -import java.util.Collection; import java.util.Map; import javax.inject.Inject; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java index 414169e082c8..530c4f8a5ee1 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/bootgroup/UpdateInstanceBootGroupReadinessRuleCmd.java @@ -17,7 +17,6 @@ package org.apache.cloudstack.api.command.user.bootgroup; -import java.util.Collection; import java.util.Map; import javax.inject.Inject; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java index cc6e0d72549f..cd16d49e92d5 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/CreateTemplateCmd.java @@ -16,7 +16,6 @@ // under the License. package org.apache.cloudstack.api.command.user.template; -import java.util.Collection; import java.util.List; import java.util.Map; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java index 98b8f7a43d78..1a97af5741dc 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/GetUploadParamsForTemplateCmd.java @@ -19,7 +19,6 @@ package org.apache.cloudstack.api.command.user.template; import java.net.MalformedURLException; -import java.util.Collection; import java.util.Map; import com.cloud.cpu.CPU; diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java index 0c7e4ed19ef9..57468d12bef1 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/template/RegisterTemplateCmd.java @@ -18,7 +18,6 @@ import java.net.URISyntaxException; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Map; diff --git a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java index c1a1b26be70e..2cb0bf664cb4 100644 --- a/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java +++ b/plugins/user-authenticators/oauth2/src/main/java/org/apache/cloudstack/oauth2/api/command/RegisterOAuthProviderCmd.java @@ -14,7 +14,6 @@ // limitations under the License. package org.apache.cloudstack.oauth2.api.command; -import java.util.Collection; import java.util.Map; import javax.inject.Inject;