From f474c585b2b78b60484448c415ea391561e1b0a8 Mon Sep 17 00:00:00 2001 From: Prashant Bhanage Date: Fri, 24 Jul 2026 20:36:31 +0530 Subject: [PATCH 1/2] Refactor: Modularize ApiResponseHelper#createUsageResponse (4.22 Backport) --- .../java/com/cloud/api/ApiResponseHelper.java | 1147 ++++++++++------- 1 file changed, 712 insertions(+), 435 deletions(-) diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 67f83dacaad4..8cb06af4245b 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -18,8 +18,7 @@ import static com.cloud.utils.NumbersUtil.toHumanReadableSize; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; + import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; @@ -38,23 +37,17 @@ import java.util.function.Consumer; import java.util.stream.Collectors; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; import javax.inject.Inject; -import com.cloud.api.query.ResourceIdSupport; -import com.cloud.bgp.ASNumber; -import com.cloud.bgp.ASNumberRange; -import com.cloud.configuration.ConfigurationService; -import com.cloud.dc.ASNumberRangeVO; -import com.cloud.dc.ASNumberVO; -import com.cloud.dc.VlanDetailsVO; -import com.cloud.dc.dao.ASNumberDao; -import com.cloud.dc.dao.ASNumberRangeDao; -import com.cloud.dc.dao.VlanDetailsDao; -import com.cloud.hypervisor.Hypervisor; -import com.cloud.network.vpc.VpcGateway; -import com.cloud.storage.BucketVO; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.ControlledEntity.ACLType; +import org.apache.cloudstack.acl.RoleVO; +import org.apache.cloudstack.acl.apikeypair.ApiKeyPair; +import org.apache.cloudstack.acl.apikeypair.ApiKeyPairPermission; +import org.apache.cloudstack.acl.dao.RoleDao; import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; import org.apache.cloudstack.annotation.AnnotationService; @@ -81,6 +74,7 @@ import org.apache.cloudstack.api.response.BackupOfferingResponse; import org.apache.cloudstack.api.response.BackupRepositoryResponse; import org.apache.cloudstack.api.response.BackupScheduleResponse; +import org.apache.cloudstack.api.response.BaseRolePermissionResponse; import org.apache.cloudstack.api.response.BgpPeerResponse; import org.apache.cloudstack.api.response.BucketResponse; import org.apache.cloudstack.api.response.CapabilityResponse; @@ -128,6 +122,7 @@ import org.apache.cloudstack.api.response.Ipv4RouteResponse; import org.apache.cloudstack.api.response.Ipv6RouteResponse; import org.apache.cloudstack.api.response.IsolationMethodResponse; +import org.apache.cloudstack.api.response.ApiKeyPairResponse; import org.apache.cloudstack.api.response.LBHealthCheckPolicyResponse; import org.apache.cloudstack.api.response.LBHealthCheckResponse; import org.apache.cloudstack.api.response.LBStickinessPolicyResponse; @@ -270,6 +265,7 @@ import com.cloud.api.query.vo.ProjectAccountJoinVO; import com.cloud.api.query.vo.ProjectInvitationJoinVO; import com.cloud.api.query.vo.ProjectJoinVO; +import com.cloud.api.query.ResourceIdSupport; import com.cloud.api.query.vo.ResourceTagJoinVO; import com.cloud.api.query.vo.SecurityGroupJoinVO; import com.cloud.api.query.vo.ServiceOfferingJoinVO; @@ -280,14 +276,19 @@ import com.cloud.api.query.vo.VolumeJoinVO; import com.cloud.api.query.vo.VpcOfferingJoinVO; import com.cloud.api.response.ApiResponseSerializer; +import com.cloud.bgp.ASNumber; +import com.cloud.bgp.ASNumberRange; import com.cloud.capacity.Capacity; import com.cloud.capacity.CapacityVO; import com.cloud.capacity.dao.CapacityDaoImpl.SummedCapacity; import com.cloud.configuration.ConfigurationManager; +import com.cloud.configuration.ConfigurationService; import com.cloud.configuration.Resource.ResourceOwnerType; import com.cloud.configuration.Resource.ResourceType; import com.cloud.configuration.ResourceCount; import com.cloud.configuration.ResourceLimit; +import com.cloud.dc.ASNumberRangeVO; +import com.cloud.dc.ASNumberVO; import com.cloud.dc.ClusterDetailsDao; import com.cloud.dc.ClusterVO; import com.cloud.dc.DataCenter; @@ -298,15 +299,21 @@ import com.cloud.dc.StorageNetworkIpRange; import com.cloud.dc.Vlan; import com.cloud.dc.Vlan.VlanType; +import com.cloud.dc.VlanDetailsVO; import com.cloud.dc.VlanVO; +import com.cloud.dc.dao.ASNumberDao; +import com.cloud.dc.dao.ASNumberRangeDao; +import com.cloud.dc.dao.VlanDetailsDao; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; import com.cloud.event.Event; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; import com.cloud.host.ControlState; import com.cloud.host.Host; import com.cloud.host.HostVO; +import com.cloud.hypervisor.Hypervisor; import com.cloud.hypervisor.HypervisorCapabilities; import com.cloud.network.GuestVlan; import com.cloud.network.GuestVlanRange; @@ -370,9 +377,11 @@ import com.cloud.network.vpc.PrivateGateway; import com.cloud.network.vpc.StaticRoute; import com.cloud.network.vpc.Vpc; +import com.cloud.network.vpc.VpcGateway; import com.cloud.network.vpc.VpcOffering; import com.cloud.network.vpc.VpcVO; import com.cloud.network.vpc.dao.VpcOfferingDao; +import com.cloud.network.vpn.Site2SiteVpnManager; import com.cloud.offering.DiskOffering; import com.cloud.offering.NetworkOffering; import com.cloud.offering.NetworkOffering.Detail; @@ -391,6 +400,7 @@ import com.cloud.server.ResourceTag; import com.cloud.server.ResourceTag.ResourceObjectType; import com.cloud.service.ServiceOfferingVO; +import com.cloud.storage.BucketVO; import com.cloud.storage.DataStoreRole; import com.cloud.storage.DiskOfferingVO; import com.cloud.storage.GuestOS; @@ -414,11 +424,14 @@ import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; import com.cloud.user.AccountManager; +import com.cloud.user.AccountVO; +import com.cloud.user.ApiKeyPairState; import com.cloud.user.SSHKeyPair; import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserData; import com.cloud.user.UserStatisticsVO; +import com.cloud.user.dao.AccountDao; import com.cloud.user.dao.UserDataDao; import com.cloud.user.dao.UserStatisticsDao; import com.cloud.uservm.UserVm; @@ -449,7 +462,7 @@ import com.cloud.vm.snapshot.VMSnapshotVO; import com.cloud.vm.snapshot.dao.VMSnapshotDao; -import sun.security.x509.X509CertImpl; + public class ApiResponseHelper implements ResponseGenerator, ResourceIdSupport { @@ -532,6 +545,8 @@ public class ApiResponseHelper implements ResponseGenerator, ResourceIdSupport { @Inject RoutedIpv4Manager routedIpv4Manager; @Inject + Site2SiteVpnManager site2SiteVpnManager; + @Inject ResourceIconManager resourceIconManager; @Inject AsyncJobDao asyncJobDao; @@ -545,6 +560,15 @@ public static String getPrettyDomainPath(String path) { return domainPath.toString(); } + @Inject + private RoleDao roleDao; + + @Inject + private AccountDao accountDao; + + @Inject + private DomainDao domainDao; + @Override public UserResponse createUserResponse(User user) { UserAccountJoinVO vUser = ApiDBUtils.newUserView(user); @@ -589,6 +613,7 @@ public DomainResponse createDomainResponse(Domain domain) { if (domain.getChildCount() > 0) { domainResponse.setHasChild(true); } + populateDomainTags(domain.getUuid(), domainResponse); domainResponse.setObjectName("domain"); return domainResponse; } @@ -797,7 +822,7 @@ public static DataStoreRole getDataStoreRole(Snapshot snapshot, SnapshotDataStor if (mapCapabilities != null) { String value = mapCapabilities.get(DataStoreCapabilities.STORAGE_SYSTEM_SNAPSHOT.toString()); - Boolean supportsStorageSystemSnapshots = new Boolean(value); + boolean supportsStorageSystemSnapshots = Boolean.getBoolean(value); if (supportsStorageSystemSnapshots) { return DataStoreRole.Primary; @@ -1658,7 +1683,7 @@ public FirewallRuleResponse createPortForwardingRuleResponse(PortForwardingRule Network guestNtwk = ApiDBUtils.findNetworkById(fwRule.getNetworkId()); response.setNetworkId(guestNtwk.getUuid()); - + response.setNetworkName(guestNtwk.getName()); IpAddress ip = ApiDBUtils.findIpAddressById(fwRule.getSourceIpAddressId()); @@ -1886,6 +1911,8 @@ public SystemVmResponse createSystemVmResponse(VirtualMachine vm) { vmResponse.setPublicNetmask(singleNicProfile.getIPv4Netmask()); vmResponse.setGateway(singleNicProfile.getIPv4Gateway()); } + } else if (network.getTrafficType() == TrafficType.Storage) { + vmResponse.setStorageIp(singleNicProfile.getIPv4Address()); } } } @@ -1910,6 +1937,12 @@ public UserVm findUserVmById(Long vmId) { } + @Override + public UserVm findUserVmByNicId(Long nicId) { + NicVO nic = ApiDBUtils.findNicById(nicId); + return ApiDBUtils.findUserVmById(nic.getInstanceId()); + } + @Override public VolumeVO findVolumeById(Long volumeId) { return ApiDBUtils.findVolumeById(volumeId); @@ -2859,6 +2892,11 @@ public NetworkResponse createNetworkResponse(ResponseView view, Network network) } } + if (CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN && + network.getVpcId() == null && network.getGuestType() == Network.GuestType.Isolated) { + response.setKeepMacAddressOnPublicNic(network.getKeepMacAddressOnPublicNic()); + } + response.setObjectName("network"); return response; } @@ -3061,6 +3099,20 @@ public static void populateOwner(ControlledViewEntityResponse response, Controll response.setDomainPath(getPrettyDomainPath(object.getDomainPath())); } + public static void populateDomainTags(String domainUuid, DomainResponse domainResponse) { + List tags = ApiDBUtils.listResourceTagViewByResourceUUID(domainUuid, + ResourceTag.ResourceObjectType.Domain); + if (CollectionUtils.isEmpty(tags)) { + return; + } + Set tagResponses = new HashSet<>(); + for (ResourceTagJoinVO tag : tags) { + ResourceTagResponse tagResponse = ApiDBUtils.newResourceTagResponse(tag, true); + tagResponses.add(tagResponse); + } + domainResponse.setTags(tagResponses); + } + private void populateAccount(ControlledEntityResponse response, long accountId) { Account account = ApiDBUtils.findAccountById(accountId); if (account == null) { @@ -3272,6 +3324,9 @@ public TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType PhysicalNetwork pnet = ApiDBUtils.findPhysicalNetworkById(result.getPhysicalNetworkId()); if (pnet != null) { response.setPhysicalNetworkId(pnet.getUuid()); + if (!pnet.getIsolationMethods().isEmpty()) { + response.setIsolationMethods(String.join(",", pnet.getIsolationMethods())); + } } if (result.getTrafficType() != null) { response.setTrafficType(result.getTrafficType().toString()); @@ -3282,6 +3337,7 @@ public TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType response.setVmwareLabel(result.getVmwareNetworkLabel()); response.setHypervLabel(result.getHypervNetworkLabel()); response.setOvm3Label(result.getOvm3NetworkLabel()); + response.setVlan(result.getVlan()); response.setObjectName("traffictype"); return response; @@ -3508,6 +3564,7 @@ public VpcResponse createVpcResponse(ResponseView view, Vpc vpc) { if (voff != null) { response.setVpcOfferingId(voff.getUuid()); response.setVpcOfferingName(voff.getName()); + response.setVpcOfferingConserveMode(voff.isConserveMode()); } response.setCidr(vpc.getCidr()); response.setRestartRequired(vpc.isRestartRequired()); @@ -3603,6 +3660,9 @@ public VpcResponse createVpcResponse(ResponseView view, Vpc vpc) { } } + if (CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN) { + response.setKeepMacAddressOnPublicNic(vpc.getKeepMacAddressOnPublicNic()); + } response.setObjectName("vpc"); return response; } @@ -3896,6 +3956,16 @@ public Site2SiteCustomerGatewayResponse createSite2SiteCustomerGatewayResponse(S response.setRemoved(result.getRemoved()); response.setIkeVersion(result.getIkeVersion()); response.setSplitConnections(result.getSplitConnections()); + + Set obsoleteParameters = site2SiteVpnManager.getObsoleteVpnGatewayParameters(result); + if (CollectionUtils.isNotEmpty(obsoleteParameters)) { + response.setContainsObsoleteParameters(obsoleteParameters.toString()); + } + Set excludedParameters = site2SiteVpnManager.getExcludedVpnGatewayParameters(result); + if (CollectionUtils.isNotEmpty(excludedParameters)) { + response.setContainsExcludedParameters(excludedParameters.toString()); + } + response.setObjectName("vpncustomergateway"); response.setHasAnnotation(annotationDao.hasAnnotations(result.getUuid(), AnnotationService.EntityType.VPN_CUSTOMER_GATEWAY.name(), _accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId()))); @@ -4116,474 +4186,602 @@ public UsageRecordResponse createUsageResponse(Usage usageRecord, Map createKeypairPermissionsResponse(final List permissions) { + final ListResponse response = new ListResponse<>(); + final List permissionResponses = new ArrayList<>(); + for (final ApiKeyPairPermission permission : permissions) { + BaseRolePermissionResponse permissionResponse = new BaseRolePermissionResponse(); + permissionResponse.setRule(permission.getRule()); + permissionResponse.setRulePermission(permission.getPermission()); + permissionResponse.setDescription(permission.getDescription()); + permissionResponse.setObjectName("keypermission"); + permissionResponses.add(permissionResponse); + } + response.setResponses(permissionResponses); + return response; + } + @Override public EntityManager getEntityManager() { return _entityMgr; From ffa708954876b1c41f86d6deb7e0f6d886819611 Mon Sep 17 00:00:00 2001 From: Prashant Bhanage Date: Fri, 24 Jul 2026 22:42:13 +0530 Subject: [PATCH 2/2] Refactor: modularize ApiResponseHelper#createUsageResponse (4.22 backport) --- .../java/com/cloud/api/ApiResponseHelper.java | 159 ++---------------- 1 file changed, 18 insertions(+), 141 deletions(-) diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 8cb06af4245b..7d7f9288ea3e 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -44,10 +44,7 @@ import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.acl.ControlledEntity.ACLType; -import org.apache.cloudstack.acl.RoleVO; -import org.apache.cloudstack.acl.apikeypair.ApiKeyPair; -import org.apache.cloudstack.acl.apikeypair.ApiKeyPairPermission; -import org.apache.cloudstack.acl.dao.RoleDao; + import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; import org.apache.cloudstack.annotation.AnnotationService; @@ -74,7 +71,7 @@ import org.apache.cloudstack.api.response.BackupOfferingResponse; import org.apache.cloudstack.api.response.BackupRepositoryResponse; import org.apache.cloudstack.api.response.BackupScheduleResponse; -import org.apache.cloudstack.api.response.BaseRolePermissionResponse; + import org.apache.cloudstack.api.response.BgpPeerResponse; import org.apache.cloudstack.api.response.BucketResponse; import org.apache.cloudstack.api.response.CapabilityResponse; @@ -122,7 +119,6 @@ import org.apache.cloudstack.api.response.Ipv4RouteResponse; import org.apache.cloudstack.api.response.Ipv6RouteResponse; import org.apache.cloudstack.api.response.IsolationMethodResponse; -import org.apache.cloudstack.api.response.ApiKeyPairResponse; import org.apache.cloudstack.api.response.LBHealthCheckPolicyResponse; import org.apache.cloudstack.api.response.LBHealthCheckResponse; import org.apache.cloudstack.api.response.LBStickinessPolicyResponse; @@ -306,7 +302,7 @@ import com.cloud.dc.dao.VlanDetailsDao; import com.cloud.domain.Domain; import com.cloud.domain.DomainVO; -import com.cloud.domain.dao.DomainDao; + import com.cloud.event.Event; import com.cloud.exception.InvalidParameterValueException; import com.cloud.exception.PermissionDeniedException; @@ -381,7 +377,7 @@ import com.cloud.network.vpc.VpcOffering; import com.cloud.network.vpc.VpcVO; import com.cloud.network.vpc.dao.VpcOfferingDao; -import com.cloud.network.vpn.Site2SiteVpnManager; + import com.cloud.offering.DiskOffering; import com.cloud.offering.NetworkOffering; import com.cloud.offering.NetworkOffering.Detail; @@ -424,14 +420,13 @@ import com.cloud.template.VirtualMachineTemplate; import com.cloud.user.Account; import com.cloud.user.AccountManager; -import com.cloud.user.AccountVO; -import com.cloud.user.ApiKeyPairState; + import com.cloud.user.SSHKeyPair; import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserData; import com.cloud.user.UserStatisticsVO; -import com.cloud.user.dao.AccountDao; + import com.cloud.user.dao.UserDataDao; import com.cloud.user.dao.UserStatisticsDao; import com.cloud.uservm.UserVm; @@ -544,8 +539,7 @@ public class ApiResponseHelper implements ResponseGenerator, ResourceIdSupport { BgpPeerDao bgpPeerDao; @Inject RoutedIpv4Manager routedIpv4Manager; - @Inject - Site2SiteVpnManager site2SiteVpnManager; + @Inject ResourceIconManager resourceIconManager; @Inject @@ -560,14 +554,7 @@ public static String getPrettyDomainPath(String path) { return domainPath.toString(); } - @Inject - private RoleDao roleDao; - - @Inject - private AccountDao accountDao; - @Inject - private DomainDao domainDao; @Override public UserResponse createUserResponse(User user) { @@ -613,7 +600,6 @@ public DomainResponse createDomainResponse(Domain domain) { if (domain.getChildCount() > 0) { domainResponse.setHasChild(true); } - populateDomainTags(domain.getUuid(), domainResponse); domainResponse.setObjectName("domain"); return domainResponse; } @@ -1683,7 +1669,6 @@ public FirewallRuleResponse createPortForwardingRuleResponse(PortForwardingRule Network guestNtwk = ApiDBUtils.findNetworkById(fwRule.getNetworkId()); response.setNetworkId(guestNtwk.getUuid()); - response.setNetworkName(guestNtwk.getName()); IpAddress ip = ApiDBUtils.findIpAddressById(fwRule.getSourceIpAddressId()); @@ -1911,8 +1896,6 @@ public SystemVmResponse createSystemVmResponse(VirtualMachine vm) { vmResponse.setPublicNetmask(singleNicProfile.getIPv4Netmask()); vmResponse.setGateway(singleNicProfile.getIPv4Gateway()); } - } else if (network.getTrafficType() == TrafficType.Storage) { - vmResponse.setStorageIp(singleNicProfile.getIPv4Address()); } } } @@ -1937,11 +1920,7 @@ public UserVm findUserVmById(Long vmId) { } - @Override - public UserVm findUserVmByNicId(Long nicId) { - NicVO nic = ApiDBUtils.findNicById(nicId); - return ApiDBUtils.findUserVmById(nic.getInstanceId()); - } + @Override public VolumeVO findVolumeById(Long volumeId) { @@ -2892,10 +2871,7 @@ public NetworkResponse createNetworkResponse(ResponseView view, Network network) } } - if (CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN && - network.getVpcId() == null && network.getGuestType() == Network.GuestType.Isolated) { - response.setKeepMacAddressOnPublicNic(network.getKeepMacAddressOnPublicNic()); - } + response.setObjectName("network"); return response; @@ -3099,19 +3075,7 @@ public static void populateOwner(ControlledViewEntityResponse response, Controll response.setDomainPath(getPrettyDomainPath(object.getDomainPath())); } - public static void populateDomainTags(String domainUuid, DomainResponse domainResponse) { - List tags = ApiDBUtils.listResourceTagViewByResourceUUID(domainUuid, - ResourceTag.ResourceObjectType.Domain); - if (CollectionUtils.isEmpty(tags)) { - return; - } - Set tagResponses = new HashSet<>(); - for (ResourceTagJoinVO tag : tags) { - ResourceTagResponse tagResponse = ApiDBUtils.newResourceTagResponse(tag, true); - tagResponses.add(tagResponse); - } - domainResponse.setTags(tagResponses); - } + private void populateAccount(ControlledEntityResponse response, long accountId) { Account account = ApiDBUtils.findAccountById(accountId); @@ -3324,9 +3288,7 @@ public TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType PhysicalNetwork pnet = ApiDBUtils.findPhysicalNetworkById(result.getPhysicalNetworkId()); if (pnet != null) { response.setPhysicalNetworkId(pnet.getUuid()); - if (!pnet.getIsolationMethods().isEmpty()) { - response.setIsolationMethods(String.join(",", pnet.getIsolationMethods())); - } + } if (result.getTrafficType() != null) { response.setTrafficType(result.getTrafficType().toString()); @@ -3337,7 +3299,7 @@ public TrafficTypeResponse createTrafficTypeResponse(PhysicalNetworkTrafficType response.setVmwareLabel(result.getVmwareNetworkLabel()); response.setHypervLabel(result.getHypervNetworkLabel()); response.setOvm3Label(result.getOvm3NetworkLabel()); - response.setVlan(result.getVlan()); + response.setObjectName("traffictype"); return response; @@ -3564,7 +3526,7 @@ public VpcResponse createVpcResponse(ResponseView view, Vpc vpc) { if (voff != null) { response.setVpcOfferingId(voff.getUuid()); response.setVpcOfferingName(voff.getName()); - response.setVpcOfferingConserveMode(voff.isConserveMode()); + } response.setCidr(vpc.getCidr()); response.setRestartRequired(vpc.isRestartRequired()); @@ -3660,9 +3622,7 @@ public VpcResponse createVpcResponse(ResponseView view, Vpc vpc) { } } - if (CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN) { - response.setKeepMacAddressOnPublicNic(vpc.getKeepMacAddressOnPublicNic()); - } + response.setObjectName("vpc"); return response; } @@ -3957,14 +3917,7 @@ public Site2SiteCustomerGatewayResponse createSite2SiteCustomerGatewayResponse(S response.setIkeVersion(result.getIkeVersion()); response.setSplitConnections(result.getSplitConnections()); - Set obsoleteParameters = site2SiteVpnManager.getObsoleteVpnGatewayParameters(result); - if (CollectionUtils.isNotEmpty(obsoleteParameters)) { - response.setContainsObsoleteParameters(obsoleteParameters.toString()); - } - Set excludedParameters = site2SiteVpnManager.getExcludedVpnGatewayParameters(result); - if (CollectionUtils.isNotEmpty(excludedParameters)) { - response.setContainsExcludedParameters(excludedParameters.toString()); - } + response.setObjectName("vpncustomergateway"); response.setHasAnnotation(annotationDao.hasAnnotations(result.getUuid(), AnnotationService.EntityType.VPN_CUSTOMER_GATEWAY.name(), @@ -4690,7 +4643,7 @@ private UsageResourceDetails populateVmSnapshotUsageResponse(Usage usageRecord, usageRecResponse.setVirtualSize(usageRecord.getVirtualSize()); } if (usageRecord.getOfferingId() != null) { - usageRecResponse.setOfferingId(usageRecord.getOfferingId()); + usageRecResponse.setOfferingId(usageRecord.getOfferingId().toString()); } if (!oldFormat) { VolumeVO volume = null; @@ -4889,7 +4842,7 @@ public NicSecondaryIpResponse createSecondaryIPToNicResponse(NicSecondaryIp resu setResponseIpAddress(result, response); response.setNicId(nic.getUuid()); response.setNwId(network.getUuid()); - response.setDescription(result.getDescription()); + response.setObjectName("nicsecondaryip"); return response; } @@ -4976,7 +4929,7 @@ public NicResponse createNicResponse(Nic result) { for (NicSecondaryIpVO ip : secondaryIps) { NicSecondaryIpResponse ipRes = new NicSecondaryIpResponse(); ipRes.setId(ip.getUuid()); - ipRes.setDescription(ip.getDescription()); + setResponseIpAddress(ip, ipRes); ipList.add(ipRes); } @@ -5007,7 +4960,6 @@ public NicResponse createNicResponse(Nic result) { response.setVpcName(vpc.getName()); } - response.setEnabled(result.isEnabled()); return response; } @@ -5923,81 +5875,6 @@ public ConsoleSessionResponse createConsoleSessionResponse(ConsoleSession consol return consoleSessionResponse; } - @Override - public ApiKeyPairResponse createKeyPairResponse(ApiKeyPair keyPair) { - ApiKeyPairResponse apiKeyPairResponse = new ApiKeyPairResponse(); - - populateApiKeyPairInApiKeyPairResponse(keyPair, apiKeyPairResponse); - populateUserInApiKeyPairResponse(keyPair, apiKeyPairResponse); - - AccountVO account = accountDao.findByIdIncludingRemoved(keyPair.getAccountId()); - apiKeyPairResponse.setAccountId(account.getUuid()); - apiKeyPairResponse.setAccountName(account.getAccountName()); - apiKeyPairResponse.setAccountType(account.getType().toString()); - - populateDomainInApiKeyPairResponse(account.getDomainId(), apiKeyPairResponse); - populateRoleInApiKeyPairResponse(account.getRoleId(), apiKeyPairResponse); - - return apiKeyPairResponse; - } - - protected void populateRoleInApiKeyPairResponse(Long roleId, ApiKeyPairResponse apiKeyPairResponse) { - RoleVO roleVO = roleDao.findById(roleId); - apiKeyPairResponse.setRoleId(roleVO.getUuid()); - apiKeyPairResponse.setRoleName(roleVO.getName()); - apiKeyPairResponse.setRoleType(roleVO.getRoleType().name()); - } - - protected static void populateApiKeyPairInApiKeyPairResponse(ApiKeyPair keyPair, ApiKeyPairResponse apiKeyPairResponse) { - apiKeyPairResponse.setName(keyPair.getName()); - apiKeyPairResponse.setApiKey(keyPair.getApiKey()); - apiKeyPairResponse.setSecretKey(keyPair.getSecretKey()); - apiKeyPairResponse.setDescription(keyPair.getDescription()); - apiKeyPairResponse.setId(keyPair.getUuid()); - apiKeyPairResponse.setCreated(keyPair.getCreated()); - apiKeyPairResponse.setStartDate(keyPair.getStartDate()); - apiKeyPairResponse.setEndDate(keyPair.getEndDate()); - - ApiKeyPairState state = ApiKeyPairState.ENABLED; - if (keyPair.getRemoved() != null) { - state = ApiKeyPairState.REMOVED; - } else if (keyPair.hasEndDatePassed()) { - state = ApiKeyPairState.EXPIRED; - } - apiKeyPairResponse.setState(state); - } - - protected void populateUserInApiKeyPairResponse(ApiKeyPair keyPair, ApiKeyPairResponse apiKeyPairResponse) { - User user = ApiDBUtils.findUserById(keyPair.getUserId()); - apiKeyPairResponse.setUserId(user.getUuid()); - apiKeyPairResponse.setUsername(user.getUsername()); - } - - protected void populateDomainInApiKeyPairResponse(Long domainId, ApiKeyPairResponse apiKeyPairResponse) { - DomainVO domainVO = domainDao.findById(domainId); - apiKeyPairResponse.setDomainId(domainVO.getUuid()); - apiKeyPairResponse.setDomainName(domainVO.getName()); - StringBuilder domainPath = new StringBuilder("ROOT"); - (domainPath.append(domainVO.getPath())).deleteCharAt(domainPath.length() - 1); - apiKeyPairResponse.setDomainPath(domainPath.toString()); - } - - @Override - public ListResponse createKeypairPermissionsResponse(final List permissions) { - final ListResponse response = new ListResponse<>(); - final List permissionResponses = new ArrayList<>(); - for (final ApiKeyPairPermission permission : permissions) { - BaseRolePermissionResponse permissionResponse = new BaseRolePermissionResponse(); - permissionResponse.setRule(permission.getRule()); - permissionResponse.setRulePermission(permission.getPermission()); - permissionResponse.setDescription(permission.getDescription()); - permissionResponse.setObjectName("keypermission"); - permissionResponses.add(permissionResponse); - } - response.setResponses(permissionResponses); - return response; - } - @Override public EntityManager getEntityManager() { return _entityMgr;