From 5f07ddaca98e9df28aa128815c5d85a90bc8d8b4 Mon Sep 17 00:00:00 2001 From: JoaoJandre <48719461+JoaoJandre@users.noreply.github.com> Date: Wed, 9 Mar 2022 11:14:19 -0300 Subject: [PATCH] Refactor account type (#6048) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Refactor account type * Added license. * Address reviews * Address review. Co-authored-by: João Paraquetti Co-authored-by: Joao --- api/src/main/java/com/cloud/user/Account.java | 58 +++++++--- .../java/com/cloud/user/AccountService.java | 7 +- .../main/java/com/cloud/vm/InstanceGroup.java | 3 +- .../org/apache/cloudstack/acl/RoleType.java | 63 ++++++----- .../admin/account/CreateAccountCmd.java | 10 +- .../admin/ca/ListCaCertificateCmd.java | 2 +- .../api/command/admin/user/ListUsersCmd.java | 9 +- .../command/user/account/ListAccountsCmd.java | 8 +- .../user/snapshot/CreateSnapshotCmd.java | 4 +- .../CreateSnapshotFromVMSnapshotCmd.java | 4 +- .../snapshot/CreateSnapshotPolicyCmd.java | 4 +- .../command/user/volume/ResizeVolumeCmd.java | 4 +- .../api/response/AccountResponse.java | 4 +- .../api/response/ProjectAccountResponse.java | 4 +- .../cloudstack/api/response/UserResponse.java | 9 +- .../java/com/cloud/user/AccountTypeTest.java | 55 +++++++++ .../apache/cloudstack/acl/RoleTypeTest.java | 38 +++---- .../admin/account/CreateAccountCmdTest.java | 2 +- .../cloud/upgrade/dao/Upgrade481to490.java | 5 +- .../com/cloud/usage/dao/UsageDaoImpl.java | 2 +- .../main/java/com/cloud/user/AccountVO.java | 13 ++- .../src/main/java/com/cloud/user/UserVO.java | 2 +- .../com/cloud/user/dao/AccountDaoImpl.java | 18 +-- .../java/com/cloud/vm/InstanceGroupVO.java | 8 +- .../java/com/cloud/vm/dao/UserVmDaoImpl.java | 2 +- .../quota/QuotaAlertManagerImpl.java | 6 +- .../cloudstack/quota/QuotaManagerImpl.java | 3 +- .../quota/QuotaAlertManagerImplTest.java | 8 +- .../quota/QuotaManagerImplTest.java | 18 +-- .../DynamicRoleBasedAPIAccessCheckerTest.java | 4 +- .../ratelimit/ApiRateLimitTest.java | 2 +- .../api/command/QuotaSummaryCmd.java | 3 +- .../response/QuotaResponseBuilderImpl.java | 4 +- .../QuotaResponseBuilderImplTest.java | 2 +- .../manager/DedicatedApiUnitTest.java | 2 +- .../implicitplanner/ImplicitPlannerTest.java | 2 +- .../manager/BaremetalVlanManagerImpl.java | 42 +++---- .../vmware/VmwareDatacenterApiUnitTest.java | 2 +- .../cluster/KubernetesClusterManagerImpl.java | 2 +- .../version/KubernetesVersionServiceTest.java | 18 +-- .../element/GloboDnsElementTest.java | 2 +- .../management/ContrailManagerImpl.java | 4 +- .../management/ServiceManagerImpl.java | 2 +- .../management/MockAccountManager.java | 4 +- .../api/command/LdapCreateAccountCmd.java | 13 ++- .../api/command/LdapImportUsersCmd.java | 13 ++- .../api/command/LinkAccountToLdapCmd.java | 10 +- .../api/command/LinkDomainToLdapCmd.java | 10 +- .../response/LinkAccountToLdapResponse.java | 6 +- .../response/LinkDomainToLdapResponse.java | 6 +- .../cloudstack/ldap/LdapAuthenticator.java | 8 +- .../cloudstack/ldap/LdapManagerImpl.java | 8 +- .../cloudstack/ldap/LdapTrustMapVO.java | 16 ++- .../ldap/LdapAuthenticatorSpec.groovy | 2 +- .../ldap/LinkDomainToLdapCmdSpec.groovy | 4 +- .../api/command/LdapCreateAccountCmdTest.java | 2 +- .../api/command/LdapImportUsersCmdTest.java | 2 +- .../api/command/LinkAccountToLdapCmdTest.java | 8 +- .../api/command/LinkDomainToLdapCmdTest.java | 8 +- .../ldap/LdapAuthenticatorTest.java | 5 +- .../GetServiceProviderMetaDataCmd.java | 2 +- .../command/ListAndSwitchSAMLAccountCmd.java | 4 +- .../cloudstack/api/command/ListIdpsCmd.java | 2 +- .../api/command/ListSamlAuthorizationCmd.java | 2 +- .../SAML2LoginAPIAuthenticatorCmd.java | 4 +- .../SAML2LogoutAPIAuthenticatorCmd.java | 2 +- .../ListAndSwitchSAMLAccountCmdTest.java | 2 +- .../java/com/cloud/acl/DomainChecker.java | 32 +++--- .../java/com/cloud/api/ApiResponseHelper.java | 12 +- .../main/java/com/cloud/api/ApiServer.java | 8 +- .../auth/DefaultLoginAPIAuthenticatorCmd.java | 2 +- .../DefaultLogoutAPIAuthenticatorCmd.java | 2 +- .../com/cloud/api/query/QueryManagerImpl.java | 48 ++++---- .../api/query/dao/AccountJoinDaoImpl.java | 2 +- .../query/dao/DomainRouterJoinDaoImpl.java | 2 +- .../query/dao/ProjectAccountJoinDaoImpl.java | 2 +- .../api/query/dao/TemplateJoinDaoImpl.java | 2 +- .../api/query/dao/UserVmJoinDaoImpl.java | 10 +- .../com/cloud/api/query/vo/AccountJoinVO.java | 6 +- .../api/query/vo/AffinityGroupJoinVO.java | 6 +- .../cloud/api/query/vo/AsyncJobJoinVO.java | 6 +- .../api/query/vo/ControlledViewEntity.java | 3 +- .../api/query/vo/DomainRouterJoinVO.java | 6 +- .../com/cloud/api/query/vo/EventJoinVO.java | 6 +- .../api/query/vo/InstanceGroupJoinVO.java | 8 +- .../api/query/vo/ProjectAccountJoinVO.java | 6 +- .../api/query/vo/ProjectInvitationJoinVO.java | 6 +- .../cloud/api/query/vo/ResourceTagJoinVO.java | 6 +- .../api/query/vo/SecurityGroupJoinVO.java | 6 +- .../cloud/api/query/vo/TemplateJoinVO.java | 6 +- .../cloud/api/query/vo/UserAccountJoinVO.java | 6 +- .../com/cloud/api/query/vo/UserVmJoinVO.java | 6 +- .../com/cloud/api/query/vo/VolumeJoinVO.java | 6 +- .../ConfigurationManagerImpl.java | 28 ++--- .../com/cloud/network/NetworkModelImpl.java | 2 +- .../com/cloud/network/NetworkServiceImpl.java | 10 +- .../network/firewall/FirewallManagerImpl.java | 2 +- .../com/cloud/network/vpc/VpcManagerImpl.java | 2 +- .../cloud/projects/ProjectManagerImpl.java | 2 +- .../ResourceLimitManagerImpl.java | 12 +- .../cloud/server/ManagementServerImpl.java | 20 ++-- .../cloud/servlet/ConsoleProxyServlet.java | 8 +- .../storage/snapshot/SnapshotManagerImpl.java | 2 +- .../snapshot/SnapshotSchedulerImpl.java | 2 +- .../cloud/template/TemplateAdapterBase.java | 2 +- .../cloud/template/TemplateManagerImpl.java | 2 +- .../java/com/cloud/user/AccountManager.java | 2 +- .../com/cloud/user/AccountManagerImpl.java | 105 ++++++++---------- .../com/cloud/user/DomainManagerImpl.java | 2 +- .../java/com/cloud/vm/UserVmManagerImpl.java | 14 +-- .../cloudstack/backup/BackupManagerImpl.java | 2 +- .../network/ssl/CertServiceImpl.java | 2 +- .../vm/UnmanagedVMsManagerImpl.java | 4 +- .../dispatch/CommandCreationWorkerTest.java | 2 +- .../ParamGenericValidationWorkerTest.java | 10 +- .../query/dao/TemplateJoinDaoImplTest.java | 2 +- .../ConfigurationManagerTest.java | 2 +- .../com/cloud/event/ActionEventUtilsTest.java | 3 +- .../network/CreatePrivateNetworkTest.java | 2 +- .../network/DedicateGuestVlanRangesTest.java | 2 +- .../cloud/network/IpAddressManagerTest.java | 3 +- .../network/lb/AssignLoadBalancerTest.java | 2 +- .../network/lb/UpdateLoadBalancerTest.java | 2 +- .../storage/VolumeApiServiceImplTest.java | 2 +- .../storage/snapshot/SnapshotManagerTest.java | 2 +- .../template/TemplateManagerImplTest.java | 2 +- .../cloud/user/AccountManagerImplTest.java | 8 +- .../com/cloud/user/DomainManagerImplTest.java | 4 +- .../cloud/user/MockAccountManagerImpl.java | 7 +- .../com/cloud/vm/FirstFitPlannerTest.java | 2 +- .../com/cloud/vm/UserVmManagerImplTest.java | 2 +- .../java/com/cloud/vm/UserVmManagerTest.java | 28 ++--- .../com/cloud/vpc/NetworkACLManagerTest.java | 2 +- .../com/cloud/vpc/NetworkACLServiceTest.java | 2 +- .../affinity/AffinityApiUnitTest.java | 2 +- .../AffinityGroupServiceImplTest.java | 2 +- .../network/ssl/CertServiceTest.java | 32 +++--- ...obalLoadBalancingRulesServiceImplTest.java | 28 ++--- .../vm/UnmanagedVMsManagerImplTest.java | 4 +- 139 files changed, 671 insertions(+), 531 deletions(-) create mode 100644 api/src/test/java/com/cloud/user/AccountTypeTest.java diff --git a/api/src/main/java/com/cloud/user/Account.java b/api/src/main/java/com/cloud/user/Account.java index 39e91fa80ed..b4cdb882c4b 100644 --- a/api/src/main/java/com/cloud/user/Account.java +++ b/api/src/main/java/com/cloud/user/Account.java @@ -16,35 +16,65 @@ // under the License. package com.cloud.user; -import java.util.Date; - import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + public interface Account extends ControlledEntity, InternalIdentity, Identity { + /** + * Account states. + * */ + enum State { + DISABLED, ENABLED, LOCKED; + + /** + * The toString method was overridden to maintain consistency in the DB, as the GenericDaoBase uses toString in the enum value to make the sql statements + * and previously the enum was in lowercase. + * */ + @Override + public String toString(){ + return super.toString().toLowerCase(); + } + + /** + * This method was created to maintain backwards compatibility to the DB schema. Unfortunately we can't override the valueOf method. + * */ + public static State getValueOf(String name){ + return State.valueOf(name.toUpperCase()); + } - public enum State { - disabled, enabled, locked } - public static final short ACCOUNT_TYPE_NORMAL = 0; - public static final short ACCOUNT_TYPE_ADMIN = 1; - public static final short ACCOUNT_TYPE_DOMAIN_ADMIN = 2; - public static final short ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN = 3; - public static final short ACCOUNT_TYPE_READ_ONLY_ADMIN = 4; - public static final short ACCOUNT_TYPE_PROJECT = 5; + /** + * Account types. + * */ + enum Type { + NORMAL, ADMIN, DOMAIN_ADMIN, RESOURCE_DOMAIN_ADMIN, READ_ONLY_ADMIN, PROJECT, UNKNOWN; - public static final String ACCOUNT_STATE_DISABLED = "disabled"; - public static final String ACCOUNT_STATE_ENABLED = "enabled"; - public static final String ACCOUNT_STATE_LOCKED = "locked"; + private static Map ACCOUNT_TYPE_MAP = new HashMap<>(); + + static { + for (Type t: Type.values()) { + ACCOUNT_TYPE_MAP.put(t.ordinal(),t); + } + ACCOUNT_TYPE_MAP.remove(6); + } + + public static Type getFromValue(Integer type){ + return ACCOUNT_TYPE_MAP.get(type); + } + } public static final long ACCOUNT_ID_SYSTEM = 1; public String getAccountName(); - public short getType(); + public Type getType(); public Long getRoleId(); diff --git a/api/src/main/java/com/cloud/user/AccountService.java b/api/src/main/java/com/cloud/user/AccountService.java index 338a8d3a769..863801ec826 100644 --- a/api/src/main/java/com/cloud/user/AccountService.java +++ b/api/src/main/java/com/cloud/user/AccountService.java @@ -42,8 +42,8 @@ public interface AccountService { */ UserAccount createUserAccount(CreateAccountCmd accountCmd); - UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long roleId, Long domainId, - String networkDomain, Map details, String accountUUID, String userUUID, User.Source source); + UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, Account.Type accountType, + Long roleId, Long domainId, String networkDomain, Map details, String accountUUID, String userUUID, User.Source source); /** * Locks a user by userId. A locked user cannot access the API, but will still have running VMs/IP addresses @@ -57,7 +57,8 @@ public interface AccountService { User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID); - User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, User.Source source); + User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, + User.Source source); boolean isAdmin(Long accountId); diff --git a/api/src/main/java/com/cloud/vm/InstanceGroup.java b/api/src/main/java/com/cloud/vm/InstanceGroup.java index 6560b4afe81..442ad42d67e 100644 --- a/api/src/main/java/com/cloud/vm/InstanceGroup.java +++ b/api/src/main/java/com/cloud/vm/InstanceGroup.java @@ -18,6 +18,7 @@ package com.cloud.vm; import java.util.Date; +import com.cloud.user.Account; import org.apache.cloudstack.acl.ControlledEntity; import org.apache.cloudstack.api.Identity; import org.apache.cloudstack.api.InternalIdentity; @@ -28,6 +29,6 @@ public interface InstanceGroup extends ControlledEntity, Identity, InternalIdent Date getCreated(); - Short getAccountType(); + Account.Type getAccountType(); } diff --git a/api/src/main/java/org/apache/cloudstack/acl/RoleType.java b/api/src/main/java/org/apache/cloudstack/acl/RoleType.java index 1c6a43d08d9..ec82cd6605b 100644 --- a/api/src/main/java/org/apache/cloudstack/acl/RoleType.java +++ b/api/src/main/java/org/apache/cloudstack/acl/RoleType.java @@ -20,20 +20,33 @@ import org.apache.commons.lang3.StringUtils; import com.cloud.user.Account; import com.google.common.base.Enums; +import org.apache.log4j.Logger; + +import java.util.HashMap; +import java.util.Map; // Enum for default roles in CloudStack public enum RoleType { - Admin(1L, Account.ACCOUNT_TYPE_ADMIN, 1), - ResourceAdmin(2L, Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN, 2), - DomainAdmin(3L, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, 4), - User(4L, Account.ACCOUNT_TYPE_NORMAL, 8), - Unknown(-1L, (short) -1, 0); + Admin(1L, Account.Type.ADMIN, 1), + ResourceAdmin(2L, Account.Type.RESOURCE_DOMAIN_ADMIN, 2), + DomainAdmin(3L, Account.Type.DOMAIN_ADMIN, 4), + User(4L, Account.Type.NORMAL, 8), + Unknown(-1L, Account.Type.UNKNOWN, 0); private long id; - private short accountType; + private Account.Type accountType; private int mask; - RoleType(final long id, final short accountType, final int mask) { + private static Logger logger = Logger.getLogger(RoleType.class.getName()); + private static Map ACCOUNT_TYPE_MAP = new HashMap<>(); + + static { + for (RoleType t: RoleType.values()) { + ACCOUNT_TYPE_MAP.put(t.getAccountType(),t); + } + } + + RoleType(final long id, final Account.Type accountType, final int mask) { this.id = id; this.accountType = accountType; this.mask = mask; @@ -43,7 +56,7 @@ public enum RoleType { return id; } - public short getAccountType() { + public Account.Type getAccountType() { return accountType; } @@ -68,26 +81,15 @@ public enum RoleType { return Unknown; } - public static RoleType getByAccountType(final short accountType) { - RoleType roleType = RoleType.Unknown; - switch (accountType) { - case Account.ACCOUNT_TYPE_ADMIN: - roleType = RoleType.Admin; - break; - case Account.ACCOUNT_TYPE_DOMAIN_ADMIN: - roleType = RoleType.DomainAdmin; - break; - case Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN: - roleType = RoleType.ResourceAdmin; - break; - case Account.ACCOUNT_TYPE_NORMAL: - roleType = RoleType.User; - break; + public static RoleType getByAccountType(final Account.Type accountType) { + RoleType t = ACCOUNT_TYPE_MAP.get(accountType); + if (t == null) { + return RoleType.Unknown; } - return roleType; + return t; } - public static Long getRoleByAccountType(final Long roleId, final Short accountType) { + public static Long getRoleByAccountType(final Long roleId, final Account.Type accountType) { if (roleId == null && accountType != null) { RoleType defaultRoleType = RoleType.getByAccountType(accountType); if (defaultRoleType != null && defaultRoleType != RoleType.Unknown) { @@ -97,10 +99,15 @@ public enum RoleType { return roleId; } - public static Short getAccountTypeByRole(final Role role, final Short accountType) { - if (role != null && role.getId() > 0L) { + /** + * This method returns the role account type if the role isn't null, else it returns the default account type. + * */ + public static Account.Type getAccountTypeByRole(final Role role, final Account.Type defautAccountType) { + if (role != null) { + logger.debug(String.format("Role [%s] is not null; therefore, we use its account type [%s].", role, defautAccountType)); return role.getRoleType().getAccountType(); } - return accountType; + logger.debug(String.format("Role is null; therefore, we use the default account type [%s] value.", defautAccountType)); + return defautAccountType; } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java index c67022c5fdf..7b68296fcbd 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java @@ -56,9 +56,9 @@ public class CreateAccountCmd extends BaseCmd { private String accountName; @Parameter(name = ApiConstants.ACCOUNT_TYPE, - type = CommandType.SHORT, + type = CommandType.INTEGER, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin") - private Short accountType; + private Integer accountType; @Parameter(name = ApiConstants.ROLE_ID, type = CommandType.UUID, entityType = RoleResponse.class, description = "Creates the account under the specified role.") private Long roleId; @@ -109,12 +109,12 @@ public class CreateAccountCmd extends BaseCmd { return accountName; } - public Short getAccountType() { - return RoleType.getAccountTypeByRole(roleService.findRole(roleId), accountType); + public Account.Type getAccountType() { + return RoleType.getAccountTypeByRole(roleService.findRole(roleId), Account.Type.getFromValue(accountType)); } public Long getRoleId() { - return RoleType.getRoleByAccountType(roleId, accountType); + return RoleType.getRoleByAccountType(roleId, getAccountType()); } public Long getDomainId() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/ListCaCertificateCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/ListCaCertificateCmd.java index 1baa84179f0..9f0e0530eba 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/ListCaCertificateCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/ca/ListCaCertificateCmd.java @@ -85,6 +85,6 @@ public class ListCaCertificateCmd extends BaseCmd { @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/admin/user/ListUsersCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/admin/user/ListUsersCmd.java index a1adee7909f..313ff22e972 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/admin/user/ListUsersCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/admin/user/ListUsersCmd.java @@ -18,6 +18,7 @@ package org.apache.cloudstack.api.command.admin.user; import com.cloud.server.ResourceIcon; import com.cloud.server.ResourceTag; +import com.cloud.user.Account; import org.apache.cloudstack.api.response.ResourceIconResponse; import org.apache.log4j.Logger; @@ -42,9 +43,9 @@ public class ListUsersCmd extends BaseListAccountResourcesCmd { ///////////////////////////////////////////////////// @Parameter(name = ApiConstants.ACCOUNT_TYPE, - type = CommandType.LONG, + type = CommandType.INTEGER, description = "List users by account type. Valid types include admin, domain-admin, read-only-admin, or user.") - private Long accountType; + private Integer accountType; @Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = UserResponse.class, description = "List user by ID.") private Long id; @@ -63,8 +64,8 @@ public class ListUsersCmd extends BaseListAccountResourcesCmd { /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// - public Long getAccountType() { - return accountType; + public Account.Type getAccountType() { + return Account.Type.getFromValue(accountType); } public Long getId() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/account/ListAccountsCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/account/ListAccountsCmd.java index 993384d6a3f..06880f1b5cc 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/account/ListAccountsCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/account/ListAccountsCmd.java @@ -49,9 +49,9 @@ public class ListAccountsCmd extends BaseListDomainResourcesCmd implements UserC ///////////////////////////////////////////////////// @Parameter(name = ApiConstants.ACCOUNT_TYPE, - type = CommandType.LONG, + type = CommandType.INTEGER, description = "list accounts by account type. Valid account types are 1 (admin), 2 (domain-admin), and 0 (user).") - private Long accountType; + private Integer accountType; @Parameter(name = ApiConstants.ID, type = CommandType.UUID, entityType = AccountResponse.class, description = "list account by account ID") private Long id; @@ -79,8 +79,8 @@ public class ListAccountsCmd extends BaseListDomainResourcesCmd implements UserC /////////////////// Accessors /////////////////////// ///////////////////////////////////////////////////// - public Long getAccountType() { - return accountType; + public Account.Type getAccountType() { + return Account.Type.getFromValue(accountType); } public Long getId() { diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java index cf4c1d43dea..0db47b1022d 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotCmd.java @@ -172,13 +172,13 @@ public class CreateSnapshotCmd extends BaseAsyncCreateCmd { Account account = _accountService.getAccount(volume.getAccountId()); //Can create templates for enabled projects/accounts only - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { Project project = _projectService.findByProjectAccountId(volume.getAccountId()); if (project.getState() != Project.State.Active) { throw new PermissionDeniedException("Can't add resources to the project id=" + project.getId() + " in state=" + project.getState() + " as it's no longer active"); } - } else if (account.getState() == Account.State.disabled) { + } else if (account.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of template is disabled: " + account); } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotFromVMSnapshotCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotFromVMSnapshotCmd.java index 556b041631b..a98a0874573 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotFromVMSnapshotCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotFromVMSnapshotCmd.java @@ -129,7 +129,7 @@ public class CreateSnapshotFromVMSnapshotCmd extends BaseAsyncCreateCmd { Account account = _accountService.getAccount(vmsnapshot.getAccountId()); //Can create templates for enabled projects/accounts only - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { Project project = _projectService.findByProjectAccountId(vmsnapshot.getAccountId()); if (project == null) { throw new InvalidParameterValueException("Unable to find project by account id=" + account.getUuid()); @@ -137,7 +137,7 @@ public class CreateSnapshotFromVMSnapshotCmd extends BaseAsyncCreateCmd { if (project.getState() != Project.State.Active) { throw new PermissionDeniedException("Can't add resources to the project id=" + project.getUuid() + " in state=" + project.getState() + " as it's no longer active"); } - } else if (account.getState() == Account.State.disabled) { + } else if (account.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of template is disabled: " + account); } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotPolicyCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotPolicyCmd.java index 898bae5919f..07ae40368bf 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotPolicyCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/snapshot/CreateSnapshotPolicyCmd.java @@ -125,7 +125,7 @@ public class CreateSnapshotPolicyCmd extends BaseCmd { Account account = _accountService.getAccount(volume.getAccountId()); //Can create templates for enabled projects/accounts only - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { Project project = _projectService.findByProjectAccountId(volume.getAccountId()); if (project.getState() != Project.State.Active) { PermissionDeniedException ex = @@ -133,7 +133,7 @@ public class CreateSnapshotPolicyCmd extends BaseCmd { ex.addProxyObject(project.getUuid(), "projectId"); throw ex; } - } else if (account.getState() == Account.State.disabled) { + } else if (account.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of template is disabled: " + account); } diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java index 1f1bc6a8fc1..ceb208b3580 100644 --- a/api/src/main/java/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java +++ b/api/src/main/java/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java @@ -151,13 +151,13 @@ public class ResizeVolumeCmd extends BaseAsyncCmd implements UserCmd { Account account = _accountService.getAccount(volume.getAccountId()); //Can resize volumes for enabled projects/accounts only - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { Project project = _projectService.findByProjectAccountId(volume.getAccountId()); if (project.getState() != Project.State.Active) { throw new PermissionDeniedException("Can't add resources to project id=" + project.getId() + " in state=" + project.getState() + " as it's no longer active"); } - } else if (account.getState() == Account.State.disabled) { + } else if (account.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of volume " + id + " is disabled: " + account); } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java index 770df2678f2..7ffe7d095e4 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/AccountResponse.java @@ -41,7 +41,7 @@ public class AccountResponse extends BaseResponse implements ResourceLimitAndCou @SerializedName(ApiConstants.ACCOUNT_TYPE) @Param(description = "account type (admin, domain-admin, user)") - private Short accountType; + private Integer accountType; @SerializedName(ApiConstants.ROLE_ID) @Param(description = "the ID of the role") @@ -280,7 +280,7 @@ public class AccountResponse extends BaseResponse implements ResourceLimitAndCou this.name = name; } - public void setAccountType(Short accountType) { + public void setAccountType(Integer accountType) { this.accountType = accountType; } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java index b9f27d0ebb1..aab03074155 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/ProjectAccountResponse.java @@ -51,7 +51,7 @@ public class ProjectAccountResponse extends BaseResponse implements ControlledVi @SerializedName(ApiConstants.ACCOUNT_TYPE) @Param(description = "account type (admin, domain-admin, user)") - private Short accountType; + private Integer accountType; @SerializedName(ApiConstants.USER_ID) @Param(description = "Id of the user") @@ -96,7 +96,7 @@ public class ProjectAccountResponse extends BaseResponse implements ControlledVi this.accountName = accountName; } - public void setAccountType(Short accountType) { + public void setAccountType(Integer accountType) { this.accountType = accountType; } diff --git a/api/src/main/java/org/apache/cloudstack/api/response/UserResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/UserResponse.java index 260d1602f82..1c81027f0a8 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/UserResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/UserResponse.java @@ -18,6 +18,7 @@ package org.apache.cloudstack.api.response; import java.util.Date; +import com.cloud.user.Account; import com.google.gson.annotations.SerializedName; import org.apache.cloudstack.acl.RoleType; @@ -64,7 +65,7 @@ public class UserResponse extends BaseResponse implements SetResourceIconRespons @SerializedName("accounttype") @Param(description = "the account type of the user") - private Short accountType; + private Integer accountType; @SerializedName("usersource") @Param(description = "the source type of the user in lowercase, such as native, ldap, saml2") @@ -188,12 +189,12 @@ public class UserResponse extends BaseResponse implements SetResourceIconRespons this.accountName = accountName; } - public Short getAccountType() { + public Integer getAccountType() { return accountType; } - public void setAccountType(Short accountType) { - this.accountType = accountType; + public void setAccountType(Account.Type accountType) { + this.accountType = accountType.ordinal(); } public void setRoleId(String roleId) { diff --git a/api/src/test/java/com/cloud/user/AccountTypeTest.java b/api/src/test/java/com/cloud/user/AccountTypeTest.java new file mode 100644 index 00000000000..85293063b9d --- /dev/null +++ b/api/src/test/java/com/cloud/user/AccountTypeTest.java @@ -0,0 +1,55 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +package com.cloud.user; + +import org.junit.Assert; +import org.junit.Test; + +public class AccountTypeTest { + + @Test + public void ordinalTestIfInCorrectOrder(){ + Assert.assertEquals(0, Account.Type.NORMAL.ordinal()); + Assert.assertEquals(1, Account.Type.ADMIN.ordinal()); + Assert.assertEquals(2, Account.Type.DOMAIN_ADMIN.ordinal()); + Assert.assertEquals(3, Account.Type.RESOURCE_DOMAIN_ADMIN.ordinal()); + Assert.assertEquals(4, Account.Type.READ_ONLY_ADMIN.ordinal()); + Assert.assertEquals(5, Account.Type.PROJECT.ordinal()); + Assert.assertEquals(6, Account.Type.UNKNOWN.ordinal()); + } + + @Test + public void getFromValueTestIfAllValuesAreReturned(){ + for (Account.Type accountType: Account.Type.values()) { + if( accountType != Account.Type.UNKNOWN) { + Assert.assertEquals(Account.Type.getFromValue(accountType.ordinal()), accountType); + } + } + } + + @Test + public void getFromValueTestInvalidValue(){ + Assert.assertEquals(Account.Type.getFromValue(null),null); + } + + @Test + public void stateToStringTestAllValues(){ + Assert.assertEquals(Account.State.ENABLED.toString(), "enabled"); + Assert.assertEquals(Account.State.DISABLED.toString(), "disabled"); + Assert.assertEquals(Account.State.LOCKED.toString(), "locked"); + } +} diff --git a/api/src/test/java/org/apache/cloudstack/acl/RoleTypeTest.java b/api/src/test/java/org/apache/cloudstack/acl/RoleTypeTest.java index 611b761014f..e91dd481914 100644 --- a/api/src/test/java/org/apache/cloudstack/acl/RoleTypeTest.java +++ b/api/src/test/java/org/apache/cloudstack/acl/RoleTypeTest.java @@ -55,37 +55,37 @@ public class RoleTypeTest { @Test public void testGetByAccountType() { - Assert.assertEquals(RoleType.getByAccountType(Account.ACCOUNT_TYPE_NORMAL), RoleType.User); - Assert.assertEquals(RoleType.getByAccountType(Account.ACCOUNT_TYPE_ADMIN), RoleType.Admin); - Assert.assertEquals(RoleType.getByAccountType(Account.ACCOUNT_TYPE_DOMAIN_ADMIN), RoleType.DomainAdmin); - Assert.assertEquals(RoleType.getByAccountType(Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN), RoleType.ResourceAdmin); - Assert.assertEquals(RoleType.getByAccountType(Account.ACCOUNT_TYPE_PROJECT), RoleType.Unknown); + Assert.assertEquals(RoleType.getByAccountType(Account.Type.NORMAL), RoleType.User); + Assert.assertEquals(RoleType.getByAccountType(Account.Type.ADMIN), RoleType.Admin); + Assert.assertEquals(RoleType.getByAccountType(Account.Type.DOMAIN_ADMIN), RoleType.DomainAdmin); + Assert.assertEquals(RoleType.getByAccountType(Account.Type.RESOURCE_DOMAIN_ADMIN), RoleType.ResourceAdmin); + Assert.assertEquals(RoleType.getByAccountType(Account.Type.PROJECT), RoleType.Unknown); } @Test public void testGetRoleByAccountTypeWhenRoleIdIsProvided() { - Assert.assertEquals(RoleType.getRoleByAccountType(123L, Account.ACCOUNT_TYPE_ADMIN), Long.valueOf(123L)); + Assert.assertEquals(RoleType.getRoleByAccountType(123L, Account.Type.ADMIN), Long.valueOf(123L)); Assert.assertEquals(RoleType.getRoleByAccountType(1234L, null), Long.valueOf(1234L)); } @Test public void testGetRoleByAccountTypeForDefaultAccountTypes() { - Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.ACCOUNT_TYPE_ADMIN), (Long) RoleType.Admin.getId()); - Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.ACCOUNT_TYPE_NORMAL), (Long) RoleType.User.getId()); - Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.ACCOUNT_TYPE_DOMAIN_ADMIN), (Long) RoleType.DomainAdmin.getId()); - Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN), (Long) RoleType.ResourceAdmin.getId()); - Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.ACCOUNT_TYPE_PROJECT), null); + Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.Type.ADMIN), (Long) RoleType.Admin.getId()); + Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.Type.NORMAL), (Long) RoleType.User.getId()); + Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.Type.DOMAIN_ADMIN), (Long) RoleType.DomainAdmin.getId()); + Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.Type.RESOURCE_DOMAIN_ADMIN), (Long) RoleType.ResourceAdmin.getId()); + Assert.assertEquals(RoleType.getRoleByAccountType(null, Account.Type.PROJECT), null); } @Test public void testGetAccountTypeByRoleWhenRoleIsNull() { - for (Short accountType: Arrays.asList( - Account.ACCOUNT_TYPE_NORMAL, - Account.ACCOUNT_TYPE_ADMIN, - Account.ACCOUNT_TYPE_DOMAIN_ADMIN, - Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN, - Account.ACCOUNT_TYPE_PROJECT, - (short) 12345)) { + for (Account.Type accountType: Arrays.asList( + Account.Type.NORMAL, + Account.Type.ADMIN, + Account.Type.DOMAIN_ADMIN, + Account.Type.RESOURCE_DOMAIN_ADMIN, + Account.Type.PROJECT, + null)) { Assert.assertEquals(RoleType.getAccountTypeByRole(null, accountType), accountType); } } @@ -95,6 +95,6 @@ public class RoleTypeTest { Role role = Mockito.mock(Role.class); Mockito.when(role.getRoleType()).thenReturn(RoleType.Admin); Mockito.when(role.getId()).thenReturn(100L); - Assert.assertEquals(RoleType.getAccountTypeByRole(role, null), (Short) RoleType.Admin.getAccountType()); + Assert.assertEquals(RoleType.getAccountTypeByRole(role, null), RoleType.Admin.getAccountType()); } } \ No newline at end of file diff --git a/api/src/test/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmdTest.java b/api/src/test/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmdTest.java index cf32a67ff70..ee942a22913 100644 --- a/api/src/test/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmdTest.java +++ b/api/src/test/java/org/apache/cloudstack/api/command/admin/account/CreateAccountCmdTest.java @@ -49,7 +49,7 @@ public class CreateAccountCmdTest { private CreateAccountCmd createAccountCmd = new CreateAccountCmd(); private long roleId = 1L; - private short accountType = 1; + private Integer accountType = 1; private Long domainId = 1L; @Before diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade481to490.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade481to490.java index 1f9fb2f3f9f..2165d809f85 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade481to490.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade481to490.java @@ -25,6 +25,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import com.cloud.user.Account; import org.apache.cloudstack.acl.RoleType; import org.apache.log4j.Logger; @@ -70,8 +71,8 @@ public class Upgrade481to490 implements DbUpgrade { final ResultSet selectResultSet = selectStatement.executeQuery()) { while (selectResultSet.next()) { final Long accountId = selectResultSet.getLong(1); - final Short accountType = selectResultSet.getShort(2); - final Long roleId = RoleType.getByAccountType(accountType).getId(); + final Integer accountType = selectResultSet.getInt(2); + final Long roleId = RoleType.getByAccountType(Account.Type.getFromValue(accountType)).getId(); if (roleId < 1L || roleId > 4L) { s_logger.warn("Skipping role ID migration due to invalid role_id resolved for account id=" + accountId); continue; diff --git a/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java b/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java index 3bdf79a6c02..76362e6d730 100644 --- a/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/usage/dao/UsageDaoImpl.java @@ -113,7 +113,7 @@ public class UsageDaoImpl extends GenericDaoBase implements Usage for (AccountVO acct : accounts) { pstmt.setLong(1, acct.getId()); pstmt.setString(2, acct.getAccountName()); - pstmt.setShort(3, acct.getType()); + pstmt.setInt(3, acct.getType().ordinal()); //prevent autoboxing NPE by defaulting to User role if(acct.getRoleId() == null){ diff --git a/engine/schema/src/main/java/com/cloud/user/AccountVO.java b/engine/schema/src/main/java/com/cloud/user/AccountVO.java index 2a285c28c85..5a6170ac7aa 100644 --- a/engine/schema/src/main/java/com/cloud/user/AccountVO.java +++ b/engine/schema/src/main/java/com/cloud/user/AccountVO.java @@ -42,7 +42,8 @@ public class AccountVO implements Account { private String accountName = null; @Column(name = "type") - private short type = ACCOUNT_TYPE_NORMAL; + @Enumerated(value = EnumType.ORDINAL) + private Type type; @Column(name = "role_id") private Long roleId; @@ -84,17 +85,17 @@ public class AccountVO implements Account { uuid = UUID.randomUUID().toString(); } - public AccountVO(final String accountName, final long domainId, final String networkDomain, final short type, final String uuid) { + public AccountVO(final String accountName, final long domainId, final String networkDomain, final Type type, final String uuid) { this.accountName = accountName; this.domainId = domainId; this.networkDomain = networkDomain; this.type = type; - this.state = State.enabled; + this.state = State.ENABLED; this.uuid = uuid; this.roleId = RoleType.getRoleByAccountType(null, type); } - public AccountVO(final String accountName, final long domainId, final String networkDomain, final short type, final Long roleId, final String uuid) { + public AccountVO(final String accountName, final long domainId, final String networkDomain, final Type type, final Long roleId, final String uuid) { this(accountName, domainId, networkDomain, type, uuid); if (roleId != null) { this.roleId = roleId; @@ -128,11 +129,11 @@ public class AccountVO implements Account { } @Override - public short getType() { + public Account.Type getType() { return type; } - public void setType(short type) { + public void setType(Type type) { this.type = type; } diff --git a/engine/schema/src/main/java/com/cloud/user/UserVO.java b/engine/schema/src/main/java/com/cloud/user/UserVO.java index 7ac4698cf02..027020fc546 100644 --- a/engine/schema/src/main/java/com/cloud/user/UserVO.java +++ b/engine/schema/src/main/java/com/cloud/user/UserVO.java @@ -122,7 +122,7 @@ public class UserVO implements User, Identity, InternalIdentity { this.lastname = lastName; this.email = email; this.timezone = timezone; - this.state = State.enabled; + this.state = State.ENABLED; this.uuid = uuid; this.source = source; } diff --git a/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java b/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java index 443be30d47e..62d409c9af0 100644 --- a/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/user/dao/AccountDaoImpl.java @@ -119,7 +119,7 @@ public class AccountDaoImpl extends GenericDaoBase implements A public List findCleanupsForDisabledAccounts() { SearchCriteria sc = CleanupForDisabledAccountsSearch.create(); sc.setParameters("cleanup", true); - sc.setParameters("state", State.disabled); + sc.setParameters("state", State.DISABLED); return listBy(sc); } @@ -140,14 +140,14 @@ public class AccountDaoImpl extends GenericDaoBase implements A u.setUsername(rs.getString(2)); u.setAccountId(rs.getLong(3)); u.setSecretKey(DBEncryptionUtil.decrypt(rs.getString(4))); - u.setState(State.valueOf(rs.getString(5))); + u.setState(State.getValueOf(rs.getString(5))); AccountVO a = new AccountVO(rs.getLong(6)); a.setAccountName(rs.getString(7)); - a.setType(rs.getShort(8)); + a.setType(Account.Type.getFromValue(rs.getInt(8))); a.setRoleId(rs.getLong(9)); a.setDomainId(rs.getLong(10)); - a.setState(State.valueOf(rs.getString(11))); + a.setState(State.getValueOf(rs.getString(11))); userAcctPair = new Pair(u, a); } @@ -175,7 +175,7 @@ public class AccountDaoImpl extends GenericDaoBase implements A public Account findEnabledAccount(String accountName, Long domainId) { SearchCriteria sc = AllFieldsSearch.create("accountName", accountName); sc.setParameters("domainId", domainId); - sc.setParameters("state", State.enabled); + sc.setParameters("state", State.ENABLED); return findOneBy(sc); } @@ -183,8 +183,8 @@ public class AccountDaoImpl extends GenericDaoBase implements A public Account findEnabledNonProjectAccount(String accountName, Long domainId) { SearchCriteria sc = NonProjectAccountSearch.create("accountName", accountName); sc.setParameters("domainId", domainId); - sc.setParameters("state", State.enabled); - sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("state", State.ENABLED); + sc.setParameters("type", Account.Type.PROJECT); return findOneBy(sc); } @@ -206,7 +206,7 @@ public class AccountDaoImpl extends GenericDaoBase implements A public Account findActiveNonProjectAccount(String accountName, Long domainId) { SearchCriteria sc = NonProjectAccountSearch.create("accountName", accountName); sc.setParameters("domainId", domainId); - sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("type", Account.Type.PROJECT); return findOneBy(sc); } @@ -221,7 +221,7 @@ public class AccountDaoImpl extends GenericDaoBase implements A public Account findNonProjectAccountIncludingRemoved(String accountName, Long domainId) { SearchCriteria sc = NonProjectAccountSearch.create("accountName", accountName); sc.setParameters("domainId", domainId); - sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("type", Account.Type.PROJECT); return findOneIncludingRemovedBy(sc); } diff --git a/engine/schema/src/main/java/com/cloud/vm/InstanceGroupVO.java b/engine/schema/src/main/java/com/cloud/vm/InstanceGroupVO.java index 395751b705e..4437af29bc1 100644 --- a/engine/schema/src/main/java/com/cloud/vm/InstanceGroupVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/InstanceGroupVO.java @@ -21,6 +21,8 @@ import java.util.UUID; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -28,6 +30,7 @@ import javax.persistence.PrimaryKeyJoinColumn; import javax.persistence.SecondaryTable; import javax.persistence.Table; +import com.cloud.user.Account; import com.cloud.utils.db.GenericDao; @Entity @@ -58,7 +61,8 @@ public class InstanceGroupVO implements InstanceGroup { private String uuid; @Column(name = "type", table = "account", insertable = false, updatable = false) - private short accountType; + @Enumerated(value = EnumType.ORDINAL) + private Account.Type accountType; public InstanceGroupVO(String name, long accountId) { this.name = name; @@ -113,7 +117,7 @@ public class InstanceGroupVO implements InstanceGroup { } @Override - public Short getAccountType() { + public Account.Type getAccountType() { return accountType; } diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java index 9cfa7a75c4d..3bd49c52d42 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/UserVmDaoImpl.java @@ -641,7 +641,7 @@ public class UserVmDaoImpl extends GenericDaoBase implements Use nicResponse.setMacAddress(rs.getString("nics.mac_address")); int account_type = rs.getInt("account.type"); - if (account_type == Account.ACCOUNT_TYPE_ADMIN) { + if (account_type == Account.Type.ADMIN.ordinal()) { nicResponse.setBroadcastUri(rs.getString("nics.broadcast_uri")); nicResponse.setIsolationUri(rs.getString("nics.isolation_uri")); } diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java index 29dca9e3bd7..1bbb0625a0c 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaAlertManagerImpl.java @@ -248,11 +248,11 @@ public class QuotaAlertManagerImpl extends ManagerBase implements QuotaAlertMana try (TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB)) { Account account = _accountDao.findById(accountId); if (account != null) { - if (account.getState() == State.locked) { + if (account.getState() == State.LOCKED) { return true; // already locked, no-op - } else if (account.getState() == State.enabled) { + } else if (account.getState() == State.ENABLED) { AccountVO acctForUpdate = _accountDao.createForUpdate(); - acctForUpdate.setState(State.locked); + acctForUpdate.setState(State.LOCKED); success = _accountDao.update(Long.valueOf(accountId), acctForUpdate); } else { if (s_logger.isInfoEnabled()) { diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaManagerImpl.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaManagerImpl.java index 139ad2b5913..0b384010127 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaManagerImpl.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/QuotaManagerImpl.java @@ -27,6 +27,7 @@ import java.util.TimeZone; import javax.inject.Inject; import javax.naming.ConfigurationException; +import com.cloud.user.Account; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.quota.constant.QuotaTypes; import org.apache.cloudstack.quota.dao.QuotaAccountDao; @@ -467,7 +468,7 @@ public class QuotaManagerImpl extends ManagerBase implements QuotaManager { @Override public boolean isLockable(AccountVO account) { - return (account.getType() == AccountVO.ACCOUNT_TYPE_NORMAL || account.getType() == AccountVO.ACCOUNT_TYPE_DOMAIN_ADMIN); + return (account.getType() == Account.Type.NORMAL || account.getType() == Account.Type.DOMAIN_ADMIN); } } diff --git a/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java b/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java index 63616083402..7a1e7b7e456 100644 --- a/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java +++ b/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaAlertManagerImplTest.java @@ -85,7 +85,7 @@ public class QuotaAlertManagerImplTest extends TestCase { AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); + accountVO.setType(Account.Type.NORMAL); Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(accountVO); QuotaAccountVO acc = new QuotaAccountVO(2L); @@ -123,7 +123,7 @@ public class QuotaAlertManagerImplTest extends TestCase { AccountVO account = new AccountVO(); account.setId(2L); account.setDomainId(1L); - account.setType(Account.ACCOUNT_TYPE_NORMAL); + account.setType(Account.Type.NORMAL); account.setAccountName("admin"); account.setUuid("uuid"); @@ -182,8 +182,8 @@ public class QuotaAlertManagerImplTest extends TestCase { AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); - accountVO.setState(Account.State.enabled); + accountVO.setType(Account.Type.NORMAL); + accountVO.setState(Account.State.ENABLED); Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(accountVO); Mockito.when(accountDao.createForUpdate()).thenReturn(accountVO); Mockito.when(accountDao.update(Mockito.eq(accountVO.getId()), Mockito.eq(accountVO))).thenReturn(true); diff --git a/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaManagerImplTest.java b/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaManagerImplTest.java index 71f43943ec7..766656493e0 100644 --- a/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaManagerImplTest.java +++ b/framework/quota/src/test/java/org/apache/cloudstack/quota/QuotaManagerImplTest.java @@ -113,7 +113,7 @@ public class QuotaManagerImplTest extends TestCase { AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); + accountVO.setType(Account.Type.NORMAL); List accountVOList = new ArrayList<>(); accountVOList.add(accountVO); Mockito.when(accountDao.listAll()).thenReturn(accountVOList); @@ -140,7 +140,7 @@ public class QuotaManagerImplTest extends TestCase { AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); + accountVO.setType(Account.Type.NORMAL); UsageVO usageVO = new UsageVO(); usageVO.setQuotaCalculated(0); @@ -189,7 +189,7 @@ public class QuotaManagerImplTest extends TestCase { AccountVO accountVO = new AccountVO(); accountVO.setId(2L); accountVO.setDomainId(1L); - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); + accountVO.setType(Account.Type.NORMAL); QuotaUsageVO quotaUsageVO = new QuotaUsageVO(); quotaUsageVO.setAccountId(2L); @@ -206,37 +206,37 @@ public class QuotaManagerImplTest extends TestCase { @Test public void testAdminLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_ADMIN); + accountVO.setType(Account.Type.ADMIN); assertFalse(quotaManager.isLockable(accountVO)); } @Test public void testNormalLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_NORMAL); + accountVO.setType(Account.Type.NORMAL); assertTrue(quotaManager.isLockable(accountVO)); } @Test public void tesDomainAdmingLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_DOMAIN_ADMIN); + accountVO.setType(Account.Type.DOMAIN_ADMIN); assertTrue(quotaManager.isLockable(accountVO)); } @Test public void testReadOnlyAdminLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_READ_ONLY_ADMIN); + accountVO.setType(Account.Type.READ_ONLY_ADMIN); assertFalse(quotaManager.isLockable(accountVO)); } @Test public void testResourceDomainAdminLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN); + accountVO.setType(Account.Type.RESOURCE_DOMAIN_ADMIN); assertFalse(quotaManager.isLockable(accountVO)); } @Test public void testProjectLockableAccount() { - accountVO.setType(Account.ACCOUNT_TYPE_PROJECT); + accountVO.setType(Account.Type.PROJECT); assertFalse(quotaManager.isLockable(accountVO)); } diff --git a/plugins/acl/dynamic-role-based/src/test/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessCheckerTest.java b/plugins/acl/dynamic-role-based/src/test/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessCheckerTest.java index 6bae3465126..5204bd8c040 100644 --- a/plugins/acl/dynamic-role-based/src/test/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessCheckerTest.java +++ b/plugins/acl/dynamic-role-based/src/test/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessCheckerTest.java @@ -53,7 +53,7 @@ public class DynamicRoleBasedAPIAccessCheckerTest extends TestCase { } private Account getTestAccount() { - return new AccountVO("some name", 1L, "network-domain", (short)0, "some-uuid"); + return new AccountVO("some name", 1L, "network-domain", Account.Type.NORMAL, "some-uuid"); } private Role getTestRole() { @@ -103,7 +103,7 @@ public class DynamicRoleBasedAPIAccessCheckerTest extends TestCase { @Test public void testDefaultRootAdminAccess() { - Mockito.when(accountService.getAccount(Mockito.anyLong())).thenReturn(new AccountVO("root admin", 1L, null, (short)1, "some-uuid")); + Mockito.when(accountService.getAccount(Mockito.anyLong())).thenReturn(new AccountVO("root admin", 1L, null, Account.Type.ADMIN, "some-uuid")); Mockito.when(roleService.findRole(Mockito.anyLong())).thenReturn(new RoleVO(1L, "SomeRole", RoleType.Admin, "default root admin role")); assertTrue(apiAccessChecker.checkAccess(getTestUser(), "anyApi")); } diff --git a/plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java b/plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java index a16179eed51..872776070ef 100644 --- a/plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java +++ b/plugins/api/rate-limit/src/test/java/org/apache/cloudstack/ratelimit/ApiRateLimitTest.java @@ -67,7 +67,7 @@ public static void setUp() throws ConfigurationException { // Standard responses AccountVO acct = new AccountVO(s_acctIdSeq); - acct.setType(Account.ACCOUNT_TYPE_NORMAL); + acct.setType(Account.Type.NORMAL); acct.setAccountName("demo"); s_testAccount = acct; diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaSummaryCmd.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaSummaryCmd.java index 112014ba087..456213fd225 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaSummaryCmd.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/command/QuotaSummaryCmd.java @@ -23,7 +23,6 @@ import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseListCmd; import org.apache.cloudstack.api.Parameter; -import org.apache.cloudstack.api.BaseCmd.CommandType; import org.apache.cloudstack.api.response.DomainResponse; import org.apache.cloudstack.api.response.ListResponse; import org.apache.cloudstack.api.response.QuotaResponseBuilder; @@ -60,7 +59,7 @@ public class QuotaSummaryCmd extends BaseListCmd { public void execute() { Account caller = CallContext.current().getCallingAccount(); Pair, Integer> responses; - if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN) { //admin account + if (caller.getType() == Account.Type.ADMIN) { if (getAccountName() != null && getDomainId() != null) responses = _responseBuilder.createQuotaSummaryResponse(getAccountName(), getDomainId()); else diff --git a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java index 63455527439..224a37c660f 100644 --- a/plugins/database/quota/src/main/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java +++ b/plugins/database/quota/src/main/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImpl.java @@ -434,12 +434,12 @@ public class QuotaResponseBuilderImpl implements QuotaResponseBuilder { _quotaService.saveQuotaAccount(account, currentAccountBalance, despositedOn); if (lockAccountEnforcement) { if (currentAccountBalance.compareTo(new BigDecimal(0)) >= 0) { - if (account.getState() == Account.State.locked) { + if (account.getState() == Account.State.LOCKED) { s_logger.info("UnLocking account " + account.getAccountName() + " , due to positive balance " + currentAccountBalance); _accountMgr.enableAccount(account.getAccountName(), domainId, accountId); } } else { // currentAccountBalance < 0 then lock the account - if (_quotaManager.isLockable(account) && account.getState() == Account.State.enabled && enforce) { + if (_quotaManager.isLockable(account) && account.getState() == Account.State.ENABLED && enforce) { s_logger.info("Locking account " + account.getAccountName() + " , due to negative balance " + currentAccountBalance); _accountMgr.lockAccount(account.getAccountName(), domainId, accountId); } diff --git a/plugins/database/quota/src/test/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImplTest.java b/plugins/database/quota/src/test/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImplTest.java index 7c304f01ce4..fa4d9ab3058 100644 --- a/plugins/database/quota/src/test/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImplTest.java +++ b/plugins/database/quota/src/test/java/org/apache/cloudstack/api/response/QuotaResponseBuilderImplTest.java @@ -152,7 +152,7 @@ public class QuotaResponseBuilderImplTest extends TestCase { Mockito.when(quotaService.computeAdjustedTime(Mockito.any(Date.class))).thenReturn(new Date()); AccountVO account = new AccountVO(); - account.setState(Account.State.locked); + account.setState(Account.State.LOCKED); Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(account); QuotaCreditsResponse resp = quotaResponseBuilder.addQuotaCredits(accountId, domainId, amount, updatedBy, true); diff --git a/plugins/dedicated-resources/src/test/java/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java b/plugins/dedicated-resources/src/test/java/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java index c8fb258f219..cd1d5018529 100644 --- a/plugins/dedicated-resources/src/test/java/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java +++ b/plugins/dedicated-resources/src/test/java/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java @@ -115,7 +115,7 @@ public class DedicatedApiUnitTest { @Before public void setUp() { ComponentContext.initComponentsLifeCycle(); - AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.Type.NORMAL, "uuid"); DomainVO domain = new DomainVO("rootDomain", 5L, 5L, "networkDomain"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); diff --git a/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java b/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java index a25ad9fd308..529e19940c9 100644 --- a/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java +++ b/plugins/deployment-planners/implicit-dedication/src/test/java/org/apache/cloudstack/implicitplanner/ImplicitPlannerTest.java @@ -164,7 +164,7 @@ public class ImplicitPlannerTest { public void setUp() { ComponentContext.initComponentsLifeCycle(); - acct.setType(Account.ACCOUNT_TYPE_NORMAL); + acct.setType(Account.Type.NORMAL); acct.setAccountName("user1"); acct.setDomainId(domainId); acct.setId(accountId); diff --git a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java index aca756502e8..274962562be 100644 --- a/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/main/java/com/cloud/baremetal/manager/BaremetalVlanManagerImpl.java @@ -37,13 +37,13 @@ import com.cloud.user.dao.UserDao; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.db.QueryBuilder; import com.cloud.utils.db.SearchCriteria; -import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.vm.VirtualMachineProfile; -import com.google.gson.Gson; -import org.apache.cloudstack.acl.RoleType; -import org.apache.cloudstack.api.AddBaremetalRctCmd; -import org.apache.cloudstack.api.DeleteBaremetalRctCmd; -import org.apache.cloudstack.api.ListBaremetalRctCmd; +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.vm.VirtualMachineProfile; +import com.google.gson.Gson; +import org.apache.cloudstack.acl.RoleType; +import org.apache.cloudstack.api.AddBaremetalRctCmd; +import org.apache.cloudstack.api.DeleteBaremetalRctCmd; +import org.apache.cloudstack.api.ListBaremetalRctCmd; import org.apache.cloudstack.utils.baremetal.BaremetalUtils; import org.springframework.web.client.RestTemplate; @@ -237,28 +237,28 @@ public class BaremetalVlanManagerImpl extends ManagerBase implements BaremetalVl @Override public boolean start() { QueryBuilder acntq = QueryBuilder.create(AccountVO.class); - acntq.and(acntq.entity().getAccountName(), SearchCriteria.Op.EQ, BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); + acntq.and(acntq.entity().getAccountName(), SearchCriteria.Op.EQ, BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); AccountVO acnt = acntq.find(); if (acnt != null) { return true; } acnt = new AccountVO(); - acnt.setAccountName(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); - acnt.setUuid(UUID.randomUUID().toString()); - acnt.setState(Account.State.enabled); - acnt.setDomainId(1); - acnt.setType(RoleType.User.getAccountType()); - acnt.setRoleId(RoleType.User.getId()); - acnt = acntDao.persist(acnt); - - UserVO user = new UserVO(); - user.setState(Account.State.enabled); + acnt.setAccountName(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); + acnt.setUuid(UUID.randomUUID().toString()); + acnt.setState(Account.State.ENABLED); + acnt.setDomainId(1); + acnt.setType(RoleType.User.getAccountType()); + acnt.setRoleId(RoleType.User.getId()); + acnt = acntDao.persist(acnt); + + UserVO user = new UserVO(); + user.setState(Account.State.ENABLED); user.setUuid(UUID.randomUUID().toString()); user.setAccountId(acnt.getAccountId()); - user.setUsername(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); - user.setFirstname(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); - user.setLastname(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); + user.setUsername(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); + user.setFirstname(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); + user.setLastname(BaremetalUtils.BAREMETAL_SYSTEM_ACCOUNT_NAME); user.setPassword(UUID.randomUUID().toString()); user.setSource(User.Source.UNKNOWN); user = userDao.persist(user); diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java index 95387db7797..f0a06d0dcf1 100644 --- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java +++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/VmwareDatacenterApiUnitTest.java @@ -181,7 +181,7 @@ public class VmwareDatacenterApiUnitTest { podId = 1L; AccountVO acct = new AccountVO(200L); - acct.setType(Account.ACCOUNT_TYPE_ADMIN); + acct.setType(Account.Type.ADMIN); acct.setAccountName("admin"); acct.setDomainId(domainId); diff --git a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java index 7b4db719b1e..e4e2a7d4b91 100644 --- a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java +++ b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterManagerImpl.java @@ -529,7 +529,7 @@ public class KubernetesClusterManagerImpl extends ManagerBase implements Kuberne response.setKubernetesVersionName(version.getName()); } Account account = ApiDBUtils.findAccountById(kubernetesCluster.getAccountId()); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { Project project = ApiDBUtils.findProjectByProjectAccountId(account.getId()); response.setProjectId(project.getUuid()); response.setProjectName(project.getName()); diff --git a/plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/version/KubernetesVersionServiceTest.java b/plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/version/KubernetesVersionServiceTest.java index 59eb1217786..213da809d6f 100644 --- a/plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/version/KubernetesVersionServiceTest.java +++ b/plugins/integrations/kubernetes-service/src/test/java/com/cloud/kubernetes/version/KubernetesVersionServiceTest.java @@ -149,7 +149,7 @@ public class KubernetesVersionServiceTest { AddKubernetesSupportedVersionCmd cmd = Mockito.mock(AddKubernetesSupportedVersionCmd.class); when(cmd.getMinimumCpu()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_CPU); when(cmd.getMinimumRamSize()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_RAM_SIZE); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(cmd.getSemanticVersion()).thenReturn("1.1.1"); @@ -161,7 +161,7 @@ public class KubernetesVersionServiceTest { AddKubernetesSupportedVersionCmd cmd = Mockito.mock(AddKubernetesSupportedVersionCmd.class); when(cmd.getMinimumCpu()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_CPU-1); when(cmd.getMinimumRamSize()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_RAM_SIZE); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); when(cmd.getSemanticVersion()).thenReturn(KubernetesVersionService.MIN_KUBERNETES_VERSION); CallContext.register(user, account); @@ -173,7 +173,7 @@ public class KubernetesVersionServiceTest { AddKubernetesSupportedVersionCmd cmd = Mockito.mock(AddKubernetesSupportedVersionCmd.class); when(cmd.getMinimumCpu()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_CPU); when(cmd.getMinimumRamSize()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_RAM_SIZE-10); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); when(cmd.getSemanticVersion()).thenReturn(KubernetesVersionService.MIN_KUBERNETES_VERSION); CallContext.register(user, account); @@ -185,7 +185,7 @@ public class KubernetesVersionServiceTest { AddKubernetesSupportedVersionCmd cmd = Mockito.mock(AddKubernetesSupportedVersionCmd.class); when(cmd.getMinimumCpu()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_CPU); when(cmd.getMinimumRamSize()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_RAM_SIZE); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); when(cmd.getSemanticVersion()).thenReturn(KubernetesVersionService.MIN_KUBERNETES_VERSION); CallContext.register(user, account); @@ -196,7 +196,7 @@ public class KubernetesVersionServiceTest { @Test public void addKubernetesSupportedVersionIsoUrlTest() throws ResourceAllocationException, NoSuchFieldException { AddKubernetesSupportedVersionCmd cmd = Mockito.mock(AddKubernetesSupportedVersionCmd.class); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(cmd.getSemanticVersion()).thenReturn(KubernetesVersionService.MIN_KUBERNETES_VERSION); @@ -204,7 +204,7 @@ public class KubernetesVersionServiceTest { when(cmd.getChecksum()).thenReturn(null); when(cmd.getMinimumCpu()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_CPU); when(cmd.getMinimumRamSize()).thenReturn(KubernetesClusterService.MIN_KUBERNETES_CLUSTER_NODE_RAM_SIZE); - Account systemAccount = new AccountVO("system", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + Account systemAccount = new AccountVO("system", 1L, "", Account.Type.ADMIN, "uuid"); when(accountManager.getSystemAccount()).thenReturn(systemAccount); PowerMockito.mockStatic(ComponentContext.class); when(ComponentContext.inject(Mockito.any(RegisterIsoCmd.class))).thenReturn(new RegisterIsoCmd()); @@ -218,7 +218,7 @@ public class KubernetesVersionServiceTest { @Test(expected = CloudRuntimeException.class) public void deleteKubernetesSupportedVersionExistingClustersTest() { DeleteKubernetesSupportedVersionCmd cmd = Mockito.mock(DeleteKubernetesSupportedVersionCmd.class); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(kubernetesSupportedVersionDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(KubernetesSupportedVersionVO.class)); @@ -231,7 +231,7 @@ public class KubernetesVersionServiceTest { @Test public void deleteKubernetesSupportedVersionTest() { DeleteKubernetesSupportedVersionCmd cmd = Mockito.mock(DeleteKubernetesSupportedVersionCmd.class); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(kubernetesSupportedVersionDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(KubernetesSupportedVersionVO.class)); @@ -249,7 +249,7 @@ public class KubernetesVersionServiceTest { public void updateKubernetesSupportedVersionTest() { UpdateKubernetesSupportedVersionCmd cmd = Mockito.mock(UpdateKubernetesSupportedVersionCmd.class); when(cmd.getState()).thenReturn(KubernetesSupportedVersion.State.Disabled.toString()); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(kubernetesSupportedVersionDao.findById(Mockito.anyLong())).thenReturn(Mockito.mock(KubernetesSupportedVersionVO.class)); diff --git a/plugins/network-elements/globodns/src/test/java/com/globo/globodns/cloudstack/element/GloboDnsElementTest.java b/plugins/network-elements/globodns/src/test/java/com/globo/globodns/cloudstack/element/GloboDnsElementTest.java index 12427f6f38e..23a3bd6c70f 100644 --- a/plugins/network-elements/globodns/src/test/java/com/globo/globodns/cloudstack/element/GloboDnsElementTest.java +++ b/plugins/network-elements/globodns/src/test/java/com/globo/globodns/cloudstack/element/GloboDnsElementTest.java @@ -111,7 +111,7 @@ public class GloboDnsElementTest { ComponentContext.initComponentsLifeCycle(); acct = new AccountVO(200L); - acct.setType(Account.ACCOUNT_TYPE_NORMAL); + acct.setType(Account.Type.NORMAL); acct.setAccountName("user"); acct.setDomainId(domainId); diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java index 1ba4dd3faed..1b8ab6ab39e 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailManagerImpl.java @@ -438,7 +438,7 @@ public class ContrailManagerImpl extends ManagerBase implements ContrailManager @Override public String getProjectName(long accountId) { Account account = _accountDao.findById(accountId); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { ProjectVO project = _projectDao.findByProjectAccountId(account.getId()); if (project != null) { return project.getName(); @@ -455,7 +455,7 @@ public class ContrailManagerImpl extends ManagerBase implements ContrailManager private ProjectVO getProject(long accountId) { Account account = _accountDao.findById(accountId); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { return _projectDao.findByProjectAccountId(account.getId()); } return null; diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java index 3bf5bba9c43..d754e143411 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java @@ -239,7 +239,7 @@ public class ServiceManagerImpl implements ServiceManager { response.setId(vm.getUuid()); Account owner = _accountService.getAccount(vm.getAccountId()); - if (owner.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (owner.getType() == Account.Type.PROJECT) { Project project = ApiDBUtils.findProjectByProjectAccountIdIncludingRemoved(owner.getAccountId()); response.setProjectId(project.getUuid()); response.setProjectName(project.getName()); diff --git a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java index 6326d7e95fc..f56689a4827 100644 --- a/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java +++ b/plugins/network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management/MockAccountManager.java @@ -150,7 +150,7 @@ public class MockAccountManager extends ManagerBase implements AccountManager { } @Override - public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long roleId, + public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, Account.Type accountType, Long roleId, Long domainId, String networkDomain, Map details, String accountUUID, String userUUID, User.Source source) { // TODO Auto-generated method stub return null; @@ -404,7 +404,7 @@ public class MockAccountManager extends ManagerBase implements AccountManager { } @Override - public Account createAccount(String accountName, short accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid) { + public Account createAccount(String accountName, Account.Type accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid) { final AccountVO account = new AccountVO(accountName, domainId, networkDomain, accountType, roleId, uuid); Transaction.execute(new TransactionCallbackNoReturn() { @Override diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java index 6e69259ebdd..2196aa8d4f5 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapCreateAccountCmd.java @@ -56,8 +56,8 @@ public class LdapCreateAccountCmd extends BaseCmd { @Parameter(name = ApiConstants.ACCOUNT, type = CommandType.STRING, description = "Creates the user under the specified account. If no account is specified, the username will be used as the account name.") private String accountName; - @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin") - private Short accountType; + @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.INTEGER, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin") + private Integer accountType; @Parameter(name = ApiConstants.ROLE_ID, type = CommandType.UUID, entityType = RoleResponse.class, description = "Creates the account under the specified role.") private Long roleId; @@ -105,12 +105,15 @@ public class LdapCreateAccountCmd extends BaseCmd { } } - public Short getAccountType() { - return RoleType.getAccountTypeByRole(roleService.findRole(roleId), accountType); + public Account.Type getAccountType() { + if (accountType == null) { + return RoleType.getAccountTypeByRole(roleService.findRole(roleId), null); + } + return RoleType.getAccountTypeByRole(roleService.findRole(roleId), Account.Type.getFromValue(accountType.intValue())); } public Long getRoleId() { - return RoleType.getRoleByAccountType(roleId, accountType); + return RoleType.getRoleByAccountType(roleId, getAccountType()); } private String getAccountName() { diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java index b8b401e0b62..96696d561cd 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LdapImportUsersCmd.java @@ -68,8 +68,8 @@ public class LdapImportUsersCmd extends BaseListCmd { @Parameter(name = ApiConstants.TIMEZONE, type = CommandType.STRING, description = "Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format.") private String timezone; - @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin") - private Short accountType; + @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.INTEGER, description = "Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin") + private Integer accountType; @Parameter(name = ApiConstants.ROLE_ID, type = CommandType.UUID, entityType = RoleResponse.class, description = "Creates the account under the specified role.") private Long roleId; @@ -167,12 +167,15 @@ public class LdapImportUsersCmd extends BaseListCmd { setResponseObject(response); } - public Short getAccountType() { - return RoleType.getAccountTypeByRole(roleService.findRole(roleId), accountType); + public Account.Type getAccountType() { + if (accountType == null) { + return RoleType.getAccountTypeByRole(roleService.findRole(roleId), null); + } + return RoleType.getAccountTypeByRole(roleService.findRole(roleId), Account.Type.getFromValue(accountType.intValue())); } public Long getRoleId() { - return RoleType.getRoleByAccountType(roleId, accountType); + return RoleType.getRoleByAccountType(roleId, getAccountType()); } private String getAccountName(LdapUser user) { diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmd.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmd.java index 52adc664ff8..c67e502a2c1 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmd.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmd.java @@ -61,9 +61,9 @@ public class LinkAccountToLdapCmd extends BaseCmd { @Parameter(name = ApiConstants.ADMIN, type = CommandType.STRING, required = false, description = "domain admin username in LDAP ") private String admin; - @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, required = true, description = "Type of the account to auto import. Specify 0 for user and 2 for " + @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.INTEGER, required = true, description = "Type of the account to auto import. Specify 0 for user and 2 for " + "domain admin") - private short accountType; + private int accountType; @Inject private LdapManager _ldapManager; @@ -84,7 +84,7 @@ public class LinkAccountToLdapCmd extends BaseCmd { if (account == null) { try { UserAccount userAccount = _accountService - .createUserAccount(admin, "", ldapUser.getFirstname(), ldapUser.getLastname(), ldapUser.getEmail(), null, admin, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, RoleType.DomainAdmin.getId(), domainId, null, null, UUID.randomUUID().toString(), + .createUserAccount(admin, "", ldapUser.getFirstname(), ldapUser.getLastname(), ldapUser.getEmail(), null, admin, Account.Type.DOMAIN_ADMIN, RoleType.DomainAdmin.getId(), domainId, null, null, UUID.randomUUID().toString(), UUID.randomUUID().toString(), User.Source.LDAP); response.setAdminId(String.valueOf(userAccount.getAccountId())); LOGGER.info("created an account with name " + admin + " in the given domain " + domainId); @@ -136,7 +136,7 @@ public class LinkAccountToLdapCmd extends BaseCmd { return admin; } - public short getAccountType() { - return accountType; + public Account.Type getAccountType() { + return Account.Type.getFromValue(accountType); } } diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmd.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmd.java index a64193aaf55..453d7346287 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmd.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmd.java @@ -64,9 +64,9 @@ public class LinkDomainToLdapCmd extends BaseCmd { @Parameter(name = ApiConstants.ADMIN, type = CommandType.STRING, required = false, description = "domain admin username in LDAP ") private String admin; - @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.SHORT, required = true, description = "Type of the account to auto import. Specify 0 for user and 2 for " + + @Parameter(name = ApiConstants.ACCOUNT_TYPE, type = CommandType.INTEGER, required = true, description = "Type of the account to auto import. Specify 0 for user and 2 for " + "domain admin") - private short accountType; + private int accountType; @Inject private LdapManager _ldapManager; @@ -87,8 +87,8 @@ public class LinkDomainToLdapCmd extends BaseCmd { return admin; } - public short getAccountType() { - return accountType; + public Account.Type getAccountType() { + return Account.Type.getFromValue(accountType); } @@ -108,7 +108,7 @@ public class LinkDomainToLdapCmd extends BaseCmd { if (account == null) { try { UserAccount userAccount = _accountService.createUserAccount(admin, "", ldapUser.getFirstname(), ldapUser.getLastname(), ldapUser.getEmail(), null, - admin, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, RoleType.DomainAdmin.getId(), domainId, null, null, UUID.randomUUID().toString(), UUID.randomUUID().toString(), User.Source.LDAP); + admin, Account.Type.DOMAIN_ADMIN, RoleType.DomainAdmin.getId(), domainId, null, null, UUID.randomUUID().toString(), UUID.randomUUID().toString(), User.Source.LDAP); response.setAdminId(String.valueOf(userAccount.getAccountId())); s_logger.info("created an account with name " + admin + " in the given domain " + domainId); } catch (Exception e) { diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkAccountToLdapResponse.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkAccountToLdapResponse.java index 23456e71641..8dacfb7ca3e 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkAccountToLdapResponse.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkAccountToLdapResponse.java @@ -39,7 +39,7 @@ public class LinkAccountToLdapResponse extends BaseResponse { @SerializedName(ApiConstants.ACCOUNT_TYPE) @Param(description = "Type of the account to auto import") - private short accountType; + private int accountType; @SerializedName(ApiConstants.ACCOUNT_ID) @Param(description = "Domain Admin accountId that is created") @@ -50,7 +50,7 @@ public class LinkAccountToLdapResponse extends BaseResponse { private String accountName; - public LinkAccountToLdapResponse(String domainId, String type, String ldapDomain, short accountType, String adminId, String accountName) { + public LinkAccountToLdapResponse(String domainId, String type, String ldapDomain, int accountType, String adminId, String accountName) { this.domainId = domainId; this.type = type; this.ldapDomain = ldapDomain; @@ -71,7 +71,7 @@ public class LinkAccountToLdapResponse extends BaseResponse { return type; } - public short getAccountType() { + public Integer getAccountType() { return accountType; } diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkDomainToLdapResponse.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkDomainToLdapResponse.java index d6d4b55e257..bc552ee2cf6 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkDomainToLdapResponse.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/api/response/LinkDomainToLdapResponse.java @@ -44,13 +44,13 @@ public class LinkDomainToLdapResponse extends BaseResponse { @SerializedName(ApiConstants.ACCOUNT_TYPE) @Param(description = "Type of the account to auto import") - private short accountType; + private int accountType; @SerializedName(ApiConstants.ACCOUNT_ID) @Param(description = "Domain Admin accountId that is created") private String adminId; - public LinkDomainToLdapResponse(String domainId, String type, String ldapDomain, short accountType) { + public LinkDomainToLdapResponse(String domainId, String type, String ldapDomain, int accountType) { this.domainId = domainId; this.name = ldapDomain; this.ldapDomain = ldapDomain; @@ -70,7 +70,7 @@ public class LinkDomainToLdapResponse extends BaseResponse { return type; } - public short getAccountType() { + public int getAccountType() { return accountType; } diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java index 3d49d3ecfa4..fc6c32f7213 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapAuthenticator.java @@ -227,7 +227,7 @@ public class LdapAuthenticator extends AdapterBase implements UserAuthenticator Pair rc = new Pair(false, null); try { LdapUser ldapUser = _ldapManager.getUser(username, ldapTrustMapVO.getType().toString(), ldapTrustMapVO.getName(), domainId); - final short accountType = ldapTrustMapVO.getAccountType(); + final Account.Type accountType = ldapTrustMapVO.getAccountType(); processLdapUser(password, domainId, user, rc, ldapUser, accountType); } catch (NoLdapUserMatchingQueryException e) { LOGGER.debug(e.getMessage()); @@ -237,7 +237,7 @@ public class LdapAuthenticator extends AdapterBase implements UserAuthenticator return rc; } - private void processLdapUser(String password, Long domainId, UserAccount user, Pair rc, LdapUser ldapUser, short accountType) { + private void processLdapUser(String password, Long domainId, UserAccount user, Pair rc, LdapUser ldapUser, Account.Type accountType) { if(!ldapUser.isDisabled()) { rc.first(_ldapManager.canAuthenticate(ldapUser.getPrincipal(), password, domainId)); if(rc.first()) { @@ -289,12 +289,12 @@ public class LdapAuthenticator extends AdapterBase implements UserAuthenticator } private void enableUserInCloudStack(UserAccount user) { - if(user != null && (user.getState().equalsIgnoreCase(Account.State.disabled.toString()))) { + if(user != null && (user.getState().equalsIgnoreCase(Account.State.DISABLED.toString()))) { _accountManager.enableUser(user.getId()); } } - private void createCloudStackUserAccount(LdapUser user, long domainId, short accountType) { + private void createCloudStackUserAccount(LdapUser user, long domainId, Account.Type accountType) { String username = user.getUsername(); _accountManager.createUserAccount(username, "", user.getFirstname(), user.getLastname(), user.getEmail(), null, username, accountType, RoleType.getByAccountType(accountType).getId(), domainId, null, null, diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapManagerImpl.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapManagerImpl.java index 3ea31047bef..90b6e7f0bab 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapManagerImpl.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapManagerImpl.java @@ -378,12 +378,12 @@ public class LdapManagerImpl extends ComponentLifecycleBase implements LdapManag return linkDomainToLdap(cmd.getDomainId(),cmd.getType(), ldapDomain,cmd.getAccountType()); } - private LinkDomainToLdapResponse linkDomainToLdap(Long domainId, String type, String name, short accountType) { + private LinkDomainToLdapResponse linkDomainToLdap(Long domainId, String type, String name, Account.Type accountType) { Validate.notNull(type, "type cannot be null. It should either be GROUP or OU"); Validate.notNull(domainId, "domainId cannot be null."); Validate.notEmpty(name, "GROUP or OU name cannot be empty"); //Account type should be 0 or 2. check the constants in com.cloud.user.Account - Validate.isTrue(accountType==0 || accountType==2, "accountype should be either 0(normal user) or 2(domain admin)"); + Validate.isTrue(accountType== Account.Type.NORMAL || accountType== Account.Type.DOMAIN_ADMIN, "accountype should be either 0(normal user) or 2(domain admin)"); LinkType linkType = LdapManager.LinkType.valueOf(type.toUpperCase()); LdapTrustMapVO vo = _ldapTrustMapDao.persist(new LdapTrustMapVO(domainId, linkType, name, accountType, 0)); DomainVO domain = domainDao.findById(vo.getDomainId()); @@ -393,7 +393,7 @@ public class LdapManagerImpl extends ComponentLifecycleBase implements LdapManag } else { domainUuid = domain.getUuid(); } - LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainUuid, vo.getType().toString(), vo.getName(), vo.getAccountType()); + LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainUuid, vo.getType().toString(), vo.getName(), vo.getAccountType().ordinal()); return response; } @@ -443,7 +443,7 @@ public class LdapManagerImpl extends ComponentLifecycleBase implements LdapManag domainUuid = domain.getUuid(); } - LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(domainUuid, vo.getType().toString(), vo.getName(), vo.getAccountType(), account.getUuid(), cmd.getAccountName()); + LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(domainUuid, vo.getType().toString(), vo.getName(), vo.getAccountType().ordinal(), account.getUuid(), cmd.getAccountName()); return response; } diff --git a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapTrustMapVO.java b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapTrustMapVO.java index c402747b813..27125998e4c 100644 --- a/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapTrustMapVO.java +++ b/plugins/user-authenticators/ldap/src/main/java/org/apache/cloudstack/ldap/LdapTrustMapVO.java @@ -18,15 +18,18 @@ */ package org.apache.cloudstack.ldap; +import com.cloud.user.Account; +import org.apache.cloudstack.api.InternalIdentity; + import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; -import org.apache.cloudstack.api.InternalIdentity; - @Entity @Table(name = "ldap_trust_map") public class LdapTrustMapVO implements InternalIdentity { @@ -49,13 +52,14 @@ public class LdapTrustMapVO implements InternalIdentity { private long accountId; @Column(name = "account_type") - private short accountType; + @Enumerated(value = EnumType.ORDINAL) + private Account.Type accountType; public LdapTrustMapVO() { } - public LdapTrustMapVO(long domainId, LdapManager.LinkType type, String name, short accountType, long accountId) { + public LdapTrustMapVO(long domainId, LdapManager.LinkType type, String name, Account.Type accountType, long accountId) { this.domainId = domainId; this.type = type; this.name = name; @@ -80,7 +84,7 @@ public class LdapTrustMapVO implements InternalIdentity { return domainId; } - public short getAccountType() { + public Account.Type getAccountType() { return accountType; } @@ -121,7 +125,7 @@ public class LdapTrustMapVO implements InternalIdentity { result = 31 * result + name.hashCode(); result = 31 * result + (int) (domainId ^ (domainId >>> 32)); result = 31 * result + (int) (accountId ^ (accountId >>> 32)); - result = 31 * result + (int) accountType; + result = 31 * result + accountType.ordinal(); return result; } } diff --git a/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy b/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy index 1ff5fce4243..37a0aba8adb 100644 --- a/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy +++ b/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LdapAuthenticatorSpec.groovy @@ -204,7 +204,7 @@ class LdapAuthenticatorSpec extends spock.lang.Specification { UserAccount userAccount = Mock(UserAccount) userAccountDao.getUserAccount(username, domainId) >> userAccount userAccount.getId() >> 1 - userAccount.getState() >> Account.State.disabled.toString() + userAccount.getState() >> Account.State.DISABLED.toString() ldapManager.getDomainLinkedToLdap(domainId) >> new LdapTrustMapVO(domainId, type, name, (short)2) ldapManager.getUser(username, type.toString(), name) >> new LdapUser(username, "email", "firstname", "lastname", "principal", "domain", false, null) ldapManager.canAuthenticate(_, _, _) >> true diff --git a/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LinkDomainToLdapCmdSpec.groovy b/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LinkDomainToLdapCmdSpec.groovy index 46b00a93d6c..2be7d3c3dfa 100644 --- a/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LinkDomainToLdapCmdSpec.groovy +++ b/plugins/user-authenticators/ldap/src/test/groovy/org/apache/cloudstack/ldap/LinkDomainToLdapCmdSpec.groovy @@ -143,7 +143,7 @@ class LinkDomainToLdapCmdSpec extends Specification { _accountService.getActiveAccountByName(username, domainId) >> null UserAccount userAccount = Mock(UserAccount) userAccount.getAccountId() >> 24 - _accountService.createUserAccount(username, "", "Admin", "Admin", "admin@ccp.citrix.com", null, username, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, domainId, + _accountService.createUserAccount(username, "", "Admin", "Admin", "admin@ccp.citrix.com", null, username, Account.Type.DOMAIN_ADMIN, domainId, username, null, _, _, User.Source.LDAP) >> userAccount linkDomainToLdapCmd.admin = username @@ -209,7 +209,7 @@ class LinkDomainToLdapCmdSpec extends Specification { _accountService.getActiveAccountByName(username, domainId) >> null UserAccount userAccount = Mock(UserAccount) userAccount.getAccountId() >> 24 - _accountService.createUserAccount(username, "", "Admin", "Admin", "admin@ccp.citrix.com", null, username, Account.ACCOUNT_TYPE_DOMAIN_ADMIN, domainId, + _accountService.createUserAccount(username, "", "Admin", "Admin", "admin@ccp.citrix.com", null, username, Account.Type.DOMAIN_ADMIN, domainId, username, null, _, _, User.Source.LDAP) >> { throw new RuntimeException("created failed from mock") } linkDomainToLdapCmd.admin = username diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapCreateAccountCmdTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapCreateAccountCmdTest.java index 5e7728ba0d8..546b6831c72 100644 --- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapCreateAccountCmdTest.java +++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapCreateAccountCmdTest.java @@ -50,7 +50,7 @@ public class LdapCreateAccountCmdTest implements LdapConfigurationChanger { public void setUp() throws NoSuchFieldException, IllegalAccessException { ldapCreateAccountCmd = spy(new LdapCreateAccountCmd(ldapManager, accountService)); ldapCreateAccountCmd.roleService = roleService; - setHiddenField(ldapCreateAccountCmd,"accountType", Account.ACCOUNT_TYPE_DOMAIN_ADMIN); + setHiddenField(ldapCreateAccountCmd,"accountType", Account.Type.DOMAIN_ADMIN.ordinal()); } @Test(expected = ServerApiException.class) diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapImportUsersCmdTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapImportUsersCmdTest.java index dd871df0a18..902a5d4ebb0 100644 --- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapImportUsersCmdTest.java +++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LdapImportUsersCmdTest.java @@ -60,7 +60,7 @@ public class LdapImportUsersCmdTest implements LdapConfigurationChanger { public void setUp() throws NoSuchFieldException, IllegalAccessException { ldapImportUsersCmd = spy(new LdapImportUsersCmd(ldapManager, domainService, accountService)); ldapImportUsersCmd.roleService = roleService; - setHiddenField(ldapImportUsersCmd, "accountType", Account.ACCOUNT_TYPE_DOMAIN_ADMIN); + setHiddenField(ldapImportUsersCmd, "accountType", Account.Type.DOMAIN_ADMIN.ordinal()); } @Test diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmdTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmdTest.java index 35aed6a50cf..7386ec9f9de 100644 --- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmdTest.java +++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkAccountToLdapCmdTest.java @@ -60,7 +60,7 @@ public class LinkAccountToLdapCmdTest implements LdapConfigurationChanger { long domainId = 1; String type = "GROUP"; String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com"; - short accountType = Account.ACCOUNT_TYPE_DOMAIN_ADMIN; + Account.Type accountType = Account.Type.DOMAIN_ADMIN; String username = "admin"; long accountId = 24; String accountName = "test"; @@ -69,11 +69,11 @@ public class LinkAccountToLdapCmdTest implements LdapConfigurationChanger { setHiddenField(linkAccountToLdapCmd, "admin", username); setHiddenField(linkAccountToLdapCmd, "type", type); setHiddenField(linkAccountToLdapCmd, "domainId", domainId); - setHiddenField(linkAccountToLdapCmd, "accountType", accountType); + setHiddenField(linkAccountToLdapCmd, "accountType", accountType.ordinal()); setHiddenField(linkAccountToLdapCmd, "accountName", accountName); - LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(String.valueOf(domainId), type, ldapDomain, (short)accountType, username, accountName); + LinkAccountToLdapResponse response = new LinkAccountToLdapResponse(String.valueOf(domainId), type, ldapDomain, accountType.ordinal(), username, accountName); when(ldapManager.linkAccountToLdap(linkAccountToLdapCmd)).thenReturn(response); when(ldapManager.getUser(username, type, ldapDomain, 1L)) .thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null)); @@ -82,7 +82,7 @@ public class LinkAccountToLdapCmdTest implements LdapConfigurationChanger { UserAccountVO userAccount = new UserAccountVO(); userAccount.setAccountId(24); when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), - eq(username), eq(Account.ACCOUNT_TYPE_DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), + eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map)isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount); linkAccountToLdapCmd.execute(); diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmdTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmdTest.java index 8f1fa677cb9..24ee930dc63 100644 --- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmdTest.java +++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/api/command/LinkDomainToLdapCmdTest.java @@ -64,16 +64,16 @@ public class LinkDomainToLdapCmdTest implements LdapConfigurationChanger Long domainId = 1L; String type = "GROUP"; String ldapDomain = "CN=test,DC=ccp,DC=Citrix,DC=com"; - short accountType = Account.ACCOUNT_TYPE_DOMAIN_ADMIN; + Account.Type accountType = Account.Type.DOMAIN_ADMIN; String username = "admin"; long accountId = 24; setHiddenField(linkDomainToLdapCmd, "ldapDomain", ldapDomain); setHiddenField(linkDomainToLdapCmd, "admin", username); setHiddenField(linkDomainToLdapCmd, "type", type); setHiddenField(linkDomainToLdapCmd, "domainId", domainId); - setHiddenField(linkDomainToLdapCmd, "accountType", accountType); + setHiddenField(linkDomainToLdapCmd, "accountType", accountType.ordinal()); - LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, (short)accountType); + LinkDomainToLdapResponse response = new LinkDomainToLdapResponse(domainId.toString(), type, ldapDomain, accountType.ordinal()); when(ldapManager.linkDomainToLdap(linkDomainToLdapCmd)).thenReturn(response); when(ldapManager.getUser(username, type, ldapDomain, 1L)).thenReturn(new LdapUser(username, "admin@ccp.citrix.com", "Admin", "Admin", ldapDomain, "ccp", false, null)); @@ -81,7 +81,7 @@ public class LinkDomainToLdapCmdTest implements LdapConfigurationChanger UserAccountVO userAccount = new UserAccountVO(); userAccount.setAccountId(24); when(accountService.createUserAccount(eq(username), eq(""), eq("Admin"), eq("Admin"), eq("admin@ccp.citrix.com"), isNull(String.class), - eq(username), eq(Account.ACCOUNT_TYPE_DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), + eq(username), eq(Account.Type.DOMAIN_ADMIN), eq(RoleType.DomainAdmin.getId()), eq(domainId), isNull(String.class), (java.util.Map)isNull(), anyString(), anyString(), eq(User.Source.LDAP))).thenReturn(userAccount); diff --git a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapAuthenticatorTest.java b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapAuthenticatorTest.java index 2e5758025e3..6852d5e2f3a 100644 --- a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapAuthenticatorTest.java +++ b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapAuthenticatorTest.java @@ -20,6 +20,7 @@ package org.apache.cloudstack.ldap; import com.cloud.server.auth.UserAuthenticator; import com.cloud.user.AccountManager; import com.cloud.user.AccountVO; +import com.cloud.user.Account; import com.cloud.user.User; import com.cloud.user.UserAccount; import com.cloud.user.UserAccountVO; @@ -109,9 +110,9 @@ public class LdapAuthenticatorTest { LdapAuthenticator auth = spy(ldapAuthenticator); when(auth.getMappedGroups(maps)).thenReturn(mappedGroups); - LdapTrustMapVO trustMap = new LdapTrustMapVO(domainId, LdapManager.LinkType.GROUP, "cn=name", (short)2, 1l); + LdapTrustMapVO trustMap = new LdapTrustMapVO(domainId, LdapManager.LinkType.GROUP, "cn=name", Account.Type.DOMAIN_ADMIN, 1l); - AccountVO account = new AccountVO("accountName" , domainId, "domain.net", (short)2, "final String uuid"); + AccountVO account = new AccountVO("accountName" , domainId, "domain.net", Account.Type.DOMAIN_ADMIN, "final String uuid"); when(accountManager.getAccount(anyLong())).thenReturn(account); when(ldapManager.getUser(username, domainId)).thenReturn(userSpy); when(ldapManager.getLinkedLdapGroup(domainId, "g1")).thenReturn(trustMap); diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmd.java index 89e3f31c6f8..86034e72a8b 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/GetServiceProviderMetaDataCmd.java @@ -112,7 +112,7 @@ public class GetServiceProviderMetaDataCmd extends BaseCmd implements APIAuthent @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java index 895d12f8359..46c9ae571e6 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmd.java @@ -134,13 +134,13 @@ public class ListAndSwitchSAMLAccountCmd extends BaseCmd implements APIAuthentic final User user = _userDao.findByUuid(userUuid); final Domain domain = _domainDao.findByUuid(domainUuid); final UserAccount nextUserAccount = _accountService.getUserAccountById(user.getId()); - if (nextUserAccount != null && !nextUserAccount.getAccountState().equals(Account.State.enabled.toString())) { + if (nextUserAccount != null && !nextUserAccount.getAccountState().equals(Account.State.ENABLED.toString())) { throw new ServerApiException(ApiErrorCode.ACCOUNT_ERROR, _apiServer.getSerializedApiError(ApiErrorCode.PARAM_ERROR.getHttpCode(), "The requested user account is locked and cannot be switched to, please contact your administrator.", params, responseType)); } if (nextUserAccount == null - || !nextUserAccount.getAccountState().equals(Account.State.enabled.toString()) + || !nextUserAccount.getAccountState().equals(Account.State.ENABLED.toString()) || !nextUserAccount.getUsername().equals(currentUserAccount.getUsername()) || !nextUserAccount.getExternalEntity().equals(currentUserAccount.getExternalEntity()) || (nextUserAccount.getDomainId() != domain.getId()) diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListIdpsCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListIdpsCmd.java index 026a0ca93c7..67a29700069 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListIdpsCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListIdpsCmd.java @@ -62,7 +62,7 @@ public class ListIdpsCmd extends BaseCmd implements APIAuthenticator { @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListSamlAuthorizationCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListSamlAuthorizationCmd.java index be958a16280..ca74327d64b 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListSamlAuthorizationCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/ListSamlAuthorizationCmd.java @@ -77,7 +77,7 @@ public class ListSamlAuthorizationCmd extends BaseListCmd { _accountService.checkAccess(CallContext.current().getCallingAccount(), SecurityChecker.AccessType.ListEntry, true, account); users.add(user); } - } else if (CallContext.current().getCallingAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) { + } else if (CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN) { users = _userDao.listAll(); } diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java index 85279ea85b4..4dd9fdf278e 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java @@ -122,7 +122,7 @@ public class SAML2LoginAPIAuthenticatorCmd extends BaseCmd implements APIAuthent @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override @@ -303,7 +303,7 @@ public class SAML2LoginAPIAuthenticatorCmd extends BaseCmd implements APIAuthent // Log into the first enabled user account // Users can switch to other allowed accounts later for (UserAccountVO possibleUserAccount : possibleUserAccounts) { - if (possibleUserAccount.getAccountState().equals(Account.State.enabled.toString())) { + if (possibleUserAccount.getAccountState().equals(Account.State.ENABLED.toString())) { userAccount = possibleUserAccount; break; } diff --git a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmd.java b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmd.java index 6791880fa4a..ccdc4b6bd5d 100644 --- a/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmd.java +++ b/plugins/user-authenticators/saml2/src/main/java/org/apache/cloudstack/api/command/SAML2LogoutAPIAuthenticatorCmd.java @@ -73,7 +73,7 @@ public class SAML2LogoutAPIAuthenticatorCmd extends BaseCmd implements APIAuthen @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override diff --git a/plugins/user-authenticators/saml2/src/test/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmdTest.java b/plugins/user-authenticators/saml2/src/test/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmdTest.java index 5c902b27208..7b91e119dbb 100644 --- a/plugins/user-authenticators/saml2/src/test/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmdTest.java +++ b/plugins/user-authenticators/saml2/src/test/java/org/apache/cloudstack/api/command/ListAndSwitchSAMLAccountCmdTest.java @@ -159,7 +159,7 @@ public class ListAndSwitchSAMLAccountCmdTest extends TestCase { // valid sessionkey, invalid useraccount type (non-saml) value test UserAccountVO mockedUserAccount = new UserAccountVO(); mockedUserAccount.setId(2L); - mockedUserAccount.setAccountState(Account.State.enabled.toString()); + mockedUserAccount.setAccountState(Account.State.ENABLED.toString()); mockedUserAccount.setUsername("someUsername"); mockedUserAccount.setExternalEntity("some IDP ID"); mockedUserAccount.setDomainId(0L); diff --git a/server/src/main/java/com/cloud/acl/DomainChecker.java b/server/src/main/java/com/cloud/acl/DomainChecker.java index 355d34fe814..387535dc19c 100644 --- a/server/src/main/java/com/cloud/acl/DomainChecker.java +++ b/server/src/main/java/com/cloud/acl/DomainChecker.java @@ -104,7 +104,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { @Override public boolean checkAccess(Account caller, Domain domain) throws PermissionDeniedException { - if (caller.getState() != Account.State.enabled) { + if (caller.getState() != Account.State.ENABLED) { throw new PermissionDeniedException("Account " + caller.getAccountName() + " is disabled."); } @@ -147,7 +147,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { return true; } //special handling for the project case - if (owner.getType() == Account.ACCOUNT_TYPE_PROJECT && _projectMgr.canAccessProjectAccount(caller, owner.getId())) { + if (owner.getType() == Account.Type.PROJECT && _projectMgr.canAccessProjectAccount(caller, owner.getId())) { return true; } @@ -163,7 +163,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { if (accessType != null && accessType == AccessType.OperateEntry) { if (!_accountService.isRootAdmin(caller.getId()) && owner.getId() != caller.getId()) { // For projects check if the caller account can access the project account - if (owner.getType() != Account.ACCOUNT_TYPE_PROJECT || !(_projectMgr.canAccessProjectAccount(caller, owner.getId()))) { + if (owner.getType() != Account.Type.PROJECT || !(_projectMgr.canAccessProjectAccount(caller, owner.getId()))) { throw new PermissionDeniedException("Domain Admin and regular users can modify only their own Public templates"); } } @@ -179,7 +179,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { if (_accountService.isNormalUser(caller.getId())) { Account account = _accountDao.findById(entity.getAccountId()); String errorMessage = String.format("%s does not have permission to operate with resource", caller); - if (account != null && account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account != null && account.getType() == Account.Type.PROJECT) { //only project owner can delete/modify the project if (accessType != null && accessType == AccessType.ModifyProject) { if (!_projectMgr.canModifyProjectAccount(caller, account.getId())) { @@ -272,9 +272,9 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { //if account is normal user or domain admin //check if account's domain is a child of offering's domain (Note: This is made consistent with the list command for disk offering) else if (_accountService.isNormalUser(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN + || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN || _accountService.isDomainAdmin(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + || account.getType() == Account.Type.PROJECT) { final List doDomainIds = diskOfferingDetailsDao.findDomainIds(dof.getId()); if (doDomainIds.isEmpty()) { hasAccess = true; @@ -310,9 +310,9 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { //if account is normal user or domain admin //check if account's domain is a child of offering's domain (Note: This is made consistent with the list command for service offering) else if (_accountService.isNormalUser(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN + || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN || _accountService.isDomainAdmin(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + || account.getType() == Account.Type.PROJECT) { final List soDomainIds = serviceOfferingDetailsDao.findDomainIds(so.getId()); if (soDomainIds.isEmpty()) { hasAccess = true; @@ -348,9 +348,9 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { //if account is normal user or domain admin //check if account's domain is a child of offering's domain (Note: This is made consistent with the list command for disk offering) else if (_accountService.isNormalUser(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN + || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN || _accountService.isDomainAdmin(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + || account.getType() == Account.Type.PROJECT) { final List noDomainIds = networkOfferingDetailsDao.findDomainIds(nof.getId()); if (noDomainIds.isEmpty()) { hasAccess = true; @@ -386,9 +386,9 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { //if account is normal user or domain admin //check if account's domain is a child of offering's domain (Note: This is made consistent with the list command for disk offering) else if (_accountService.isNormalUser(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN + || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN || _accountService.isDomainAdmin(account.getId()) - || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + || account.getType() == Account.Type.PROJECT) { final List voDomainIds = vpcOfferingDetailsDao.findDomainIds(vof.getId()); if (voDomainIds.isEmpty()) { hasAccess = true; @@ -421,7 +421,7 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { } //if account is normal user //check if account's domain is a child of zone's domain - else if (_accountService.isNormalUser(account.getId()) || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + else if (_accountService.isNormalUser(account.getId()) || account.getType() == Account.Type.PROJECT) { // if zone is dedicated to an account check that the accountId // matches. DedicatedResourceVO dedicatedZone = _dedicatedDao.findByZoneId(zone.getId()); @@ -496,19 +496,19 @@ public class DomainChecker extends AdapterBase implements SecurityChecker { throws PermissionDeniedException { if (action != null && ("SystemCapability".equals(action))) { - if (caller != null && caller.getType() == Account.ACCOUNT_TYPE_ADMIN) { + if (caller != null && caller.getType() == Account.Type.ADMIN) { return true; } else { return false; } } else if (action != null && ("DomainCapability".equals(action))) { - if (caller != null && caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) { + if (caller != null && caller.getType() == Account.Type.DOMAIN_ADMIN) { return true; } else { return false; } } else if (action != null && ("DomainResourceCapability".equals(action))) { - if (caller != null && caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if (caller != null && caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { return true; } else { return false; diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java b/server/src/main/java/com/cloud/api/ApiResponseHelper.java index 5df3c17fbd1..98fb8cd4990 100644 --- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java +++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java @@ -1948,7 +1948,7 @@ public class ApiResponseHelper implements ResponseGenerator { continue; } - if (account.getType() != Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() != Account.Type.PROJECT) { regularAccounts.add(accountName); } else { // convert account to projectIds @@ -2017,7 +2017,7 @@ public class ApiResponseHelper implements ResponseGenerator { Account account = securiytGroupAccounts.get(securityGroup.getAccountId()); - if (securityGroup.getAccountType() == Account.ACCOUNT_TYPE_PROJECT) { + if (securityGroup.getAccountType() == Account.Type.PROJECT) { response.setProjectId(securityGroup.getProjectUuid()); response.setProjectName(securityGroup.getProjectName()); } else { @@ -2626,7 +2626,7 @@ public class ApiResponseHelper implements ResponseGenerator { private void populateOwner(ControlledEntityResponse response, ControlledEntity object) { Account account = ApiDBUtils.findAccountById(object.getAccountId()); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { // find the project Project project = ApiDBUtils.findProjectByProjectAccountId(account.getId()); response.setProjectId(project.getUuid()); @@ -2642,7 +2642,7 @@ public class ApiResponseHelper implements ResponseGenerator { public static void populateOwner(ControlledViewEntityResponse response, ControlledViewEntity object) { - if (object.getAccountType() == Account.ACCOUNT_TYPE_PROJECT) { + if (object.getAccountType() == Account.Type.PROJECT) { response.setProjectId(object.getProjectUuid()); response.setProjectName(object.getProjectName()); } else { @@ -2657,7 +2657,7 @@ public class ApiResponseHelper implements ResponseGenerator { Account account = ApiDBUtils.findAccountById(accountId); if (account == null) { s_logger.debug("Unable to find account with id: " + accountId); - } else if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + } else if (account.getType() == Account.Type.PROJECT) { // find the project Project project = ApiDBUtils.findProjectByProjectAccountId(account.getId()); if (project != null) { @@ -3519,7 +3519,7 @@ public class ApiResponseHelper implements ResponseGenerator { public UsageRecordResponse createUsageResponse(Usage usageRecord, Map> resourceTagResponseMap, boolean oldFormat) { UsageRecordResponse usageRecResponse = new UsageRecordResponse(); Account account = ApiDBUtils.findAccountById(usageRecord.getAccountId()); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { //find the project Project project = ApiDBUtils.findProjectByProjectAccountIdIncludingRemoved(account.getId()); if (project != null) { diff --git a/server/src/main/java/com/cloud/api/ApiServer.java b/server/src/main/java/com/cloud/api/ApiServer.java index 4ba246c4047..9abd3788764 100644 --- a/server/src/main/java/com/cloud/api/ApiServer.java +++ b/server/src/main/java/com/cloud/api/ApiServer.java @@ -949,7 +949,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer user = userAcctPair.first(); final Account account = userAcctPair.second(); - if (user.getState() != Account.State.enabled || !account.getState().equals(Account.State.enabled)) { + if (user.getState() != Account.State.ENABLED || !account.getState().equals(Account.State.ENABLED)) { s_logger.info("disabled or locked user accessing the api, userid = " + user.getId() + "; name = " + user.getUsername() + "; state: " + user.getState() + "; accountState: " + account.getState()); return false; @@ -1123,7 +1123,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer session.setAttribute("domain_UUID", domain.getUuid()); } - session.setAttribute("type", Short.valueOf(account.getType()).toString()); + session.setAttribute("type", account.getType().ordinal()); session.setAttribute("registrationtoken", userAcct.getRegistrationToken()); session.setAttribute("registered", Boolean.toString(userAcct.isRegistered())); @@ -1159,8 +1159,8 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer account = accountMgr.getAccount(user.getAccountId()); } - if ((user == null) || (user.getRemoved() != null) || !user.getState().equals(Account.State.enabled) || (account == null) || - !account.getState().equals(Account.State.enabled)) { + if ((user == null) || (user.getRemoved() != null) || !user.getState().equals(Account.State.ENABLED) || (account == null) || + !account.getState().equals(Account.State.ENABLED)) { s_logger.warn("Deleted/Disabled/Locked user with id=" + userId + " attempting to access public API"); return false; } diff --git a/server/src/main/java/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java b/server/src/main/java/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java index 249be78e0bf..bb488b0bd21 100644 --- a/server/src/main/java/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java +++ b/server/src/main/java/com/cloud/api/auth/DefaultLoginAPIAuthenticatorCmd.java @@ -98,7 +98,7 @@ public class DefaultLoginAPIAuthenticatorCmd extends BaseCmd implements APIAuthe @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override diff --git a/server/src/main/java/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java b/server/src/main/java/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java index 0d04c8a5128..b4b59ef0078 100644 --- a/server/src/main/java/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java +++ b/server/src/main/java/com/cloud/api/auth/DefaultLogoutAPIAuthenticatorCmd.java @@ -52,7 +52,7 @@ public class DefaultLogoutAPIAuthenticatorCmd extends BaseCmd implements APIAuth @Override public long getEntityOwnerId() { - return Account.ACCOUNT_TYPE_NORMAL; + return Account.Type.NORMAL.ordinal(); } @Override diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java index 278347a3812..e009aaaffd8 100644 --- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java @@ -524,7 +524,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q boolean listAll = true; Long id = null; - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { long currentId = CallContext.current().getCallingUser().getId(); if (id != null && currentId != id.longValue()) { throw new PermissionDeniedException("Calling user is not authorized to see the user requested by id"); @@ -553,7 +553,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q boolean listAll = cmd.listAll(); Long id = cmd.getId(); - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { long currentId = CallContext.current().getCallingUser().getId(); if (id != null && currentId != id.longValue()) { throw new PermissionDeniedException("Calling user is not authorized to see the user requested by id"); @@ -2223,7 +2223,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } _accountMgr.checkAccess(caller, domain); } else { - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { domainId = caller.getDomainId(); } if (listAll) { @@ -2372,14 +2372,14 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q SearchCriteria sc = sb.create(); // don't return account of type project to the end user - sc.setParameters("typeNEQ", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("typeNEQ", Account.Type.PROJECT); // don't return system account... sc.setParameters("idNEQ", Account.ACCOUNT_ID_SYSTEM); // do not return account of type domain admin to the end user if (!callerIsAdmin) { - sc.setParameters("type2NEQ", Account.ACCOUNT_TYPE_DOMAIN_ADMIN); + sc.setParameters("type2NEQ", Account.Type.DOMAIN_ADMIN); } if (keyword != null) { @@ -2474,7 +2474,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q SearchCriteria sc = sb.create(); if (listProjectResourcesCriteria != null) { - sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("type", Account.Type.PROJECT); } if (!permittedAccounts.isEmpty()) { @@ -2927,9 +2927,9 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q // For non-root users, only return all offerings for the user's domain, // and everything above till root - if ((_accountMgr.isNormalUser(account.getId()) || _accountMgr.isDomainAdmin(account.getId())) || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if ((_accountMgr.isNormalUser(account.getId()) || _accountMgr.isDomainAdmin(account.getId())) || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { if (isRecursive) { // domain + all sub-domains - if (account.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (account.getType() == Account.Type.NORMAL) { throw new InvalidParameterValueException("Only ROOT admins and Domain admins can list disk offerings with isrecursive=true"); } } @@ -2985,7 +2985,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q // Filter offerings that are not associated with caller's domain // Fetch the offering ids from the details table since theres no smart way to filter them in the join ... yet! Account caller = CallContext.current().getCallingAccount(); - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { Domain callerDomain = _domainDao.findById(caller.getDomainId()); List domainIds = findRelatedDomainIds(callerDomain, isRecursive); @@ -3151,13 +3151,13 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q } // boolean includePublicOfferings = false; - if ((_accountMgr.isNormalUser(caller.getId()) || _accountMgr.isDomainAdmin(caller.getId())) || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if ((_accountMgr.isNormalUser(caller.getId()) || _accountMgr.isDomainAdmin(caller.getId())) || caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { // For non-root users. if (isSystem) { throw new InvalidParameterValueException("Only root admins can access system's offering"); } if (isRecursive) { // domain + all sub-domains - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { throw new InvalidParameterValueException("Only ROOT admins and Domain admins can list service offerings with isrecursive=true"); } } @@ -3242,7 +3242,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q // Filter offerings that are not associated with caller's domain // Fetch the offering ids from the details table since theres no smart way to filter them in the join ... yet! - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { Domain callerDomain = _domainDao.findById(caller.getDomainId()); List domainIds = findRelatedDomainIds(callerDomain, isRecursive); @@ -3303,7 +3303,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q ListResponse response = new ListResponse(); ResponseView respView = ResponseView.Restricted; - if (cmd instanceof ListZonesCmdByAdmin || CallContext.current().getCallingAccount().getType() == Account.ACCOUNT_TYPE_ADMIN) { + if (cmd instanceof ListZonesCmdByAdmin || CallContext.current().getCallingAccount().getType() == Account.Type.ADMIN) { respView = ResponseView.Full; } @@ -3418,7 +3418,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q sdc.addAnd("id", SearchCriteria.Op.NIN, dedicatedZoneIds.toArray(new Object[dedicatedZoneIds.size()])); } - } else if (_accountMgr.isDomainAdmin(account.getId()) || account.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + } else if (_accountMgr.isDomainAdmin(account.getId()) || account.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { // it was decided to return all zones for the domain admin, and // everything above till root, as well as zones till the domain // leaf @@ -3558,7 +3558,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q boolean listAll = false; if (templateFilter != null && templateFilter == TemplateFilter.all) { - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only"); } listAll = true; @@ -3627,14 +3627,14 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q ex.addProxyObject(template.getUuid(), "templateId"); throw ex; } - if (!template.isPublicTemplate() && caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) { + if (!template.isPublicTemplate() && caller.getType() == Account.Type.DOMAIN_ADMIN) { Account template_acc = _accountMgr.getAccount(template.getAccountId()); DomainVO domain = _domainDao.findById(template_acc.getDomainId()); _accountMgr.checkAccess(caller, domain); } // if template is not public, perform permission check here - else if (!template.isPublicTemplate() && caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + else if (!template.isPublicTemplate() && caller.getType() != Account.Type.ADMIN) { _accountMgr.checkAccess(caller, null, false, template); } @@ -3654,14 +3654,14 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q // add criteria for project or not if (listProjectResourcesCriteria == ListProjectResourcesCriteria.SkipProjectResources) { - sc.addAnd("accountType", SearchCriteria.Op.NEQ, Account.ACCOUNT_TYPE_PROJECT); + sc.addAnd("accountType", SearchCriteria.Op.NEQ, Account.Type.PROJECT); } else if (listProjectResourcesCriteria == ListProjectResourcesCriteria.ListProjectResourcesOnly) { - sc.addAnd("accountType", SearchCriteria.Op.EQ, Account.ACCOUNT_TYPE_PROJECT); + sc.addAnd("accountType", SearchCriteria.Op.EQ, Account.Type.PROJECT); } // add criteria for domain path in case of domain admin if ((templateFilter == TemplateFilter.self || templateFilter == TemplateFilter.selfexecutable) - && (caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN)) { + && (caller.getType() == Account.Type.DOMAIN_ADMIN || caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN)) { sc.addAnd("domainPath", SearchCriteria.Op.LIKE, domain.getPath() + "%"); } @@ -3725,7 +3725,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q scc.addOr("accountId", SearchCriteria.Op.IN, permittedAccountIds.toArray()); } sc.addAnd("publicTemplate", SearchCriteria.Op.SC, scc); - } else if (templateFilter == TemplateFilter.all && caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + } else if (templateFilter == TemplateFilter.all && caller.getType() != Account.Type.ADMIN) { SearchCriteria scc = _templateJoinDao.createSearchCriteria(); scc.addOr("publicTemplate", SearchCriteria.Op.EQ, true); @@ -3900,7 +3900,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q boolean listAll = false; if (isoFilter != null && isoFilter == TemplateFilter.all) { - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { throw new InvalidParameterValueException("Filter " + TemplateFilter.all + " can be specified by admin only"); } listAll = true; @@ -3941,7 +3941,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q default: throw new CloudRuntimeException("Resource type not supported."); } - if (CallContext.current().getCallingAccount().getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (CallContext.current().getCallingAccount().getType() != Account.Type.ADMIN) { final List userDenyListedSettings = Stream.of(QueryService.UserVMDeniedDetails.value().split(",")) .map(item -> (item).trim()) .collect(Collectors.toList()); @@ -4111,7 +4111,7 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q ListProjectResourcesCriteria listProjectResourcesCriteria) { if (listProjectResourcesCriteria != null) { - sc.setParameters("accountType", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("accountType", Account.Type.PROJECT); } if (!permittedAccounts.isEmpty()) { diff --git a/server/src/main/java/com/cloud/api/query/dao/AccountJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/AccountJoinDaoImpl.java index fa2049e939a..c980ffd3ab6 100644 --- a/server/src/main/java/com/cloud/api/query/dao/AccountJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/AccountJoinDaoImpl.java @@ -63,7 +63,7 @@ public class AccountJoinDaoImpl extends GenericDaoBase impl AccountResponse accountResponse = new AccountResponse(); accountResponse.setId(account.getUuid()); accountResponse.setName(account.getAccountName()); - accountResponse.setAccountType(account.getType()); + accountResponse.setAccountType(account.getType().ordinal()); accountResponse.setDomainId(account.getDomainUuid()); accountResponse.setDomainName(account.getDomainName()); StringBuilder domainPath = new StringBuilder("ROOT"); diff --git a/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java index 96c129ad068..0ed234c51e1 100644 --- a/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java @@ -105,7 +105,7 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase existingDomainIds = diskOfferingDetailsDao.findDomainIds(diskOfferingId); if (existingDomainIds.isEmpty()) { throw new InvalidParameterValueException(String.format("Unable to delete public disk offering: %s by admin: %s because it is domain-admin", offering.getUuid(), user.getUuid())); @@ -3877,7 +3877,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati throw new InvalidParameterValueException(String.format("Unable to delete disk offering: %s as it has linked domain(s) which are not child domain for domain-admin: %s", offering.getUuid(), user.getUuid())); } } - } else if (account.getType() != Account.ACCOUNT_TYPE_ADMIN) { + } else if (account.getType() != Account.Type.ADMIN) { throw new InvalidParameterValueException(String.format("Unable to delete disk offering: %s by user: %s because it is not root-admin or domain-admin", offering.getUuid(), user.getUuid())); } @@ -3941,7 +3941,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati throw new InvalidParameterValueException("Unable to find active user by id " + userId); } final Account account = _accountDao.findById(user.getAccountId()); - if (account.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) { + if (account.getType() == Account.Type.DOMAIN_ADMIN) { List existingDomainIds = _serviceOfferingDetailsDao.findDomainIds(offeringId); if (existingDomainIds.isEmpty()) { throw new InvalidParameterValueException(String.format("Unable to delete public service offering: %s by admin: %s because it is domain-admin", offering.getUuid(), user.getUuid())); @@ -3951,7 +3951,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati throw new InvalidParameterValueException(String.format("Unable to delete service offering: %s as it has linked domain(s) which are not child domain for domain-admin: %s", offering.getUuid(), user.getUuid())); } } - } else if (account.getType() != Account.ACCOUNT_TYPE_ADMIN) { + } else if (account.getType() != Account.Type.ADMIN) { throw new InvalidParameterValueException(String.format("Unable to delete service offering: %s by user: %s because it is not root-admin or domain-admin", offering.getUuid(), user.getUuid())); } @@ -6466,7 +6466,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati final List offerings = networkOfferingJoinDao.search(sc, searchFilter); // Remove offerings that are not associated with caller's domain or domainId passed - if ((caller.getType() != Account.ACCOUNT_TYPE_ADMIN || domainId != null) && CollectionUtils.isNotEmpty(offerings)) { + if ((caller.getType() != Account.Type.ADMIN || domainId != null) && CollectionUtils.isNotEmpty(offerings)) { ListIterator it = offerings.listIterator(); while (it.hasNext()) { NetworkOfferingJoinVO offering = it.next(); @@ -6475,7 +6475,7 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati String[] domainIdsArray = offering.getDomainId().split(","); for (String domainIdString : domainIdsArray) { Long dId = Long.valueOf(domainIdString.trim()); - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN && + if (caller.getType() != Account.Type.ADMIN && !_domainDao.isChildDomain(dId, caller.getDomainId())) { toRemove = true; break; diff --git a/server/src/main/java/com/cloud/network/NetworkModelImpl.java b/server/src/main/java/com/cloud/network/NetworkModelImpl.java index f4290f16eeb..052b1e003b3 100644 --- a/server/src/main/java/com/cloud/network/NetworkModelImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkModelImpl.java @@ -1664,7 +1664,7 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel, Confi if (networkOwner == null) throw new PermissionDeniedException("Unable to use network with id= " + ((NetworkVO)network).getUuid() + ", network does not have an owner"); - if (owner.getType() != Account.ACCOUNT_TYPE_PROJECT && networkOwner.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (owner.getType() != Account.Type.PROJECT && networkOwner.getType() == Account.Type.PROJECT) { User user = CallContext.current().getCallingUser(); Project project = projectDao.findByProjectAccountId(network.getAccountId()); if (project == null) { diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index ce2aaf4830d..c68bcbbc521 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -1864,9 +1864,9 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } if (skipProjectNetworks) { - sc.setJoinParameters("accountSearch", "typeNEQ", Account.ACCOUNT_TYPE_PROJECT); + sc.setJoinParameters("accountSearch", "typeNEQ", Account.Type.PROJECT); } else { - sc.setJoinParameters("accountSearch", "typeEQ", Account.ACCOUNT_TYPE_PROJECT); + sc.setJoinParameters("accountSearch", "typeEQ", Account.Type.PROJECT); } if (restartRequired != null) { @@ -4659,7 +4659,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C Long networkId = cmd.getNetworkId(); UserVmVO userVm = _userVmDao.findById(vmId); - if (userVm == null || (!userVm.isDisplayVm() && caller.getType() == Account.ACCOUNT_TYPE_NORMAL)) { + if (userVm == null || (!userVm.isDisplayVm() && caller.getType() == Account.Type.NORMAL)) { throwInvalidIdException("Virtual machine id does not exist", Long.valueOf(vmId).toString(), "vmId"); } @@ -4675,7 +4675,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C String keyword = cmd.getKeyword(); UserVmVO userVm = _userVmDao.findById(vmId); - if (userVm == null || (!userVm.isDisplayVm() && caller.getType() == Account.ACCOUNT_TYPE_NORMAL)) { + if (userVm == null || (!userVm.isDisplayVm() && caller.getType() == Account.Type.NORMAL)) { throwInvalidIdException("Virtual machine id does not exist", Long.valueOf(vmId).toString(), "vmId"); } @@ -4704,7 +4704,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C // verify permissions if (ipVO.getAllocatedToAccountId() != null) { _accountMgr.checkAccess(caller, null, true, ipVO); - } else if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + } else if (caller.getType() != Account.Type.ADMIN) { throw new PermissionDeniedException("Only Root admin can update non-allocated ip addresses"); } diff --git a/server/src/main/java/com/cloud/network/firewall/FirewallManagerImpl.java b/server/src/main/java/com/cloud/network/firewall/FirewallManagerImpl.java index 56814daeef2..a4dba0bae3a 100644 --- a/server/src/main/java/com/cloud/network/firewall/FirewallManagerImpl.java +++ b/server/src/main/java/com/cloud/network/firewall/FirewallManagerImpl.java @@ -802,7 +802,7 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService, throw new InvalidParameterValueException("Unable to find " + ruleId + " having purpose " + Purpose.Firewall); } - if (rule.getType() == FirewallRuleType.System && caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (rule.getType() == FirewallRuleType.System && caller.getType() != Account.Type.ADMIN) { throw new InvalidParameterValueException("Only root admin can update the system wide firewall rule"); } diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java index ba8fc611163..8aabcc0b405 100644 --- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java @@ -708,7 +708,7 @@ public class VpcManagerImpl extends ManagerBase implements VpcManager, VpcProvis // Remove offerings that are not associated with caller's domain // TODO: Better approach - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN && CollectionUtils.isNotEmpty(offerings)) { + if (caller.getType() != Account.Type.ADMIN && CollectionUtils.isNotEmpty(offerings)) { ListIterator it = offerings.listIterator(); while (it.hasNext()) { VpcOfferingJoinVO offering = it.next(); diff --git a/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java b/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java index 02d371aa981..ccb917a7a39 100644 --- a/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java +++ b/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java @@ -267,7 +267,7 @@ public class ProjectManagerImpl extends ManagerBase implements ProjectManager, C StringBuilder acctNm = new StringBuilder("PrjAcct-"); acctNm.append(name).append("-").append(ownerFinal.getDomainId()); - Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, null, domainId, null, null, UUID.randomUUID().toString()); + Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.Type.PROJECT, null, domainId, null, null, UUID.randomUUID().toString()); Project project = _projectDao.persist(new ProjectVO(name, displayText, ownerFinal.getDomainId(), projectAccount.getId())); diff --git a/server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java b/server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java index d2206d11c49..7245802617a 100644 --- a/server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java +++ b/server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java @@ -308,7 +308,7 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim } else { // If the account has an no limit set, then return global default account limits Long value = null; - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { value = projectResourceLimitMap.get(type); } else { value = accountResourceLimitMap.get(type); @@ -349,7 +349,7 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim } else { // If the account has an no limit set, then return global default account limits Long value = null; - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { value = projectResourceLimitMap.get(type); } else { value = accountResourceLimitMap.get(type); @@ -516,7 +516,7 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim return; } - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { project = _projectDao.findByProjectAccountId(account.getId()); } @@ -713,12 +713,12 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim throw new InvalidParameterValueException("Only " + Resource.RESOURCE_UNLIMITED + " limit is supported for Root Admin accounts"); } - if ((caller.getAccountId() == accountId.longValue()) && (_accountMgr.isDomainAdmin(caller.getId()) || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN)) { + if ((caller.getAccountId() == accountId.longValue()) && (_accountMgr.isDomainAdmin(caller.getId()) || caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN)) { // If the admin is trying to update their own account, disallow. throw new PermissionDeniedException("Unable to update resource limit for their own account " + accountId + ", permission denied"); } - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { _accountMgr.checkAccess(caller, AccessType.ModifyProject, true, account); } else { _accountMgr.checkAccess(caller, null, true, account); @@ -736,7 +736,7 @@ public class ResourceLimitManagerImpl extends ManagerBase implements ResourceLim throw new PermissionDeniedException("Cannot update resource limit for ROOT domain " + domainId + ", permission denied"); } - if ((caller.getDomainId() == domainId.longValue()) && caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if ((caller.getDomainId() == domainId.longValue()) && caller.getType() == Account.Type.DOMAIN_ADMIN || caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { // if the admin is trying to update their own domain, disallow... throw new PermissionDeniedException("Unable to update resource limit for domain " + domainId + ", permission denied"); } diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java b/server/src/main/java/com/cloud/server/ManagementServerImpl.java index c707b1cb575..b71bfc85fd6 100644 --- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java +++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java @@ -1069,7 +1069,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe boolean result = true; List permittedAccountIds = new ArrayList(); - if (_accountService.isNormalUser(caller.getId()) || caller.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (_accountService.isNormalUser(caller.getId()) || caller.getType() == Account.Type.PROJECT) { permittedAccountIds.add(caller.getId()); } else { final DomainVO domain = _domainDao.findById(caller.getDomainId()); @@ -1096,7 +1096,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe boolean result = true; List permittedAccountIds = new ArrayList(); - if (_accountMgr.isNormalUser(caller.getId()) || caller.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (_accountMgr.isNormalUser(caller.getId()) || caller.getType() == Account.Type.PROJECT) { permittedAccountIds.add(caller.getId()); } else { final DomainVO domain = _domainDao.findById(caller.getDomainId()); @@ -2173,7 +2173,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe List addrs = new ArrayList<>(); if (vlanType == VlanType.DirectAttached && networkId == null && ipId == null) { // only root admin can list public ips in all shared networks - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { isAllocated = true; } } else if (vlanType == VlanType.DirectAttached) { @@ -2203,13 +2203,13 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe if (networkMap == null) { return new Pair<>(addrs, 0); } - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL || caller.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (caller.getType() == Account.Type.NORMAL || caller.getType() == Account.Type.PROJECT) { if (_networkMgr.isNetworkAvailableInDomain(network.getId(), caller.getDomainId())) { isAllocated = Boolean.TRUE; } else { return new Pair<>(addrs, 0); } - } else if (caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN || caller.getType() == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + } else if (caller.getType() == Account.Type.DOMAIN_ADMIN || caller.getType() == Account.Type.RESOURCE_DOMAIN_ADMIN) { if (caller.getDomainId() == networkMap.getDomainId() || _domainDao.isChildDomain(caller.getDomainId(), networkMap.getDomainId())) { s_logger.debug("Caller " + caller.getUuid() + " has permission to access the network : " + network.getUuid()); } else { @@ -2229,7 +2229,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe Boolean isRecursive = null; final List permittedAccounts = new ArrayList<>(); ListProjectResourcesCriteria listProjectResourcesCriteria = null; - if (isAllocated || (vlanType == VlanType.VirtualNetwork && (caller.getType() != Account.ACCOUNT_TYPE_ADMIN || cmd.getDomainId() != null))) { + if (isAllocated || (vlanType == VlanType.VirtualNetwork && (caller.getType() != Account.Type.ADMIN || cmd.getDomainId() != null))) { final Ternary domainIdRecursiveListProject = new Ternary<>(cmd.getDomainId(), cmd.isRecursive(), null); _accountMgr.buildACLSearchParameters(caller, cmd.getId(), cmd.getAccountName(), cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, cmd.listAll(), false); @@ -2244,7 +2244,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe SearchCriteria sc = sb.create(); setParameters(sc, cmd, vlanType); - if (isAllocated || (vlanType == VlanType.VirtualNetwork && (caller.getType() != Account.ACCOUNT_TYPE_ADMIN || cmd.getDomainId() != null))) { + if (isAllocated || (vlanType == VlanType.VirtualNetwork && (caller.getType() != Account.Type.ADMIN || cmd.getDomainId() != null))) { _accountMgr.buildACLSearchCriteria(sc, domainId, isRecursive, permittedAccounts, listProjectResourcesCriteria); } @@ -4177,7 +4177,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe try { owner = _accountMgr.finalizeOwner(caller, accountName, domainId, projectId); } catch (InvalidParameterValueException ex) { - if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN && accountName != null && domainId != null) { + if (caller.getType() == Account.Type.ADMIN && accountName != null && domainId != null) { owner = _accountDao.findAccountIncludingRemoved(accountName, domainId); } if (owner == null) { @@ -4638,7 +4638,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe s_logger.error(msg); throw new CloudRuntimeException(msg); } - if (adminUser.getState() == Account.State.disabled) { + if (adminUser.getState() == Account.State.DISABLED) { // This means its a new account, set the password using the // authenticator @@ -4650,7 +4650,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } adminUser.setPassword(encodedPassword); - adminUser.setState(Account.State.enabled); + adminUser.setState(Account.State.ENABLED); _userDao.persist(adminUser); s_logger.info("Admin user enabled"); } diff --git a/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java b/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java index 2350be80be0..f0b295f4bb2 100644 --- a/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java +++ b/server/src/main/java/com/cloud/servlet/ConsoleProxyServlet.java @@ -635,7 +635,7 @@ public class ConsoleProxyServlet extends HttpServlet { accountObj.getId() + " and caller is a normal user"); } } else if (_accountMgr.isDomainAdmin(accountObj.getId()) - || accountObj.getType() == Account.ACCOUNT_TYPE_READ_ONLY_ADMIN) { + || accountObj.getType() == Account.Type.READ_ONLY_ADMIN) { if(s_logger.isDebugEnabled()) { s_logger.debug("VM access is denied. VM owner account " + vm.getAccountId() + " does not match the account id in session " + accountObj.getId() + " and the domain-admin caller does not manage the target domain"); @@ -674,8 +674,8 @@ public class ConsoleProxyServlet extends HttpServlet { account = _accountMgr.getAccount(user.getAccountId()); } - if ((user == null) || (user.getRemoved() != null) || !user.getState().equals(Account.State.enabled) || (account == null) || - !account.getState().equals(Account.State.enabled)) { + if ((user == null) || (user.getRemoved() != null) || !user.getState().equals(Account.State.ENABLED) || (account == null) || + !account.getState().equals(Account.State.ENABLED)) { s_logger.warn("Deleted/Disabled/Locked user with id=" + userId + " attempting to access public API"); return false; } @@ -741,7 +741,7 @@ public class ConsoleProxyServlet extends HttpServlet { user = userAcctPair.first(); Account account = userAcctPair.second(); - if (!user.getState().equals(Account.State.enabled) || !account.getState().equals(Account.State.enabled)) { + if (!user.getState().equals(Account.State.ENABLED) || !account.getState().equals(Account.State.ENABLED)) { s_logger.debug("disabled or locked user accessing the api, userid = " + user.getId() + "; name = " + user.getUsername() + "; state: " + user.getState() + "; accountState: " + account.getState()); return false; diff --git a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java index e3d030ac7d0..cffb4a7c638 100755 --- a/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/snapshot/SnapshotManagerImpl.java @@ -908,7 +908,7 @@ public class SnapshotManagerImpl extends MutualExclusiveIdsManagerBase implement long domainLimit = _resourceLimitMgr.findCorrectResourceLimitForDomain(_domainMgr.getDomain(owner.getDomainId()), ResourceType.snapshot); if (!_accountMgr.isRootAdmin(owner.getId()) && ((accountLimit != -1 && maxSnaps > accountLimit) || (domainLimit != -1 && maxSnaps > domainLimit))) { String message = "domain/account"; - if (owner.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (owner.getType() == Account.Type.PROJECT) { message = "domain/project"; } diff --git a/server/src/main/java/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java b/server/src/main/java/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java index bccf8c68b23..af4c16154dd 100644 --- a/server/src/main/java/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java +++ b/server/src/main/java/com/cloud/storage/snapshot/SnapshotSchedulerImpl.java @@ -281,7 +281,7 @@ public class SnapshotSchedulerImpl extends ManagerBase implements SnapshotSchedu continue; } Account volAcct = _acctDao.findById(volume.getAccountId()); - if (volAcct == null || volAcct.getState() == Account.State.disabled) { + if (volAcct == null || volAcct.getState() == Account.State.DISABLED) { // this account has been removed, so don't trigger recurring snapshot if (s_logger.isDebugEnabled()) { s_logger.debug("Skip snapshot for volume " + volume.getUuid() + " since its account has been removed or disabled"); diff --git a/server/src/main/java/com/cloud/template/TemplateAdapterBase.java b/server/src/main/java/com/cloud/template/TemplateAdapterBase.java index 290a895adc0..a9cd9478c58 100644 --- a/server/src/main/java/com/cloud/template/TemplateAdapterBase.java +++ b/server/src/main/java/com/cloud/template/TemplateAdapterBase.java @@ -437,7 +437,7 @@ public abstract class TemplateAdapterBase extends AdapterBase implements Templat (!template.isPublicTemplate() && (account.getId() != template.getAccountId()) && (template.getTemplateType() != TemplateType.PERHOST))) { //special handling for the project case Account owner = _accountMgr.getAccount(template.getAccountId()); - if (owner.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (owner.getType() == Account.Type.PROJECT) { if (!_projectMgr.canAccessProjectAccount(account, owner.getId())) { throw new PermissionDeniedException(msg + ". Permission denied. The caller can't access project's template"); } diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index bf486d1d375..527be5d8cd0 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -1482,7 +1482,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, throw new InvalidParameterValueException("Update template permissions is an invalid operation on template " + template.getName()); } - if (owner.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (owner.getType() == Account.Type.PROJECT) { // Currently project owned templates cannot be shared outside project but is available to all users within project by default. throw new InvalidParameterValueException("Update template permissions is an invalid operation on template " + template.getName() + ". Project owned templates cannot be shared outside template."); diff --git a/server/src/main/java/com/cloud/user/AccountManager.java b/server/src/main/java/com/cloud/user/AccountManager.java index 57012e13334..a4913feba81 100644 --- a/server/src/main/java/com/cloud/user/AccountManager.java +++ b/server/src/main/java/com/cloud/user/AccountManager.java @@ -52,7 +52,7 @@ public interface AccountManager extends AccountService, Configurable { Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId); - Account createAccount(String accountName, short accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid); + Account createAccount(String accountName, Account.Type accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid); /** * Logs out a user diff --git a/server/src/main/java/com/cloud/user/AccountManagerImpl.java b/server/src/main/java/com/cloud/user/AccountManagerImpl.java index bd51cd419e5..9f760e655e5 100644 --- a/server/src/main/java/com/cloud/user/AccountManagerImpl.java +++ b/server/src/main/java/com/cloud/user/AccountManagerImpl.java @@ -453,7 +453,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } if ((isRootAdmin(accountId)) || (isDomainAdmin(accountId)) || (isResourceDomainAdmin(accountId))) { return true; - } else if (acct.getType() == Account.ACCOUNT_TYPE_READ_ONLY_ADMIN) { + } else if (acct.getType() == Account.Type.READ_ONLY_ADMIN) { return true; } @@ -510,7 +510,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M @Override public boolean isNormalUser(long accountId) { AccountVO acct = _accountDao.findById(accountId); - if (acct != null && acct.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (acct != null && acct.getType() == Account.Type.NORMAL) { return true; } return false; @@ -543,7 +543,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M if (account == null) { return false; //account is deleted or does not exist } - if (isRootAdmin(accountId) || (account.getType() == Account.ACCOUNT_ID_SYSTEM)) { + if (isRootAdmin(accountId) || (account.getType() == Account.Type.ADMIN)) { return true; } return false; @@ -686,7 +686,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M user = _userAccountDao.lockRow(id, true); user.setLoginAttempts(attempts); if (toDisable) { - user.setState(State.disabled.toString()); + user.setState(State.DISABLED.toString()); } _userAccountDao.update(id, user); } @@ -706,7 +706,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M public boolean enableAccount(long accountId) { boolean success = false; AccountVO acctForUpdate = _accountDao.createForUpdate(); - acctForUpdate.setState(State.enabled); + acctForUpdate.setState(State.ENABLED); acctForUpdate.setNeedsCleanup(false); success = _accountDao.update(Long.valueOf(accountId), acctForUpdate); return success; @@ -716,11 +716,11 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M boolean success = false; Account account = _accountDao.findById(accountId); if (account != null) { - if (account.getState().equals(State.locked)) { + if (account.getState().equals(State.LOCKED)) { return true; // already locked, no-op - } else if (account.getState().equals(State.enabled)) { + } else if (account.getState().equals(State.ENABLED)) { AccountVO acctForUpdate = _accountDao.createForUpdate(); - acctForUpdate.setState(State.locked); + acctForUpdate.setState(State.LOCKED); success = _accountDao.update(Long.valueOf(accountId), acctForUpdate); } else { if (s_logger.isInfoEnabled()) { @@ -773,7 +773,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M // delete the account from project accounts _projectAccountDao.removeAccountFromProjects(accountId); - if (account.getType() != Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() != Account.Type.PROJECT) { // delete the account from group _messageBus.publish(_name, MESSAGE_REMOVE_ACCOUNT_EVENT, PublishScope.LOCAL, accountId); } @@ -1024,11 +1024,11 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } AccountVO account = _accountDao.findById(accountId); - if ((account == null) || (account.getState().equals(State.disabled) && !account.getNeedsCleanup())) { + if ((account == null) || (account.getState().equals(State.DISABLED) && !account.getNeedsCleanup())) { success = true; } else { AccountVO acctForUpdate = _accountDao.createForUpdate(); - acctForUpdate.setState(State.disabled); + acctForUpdate.setState(State.DISABLED); success = _accountDao.update(Long.valueOf(accountId), acctForUpdate); if (success) { @@ -1081,7 +1081,6 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M accountCmd.getUserUUID(), User.Source.UNKNOWN); } - // /////////////////////////////////////////////////// // ////////////// API commands ///////////////////// // /////////////////////////////////////////////////// @@ -1092,10 +1091,9 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M @ActionEvent(eventType = EventTypes.EVENT_USER_CREATE, eventDescription = "creating User")}) public UserAccount createUserAccount(final String userName, final String password, final String firstName, final String lastName, final String email, final String timezone, - String accountName, final short accountType, final Long roleId, Long domainId, + String accountName, final Account.Type accountType, final Long roleId, Long domainId, final String networkDomain, final Map details, - String accountUUID, final String userUUID, - final User.Source source) { + String accountUUID, final String userUUID, final User.Source source) { if (accountName == null) { accountName = userName; @@ -1156,7 +1154,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M // create the first user for the account UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone, userUUID, source); - if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if (accountType == Account.Type.RESOURCE_DOMAIN_ADMIN) { // set registration token byte[] bytes = (domainIdFinal + accountNameFinal + userName + System.currentTimeMillis()).getBytes(); String registrationToken = UUID.nameUUIDFromBytes(bytes).toString(); @@ -1171,9 +1169,9 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M Account account = pair.second(); // create correct account and group association based on accountType - if (accountType != Account.ACCOUNT_TYPE_PROJECT) { + if (accountType != Account.Type.PROJECT) { Map accountGroupMap = new HashMap(); - accountGroupMap.put(account.getId(), new Long(accountType + 1)); + accountGroupMap.put(account.getId(), (long) (accountType.ordinal() + 1)); _messageBus.publish(_name, MESSAGE_ADD_ACCOUNT_EVENT, PublishScope.LOCAL, accountGroupMap); } @@ -1270,7 +1268,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M checkAccess(getCurrentCallingAccount(), domain); Account account = _accountDao.findEnabledAccount(accountName, domainId); - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find account " + accountName + " in domain id=" + domainId + " to create user"); } @@ -1452,8 +1450,8 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M * Searches an account for the given users. Then, we validate it as follows: *
    *
  • If no account is found for the given user, we throw a {@link CloudRuntimeException}. There must be something wrong in the database for this case. - *
  • If the account is of {@link Account#ACCOUNT_TYPE_PROJECT}, we throw an {@link InvalidParameterValueException}. - *
  • If the account is of {@link Account#ACCOUNT_ID_SYSTEM}, we throw an {@link InvalidParameterValueException}. + *
  • If the account is of {@link Account.Type#PROJECT}, we throw an {@link InvalidParameterValueException}. + *
  • If the account is of {@link Account#ACCOUNT_ID_SYSTEM}, we throw an {@link PermissionDeniedException}. *
* * Afterwards, we check if the logged user has access to the user being updated via {@link #checkAccess(Account, AccessType, boolean, ControlledEntity...)} @@ -1463,7 +1461,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M if (account == null) { throw new CloudRuntimeException("Unable to find user account with ID: " + user.getAccountId()); } - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find user with ID: " + user.getUuid()); } if (account.getId() == Account.ACCOUNT_ID_SYSTEM) { @@ -1541,7 +1539,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } // don't allow disabling user belonging to project's account - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find active user by id " + userId); } @@ -1552,7 +1550,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M checkAccess(caller, AccessType.OperateEntry, true, account); - boolean success = doSetUserStatus(userId, State.disabled); + boolean success = doSetUserStatus(userId, State.DISABLED); if (success) { CallContext.current().putContextParameter(User.class, user.getUuid()); @@ -1582,7 +1580,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M throw new InvalidParameterValueException("unable to find user account " + user.getAccountId()); } - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find active user by id " + userId); } @@ -1596,7 +1594,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M boolean success = Transaction.execute(new TransactionCallback() { @Override public Boolean doInTransaction(TransactionStatus status) { - boolean success = doSetUserStatus(userId, State.enabled); + boolean success = doSetUserStatus(userId, State.ENABLED); // make sure the account is enabled too success = success && enableAccount(user.getAccountId()); @@ -1634,7 +1632,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } // don't allow to lock user of the account of type Project - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find user by id"); } @@ -1649,16 +1647,16 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M // if the user is either locked already or disabled already, don't change state...only lock currently enabled // users boolean success = true; - if (user.getState().equals(State.locked)) { + if (user.getState().equals(State.LOCKED)) { // already locked...no-op return _userAccountDao.findById(userId); - } else if (user.getState().equals(State.enabled)) { - success = doSetUserStatus(user.getId(), State.locked); + } else if (user.getState().equals(State.ENABLED)) { + success = doSetUserStatus(user.getId(), State.LOCKED); boolean lockAccount = true; List allUsersByAccount = _userDao.listByAccount(user.getAccountId()); for (UserVO oneUser : allUsersByAccount) { - if (oneUser.getState().equals(State.enabled)) { + if (oneUser.getState().equals(State.ENABLED)) { lockAccount = false; break; } @@ -1703,7 +1701,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } // don't allow removing Project account - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("The specified account does not exist in the system"); } @@ -1742,7 +1740,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M account = _accountDao.findActiveAccount(accountName, domainId); } - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId); } @@ -1777,7 +1775,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M account = _accountDao.findActiveAccount(accountName, domainId); } - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find active account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId); } @@ -1807,7 +1805,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M account = _accountDao.findActiveAccount(accountName, domainId); } - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId); } @@ -1848,7 +1846,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M final AccountVO acctForUpdate = _accountDao.findById(account.getId()); // Check if account exists - if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account == null || account.getType() == Account.Type.PROJECT) { s_logger.error("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId); throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId); } @@ -2016,7 +2014,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M private void checkAccountAndAccess(UserVO user, Account account) { // don't allow to delete the user from the account of type Project - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { throw new InvalidParameterValueException("Project users cannot be deleted or moved."); } @@ -2240,8 +2238,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M @Override @DB - public AccountVO createAccount(final String accountName, final short accountType, final Long roleId, final Long domainId, final String networkDomain, final Map details, - final String uuid) { + public AccountVO createAccount(final String accountName, final Account.Type accountType, final Long roleId, final Long domainId, final String networkDomain, final Map details, final String uuid) { // Validate domain Domain domain = _domainMgr.getDomain(domainId); if (domain == null) { @@ -2252,7 +2249,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M throw new CloudRuntimeException("The account cannot be created as domain " + domain.getName() + " is being deleted"); } - if ((domainId != Domain.ROOT_DOMAIN) && (accountType == Account.ACCOUNT_TYPE_ADMIN)) { + if ((domainId != Domain.ROOT_DOMAIN) && (accountType == Account.Type.ADMIN)) { throw new InvalidParameterValueException( "Invalid account type " + accountType + " given for an account in domain " + domainId + "; unable to create user of admin role type in non-ROOT domain."); } @@ -2270,12 +2267,8 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } } - // Verify account type - if ((accountType < Account.ACCOUNT_TYPE_NORMAL) || (accountType > Account.ACCOUNT_TYPE_PROJECT)) { - throw new InvalidParameterValueException("Invalid account type " + accountType + " given; unable to create user"); - } - if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) { + if (accountType == Account.Type.RESOURCE_DOMAIN_ADMIN) { List dc = _dcDao.findZonesByDomainId(domainId); if (dc.isEmpty()) { throw new InvalidParameterValueException("The account cannot be created as domain " + domain.getName() + " is not associated with any private Zone"); @@ -2522,7 +2515,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } userAccount = _userAccountDao.getUserAccount(username, domainId); - if (!userAccount.getState().equalsIgnoreCase(Account.State.enabled.toString()) || !userAccount.getAccountState().equalsIgnoreCase(Account.State.enabled.toString())) { + if (!userAccount.getState().equalsIgnoreCase(Account.State.ENABLED.toString()) || !userAccount.getAccountState().equalsIgnoreCase(Account.State.ENABLED.toString())) { if (s_logger.isInfoEnabled()) { s_logger.info("User " + username + " in domain " + domainName + " is disabled/locked (or account is disabled/locked)"); } @@ -2544,7 +2537,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M return null; } - if (userAccount.getState().equalsIgnoreCase(Account.State.enabled.toString())) { + if (userAccount.getState().equalsIgnoreCase(Account.State.ENABLED.toString())) { if (!isInternalAccount(userAccount.getId())) { // Internal accounts are not disabled int attemptsMade = userAccount.getLoginAttempts() + 1; @@ -2758,7 +2751,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M ListProjectResourcesCriteria listProjectResourcesCriteria) { if (listProjectResourcesCriteria != null) { - sc.setJoinParameters("accountSearch", "type", Account.ACCOUNT_TYPE_PROJECT); + sc.setJoinParameters("accountSearch", "type", Account.Type.PROJECT); } if (!permittedAccounts.isEmpty()) { @@ -2815,7 +2808,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M if (projectId != null) { if (!forProjectInvitation) { if (projectId == -1L) { - if (caller.getType() == Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() == Account.Type.ADMIN) { domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.ListProjectResourcesOnly); if (listAll) { domainIdRecursiveListProject.third(ListProjectResourcesCriteria.ListAllIncludingProjectResources); @@ -2843,23 +2836,23 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M domainIdRecursiveListProject.third(Project.ListProjectResourcesCriteria.SkipProjectResources); } if (permittedAccounts.isEmpty() && domainId == null) { - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { permittedAccounts.add(caller.getId()); } else if (!listAll) { if (id == null) { permittedAccounts.add(caller.getId()); - } else if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + } else if (caller.getType() != Account.Type.ADMIN) { domainIdRecursiveListProject.first(caller.getDomainId()); domainIdRecursiveListProject.second(true); } } else if (domainId == null) { - if (caller.getType() == Account.ACCOUNT_TYPE_DOMAIN_ADMIN) { + if (caller.getType() == Account.Type.DOMAIN_ADMIN) { domainIdRecursiveListProject.first(caller.getDomainId()); domainIdRecursiveListProject.second(true); } } } else if (domainId != null) { - if (caller.getType() == Account.ACCOUNT_TYPE_NORMAL) { + if (caller.getType() == Account.Type.NORMAL) { permittedAccounts.add(caller.getId()); } } @@ -2895,7 +2888,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M public void buildACLViewSearchCriteria(SearchCriteria sc, Long domainId, boolean isRecursive, List permittedAccounts, ListProjectResourcesCriteria listProjectResourcesCriteria) { if (listProjectResourcesCriteria != null) { - sc.setParameters("accountType", Account.ACCOUNT_TYPE_PROJECT); + sc.setParameters("accountType", Account.Type.PROJECT); } if (!permittedAccounts.isEmpty()) { @@ -2939,8 +2932,8 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M } final Account account = getActiveAccountByName(accountName, domainId); - if (account != null && account.getType() != Account.ACCOUNT_TYPE_PROJECT) { - if (!enabledOnly || account.getState() == Account.State.enabled) { + if (account != null && account.getType() != Account.Type.PROJECT) { + if (!enabledOnly || account.getState() == Account.State.ENABLED) { return account.getId(); } else { throw new PermissionDeniedException("Can't add resources to the account id=" + account.getId() + " in state=" + account.getState() + " as it's no longer active"); diff --git a/server/src/main/java/com/cloud/user/DomainManagerImpl.java b/server/src/main/java/com/cloud/user/DomainManagerImpl.java index 7effbf95b88..f7aa1078aa3 100644 --- a/server/src/main/java/com/cloud/user/DomainManagerImpl.java +++ b/server/src/main/java/com/cloud/user/DomainManagerImpl.java @@ -547,7 +547,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom sc.addAnd("domainId", SearchCriteria.Op.EQ, domainId); List accounts = _accountDao.search(sc, null); for (AccountVO account : accounts) { - if (account.getType() != Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() != Account.Type.PROJECT) { s_logger.debug("Deleting account " + account + " as a part of domain id=" + domainId + " cleanup"); boolean deleteAccount = _accountMgr.deleteAccount(account, CallContext.current().getCallingUserId(), getCaller()); if (!deleteAccount) { diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index addbb47483b..cb43b23621f 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -2711,7 +2711,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir .map(item -> (item).trim()) .collect(Collectors.toList()); if (cleanupDetails){ - if (caller != null && caller.getType() == Account.ACCOUNT_TYPE_ADMIN) { + if (caller != null && caller.getType() == Account.Type.ADMIN) { userVmDetailsDao.removeDetails(id); } else { for (final UserVmDetailVO detail : userVmDetailsDao.listDetails(id)) { @@ -2727,7 +2727,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir throw new InvalidParameterValueException("'extraconfig' should not be included in details as key"); } - if (caller != null && caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller != null && caller.getType() != Account.Type.ADMIN) { // Ensure denied or read-only detail is not passed by non-root-admin user for (final String detailName : details.keySet()) { if (userDenyListedSettings.contains(detailName)) { @@ -3761,7 +3761,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir _accountMgr.checkAccess(caller, null, true, owner); - if (owner.getState() == Account.State.disabled) { + if (owner.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of vm to deploy is disabled: " + owner); } VMTemplateVO template = _templateDao.findById(tmplt.getId()); @@ -3991,7 +3991,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } //relax the check if the caller is admin account - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { if (!(network.getGuestType() == Network.GuestType.Shared && network.getAclType() == ACLType.Domain) && !(network.getAclType() == ACLType.Account && network.getAccountId() == accountId)) { throw new InvalidParameterValueException("only shared network or isolated network with the same account_id can be added to vm"); @@ -5157,7 +5157,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir throw new InvalidParameterValueException("The owner of " + vm + " does not exist: " + vm.getAccountId()); } - if (owner.getState() == Account.State.disabled) { + if (owner.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of " + vm + " is disabled: " + vm.getAccountId()); } if (VirtualMachineManager.ResourceCountRunningVMsonly.value()) { @@ -6813,7 +6813,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir throw new InvalidParameterValueException("Invalid accountid=" + cmd.getAccountName() + " in domain " + cmd.getDomainId()); } - if (newAccount.getState() == Account.State.disabled) { + if (newAccount.getState() == Account.State.DISABLED) { throw new InvalidParameterValueException("The new account owner " + cmd.getAccountName() + " is disabled."); } @@ -7384,7 +7384,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir throw new InvalidParameterValueException("The owner of " + vm + " does not exist: " + vm.getAccountId()); } - if (owner.getState() == Account.State.disabled) { + if (owner.getState() == Account.State.DISABLED) { throw new PermissionDeniedException("The owner of " + vm + " is disabled: " + vm.getAccountId()); } diff --git a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java index e52ab6c94cb..e34165326d0 100644 --- a/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java @@ -926,7 +926,7 @@ public class BackupManagerImpl extends ManagerBase implements BackupManager { } final Account backupAccount = accountService.getAccount(vm.getAccountId()); - if (backupAccount == null || backupAccount.getState() == Account.State.disabled) { + if (backupAccount == null || backupAccount.getState() == Account.State.DISABLED) { LOG.debug(String.format("Skip backup for VM [uuid: %s, name: %s] since its account has been removed or disabled.", vm.getUuid(), vm.getInstanceName())); continue; } diff --git a/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java b/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java index e477239f6e6..2e1e5946319 100644 --- a/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java +++ b/server/src/main/java/org/apache/cloudstack/network/ssl/CertServiceImpl.java @@ -304,7 +304,7 @@ public class CertServiceImpl implements CertService { final SslCertResponse response = new SslCertResponse(); final Account account = _accountDao.findByIdIncludingRemoved(cert.getAccountId()); - if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) { + if (account.getType() == Account.Type.PROJECT) { // find the project final Project project = _projectMgr.findByProjectAccountIdIncludingRemoved(account.getId()); if (project != null) diff --git a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java index dbdd81a39ae..1c9370865be 100644 --- a/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImpl.java @@ -1036,7 +1036,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { @Override public ListResponse listUnmanagedInstances(ListUnmanagedInstancesCmd cmd) { final Account caller = CallContext.current().getCallingAccount(); - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { throw new PermissionDeniedException(String.format("Cannot perform this operation, Calling account is not root admin: %s", caller.getUuid())); } final Long clusterId = cmd.getClusterId(); @@ -1092,7 +1092,7 @@ public class UnmanagedVMsManagerImpl implements UnmanagedVMsManager { @Override public UserVmResponse importUnmanagedInstance(ImportUnmanagedInstanceCmd cmd) { final Account caller = CallContext.current().getCallingAccount(); - if (caller.getType() != Account.ACCOUNT_TYPE_ADMIN) { + if (caller.getType() != Account.Type.ADMIN) { throw new PermissionDeniedException(String.format("Cannot perform this operation, Calling account is not root admin: %s", caller.getUuid())); } final Long clusterId = cmd.getClusterId(); diff --git a/server/src/test/java/com/cloud/api/dispatch/CommandCreationWorkerTest.java b/server/src/test/java/com/cloud/api/dispatch/CommandCreationWorkerTest.java index baa5d06f1e9..90b9bdf30c3 100644 --- a/server/src/test/java/com/cloud/api/dispatch/CommandCreationWorkerTest.java +++ b/server/src/test/java/com/cloud/api/dispatch/CommandCreationWorkerTest.java @@ -42,7 +42,7 @@ public class CommandCreationWorkerTest { // Prepare final BaseAsyncCreateCmd asyncCreateCmd = mock(BaseAsyncCreateCmd.class); final Map params = new HashMap(); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short) 0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); diff --git a/server/src/test/java/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java b/server/src/test/java/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java index 09f86468f6e..822a2ca6dc6 100644 --- a/server/src/test/java/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java +++ b/server/src/test/java/com/cloud/api/dispatch/ParamGenericValidationWorkerTest.java @@ -105,7 +105,7 @@ public class ParamGenericValidationWorkerTest { params.put("_", ""); params.put("addedParam", ""); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short) 0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); // Execute @@ -129,7 +129,7 @@ public class ParamGenericValidationWorkerTest { params.put("addedParam", ""); params.put(unknownParamKey, ""); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short) 0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); @@ -147,7 +147,7 @@ public class ParamGenericValidationWorkerTest { @Test public void testHandleWithoutAuthorization() throws ResourceAllocationException { - final short type = Account.ACCOUNT_TYPE_NORMAL; + final Account.Type type = Account.Type.NORMAL; driveAuthTest(type); @@ -158,14 +158,14 @@ public class ParamGenericValidationWorkerTest { @Test public void testHandleWithAuthorization() throws ResourceAllocationException { - final short type = Account.ACCOUNT_TYPE_ADMIN; + final Account.Type type = Account.Type.ADMIN; driveAuthTest(type); // Assert assertEquals("There should be no errors since parameters have authorization", null, loggerOutput); } - protected void driveAuthTest(final short type) { + protected void driveAuthTest(final Account.Type type) { // Prepare final BaseCmd cmd = new FakeCmdWithRoleAdmin(); diff --git a/server/src/test/java/com/cloud/api/query/dao/TemplateJoinDaoImplTest.java b/server/src/test/java/com/cloud/api/query/dao/TemplateJoinDaoImplTest.java index fc4a86f8582..8e1b48d57a8 100755 --- a/server/src/test/java/com/cloud/api/query/dao/TemplateJoinDaoImplTest.java +++ b/server/src/test/java/com/cloud/api/query/dao/TemplateJoinDaoImplTest.java @@ -58,7 +58,7 @@ public class TemplateJoinDaoImplTest extends GenericDaoBaseWithTagInformationBas private boolean bootable = true; private Hypervisor.HypervisorType hypervisorType = Hypervisor.HypervisorType.XenServer; private boolean dynamicallyScalable = true; - private short accountType = Account.ACCOUNT_TYPE_NORMAL; + private Account.Type accountType = Account.Type.NORMAL; private String accountName = "system"; private String domainUuid = "abcde1234567890"; private String domainName = "ROOT"; diff --git a/server/src/test/java/com/cloud/configuration/ConfigurationManagerTest.java b/server/src/test/java/com/cloud/configuration/ConfigurationManagerTest.java index f8155f17758..528cd353305 100644 --- a/server/src/test/java/com/cloud/configuration/ConfigurationManagerTest.java +++ b/server/src/test/java/com/cloud/configuration/ConfigurationManagerTest.java @@ -182,7 +182,7 @@ public class ConfigurationManagerTest { public void setup() throws Exception { MockitoAnnotations.initMocks(this); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(configurationMgr._accountMgr.getAccount(anyLong())).thenReturn(account); when(configurationMgr._accountDao.findActiveAccount(anyString(), anyLong())).thenReturn(account); when(configurationMgr._accountMgr.getActiveAccountById(anyLong())).thenReturn(account); diff --git a/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java b/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java index 17d3909e6c8..622810f343e 100644 --- a/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java +++ b/server/src/test/java/com/cloud/event/ActionEventUtilsTest.java @@ -25,6 +25,7 @@ import java.util.UUID; import javax.inject.Inject; +import com.cloud.user.Account; import org.apache.cloudstack.framework.events.Event; import org.apache.cloudstack.context.CallContext; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -192,7 +193,7 @@ public class ActionEventUtilsTest { @Test public void testPopulateFirstClassEntities() { - AccountVO account = new AccountVO("testaccount", 1L, "networkdomain", (short) 0, "uuid"); + AccountVO account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); account.setId(ACCOUNT_ID); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); diff --git a/server/src/test/java/com/cloud/network/CreatePrivateNetworkTest.java b/server/src/test/java/com/cloud/network/CreatePrivateNetworkTest.java index 04e3e634f09..cfc0e0615fe 100644 --- a/server/src/test/java/com/cloud/network/CreatePrivateNetworkTest.java +++ b/server/src/test/java/com/cloud/network/CreatePrivateNetworkTest.java @@ -98,7 +98,7 @@ public class CreatePrivateNetworkTest { networkService._networkMgr = _networkMgr; networkService._privateIpDao = _privateIpDao; - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(networkService._accountMgr.getAccount(anyLong())).thenReturn(account); NetworkOfferingVO ntwkOff = diff --git a/server/src/test/java/com/cloud/network/DedicateGuestVlanRangesTest.java b/server/src/test/java/com/cloud/network/DedicateGuestVlanRangesTest.java index 0531d0562a6..f2688e7ac1e 100644 --- a/server/src/test/java/com/cloud/network/DedicateGuestVlanRangesTest.java +++ b/server/src/test/java/com/cloud/network/DedicateGuestVlanRangesTest.java @@ -97,7 +97,7 @@ public class DedicateGuestVlanRangesTest { networkService._datacneterVnet = _dataCenterVnetDao; networkService._accountGuestVlanMapDao = _accountGuestVlanMapDao; - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(networkService._accountMgr.getAccount(anyLong())).thenReturn(account); when(networkService._accountDao.findActiveAccount(anyString(), anyLong())).thenReturn(account); diff --git a/server/src/test/java/com/cloud/network/IpAddressManagerTest.java b/server/src/test/java/com/cloud/network/IpAddressManagerTest.java index 3cf550ae882..12e2e57eb8c 100644 --- a/server/src/test/java/com/cloud/network/IpAddressManagerTest.java +++ b/server/src/test/java/com/cloud/network/IpAddressManagerTest.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import com.cloud.user.Account; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -81,7 +82,7 @@ public class IpAddressManagerTest { ipAddressVO = new IPAddressVO(new Ip("192.0.0.1"), 1L, 1L, 1L,false); ipAddressVO.setAllocatedToAccountId(1L); - account = new AccountVO("admin", 1L, null, (short) 1, 1L, "c65a73d5-ebbd-11e7-8f45-107b44277808"); + account = new AccountVO("admin", 1L, null, Account.Type.ADMIN, 1L, "c65a73d5-ebbd-11e7-8f45-107b44277808"); account.setId(1L); NetworkOfferingVO networkOfferingVO = Mockito.mock(NetworkOfferingVO.class); diff --git a/server/src/test/java/com/cloud/network/lb/AssignLoadBalancerTest.java b/server/src/test/java/com/cloud/network/lb/AssignLoadBalancerTest.java index 5df40fff2d0..c9323b164d6 100644 --- a/server/src/test/java/com/cloud/network/lb/AssignLoadBalancerTest.java +++ b/server/src/test/java/com/cloud/network/lb/AssignLoadBalancerTest.java @@ -135,7 +135,7 @@ public class AssignLoadBalancerTest { }; // ComponentContext.initComponentsLifeCycle(); - AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.Type.NORMAL, "uuid"); DomainVO domain = new DomainVO("rootDomain", 5L, 5L, "networkDomain"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); diff --git a/server/src/test/java/com/cloud/network/lb/UpdateLoadBalancerTest.java b/server/src/test/java/com/cloud/network/lb/UpdateLoadBalancerTest.java index 8aef1b97c2e..d0550ebffb7 100644 --- a/server/src/test/java/com/cloud/network/lb/UpdateLoadBalancerTest.java +++ b/server/src/test/java/com/cloud/network/lb/UpdateLoadBalancerTest.java @@ -85,7 +85,7 @@ public class UpdateLoadBalancerTest { updateLbRuleCmd = new UpdateLoadBalancerRuleCmd(); - AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO(accountName, domainId, "networkDomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); } diff --git a/server/src/test/java/com/cloud/storage/VolumeApiServiceImplTest.java b/server/src/test/java/com/cloud/storage/VolumeApiServiceImplTest.java index dac091fbbb3..7c741832de7 100644 --- a/server/src/test/java/com/cloud/storage/VolumeApiServiceImplTest.java +++ b/server/src/test/java/com/cloud/storage/VolumeApiServiceImplTest.java @@ -201,7 +201,7 @@ public class VolumeApiServiceImplTest { volumeApiServiceImpl._gson = GsonHelper.getGsonLogger(); // mock caller context - AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); // mock async context diff --git a/server/src/test/java/com/cloud/storage/snapshot/SnapshotManagerTest.java b/server/src/test/java/com/cloud/storage/snapshot/SnapshotManagerTest.java index 37b4488376b..cb0ed928b61 100755 --- a/server/src/test/java/com/cloud/storage/snapshot/SnapshotManagerTest.java +++ b/server/src/test/java/com/cloud/storage/snapshot/SnapshotManagerTest.java @@ -226,7 +226,7 @@ public class SnapshotManagerTest { doNothing().when(_snapshotMgr._resourceLimitMgr).incrementResourceCount(anyLong(), any(ResourceType.class)); doNothing().when(_snapshotMgr._resourceLimitMgr).incrementResourceCount(anyLong(), any(ResourceType.class), anyLong()); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); when(_accountMgr.getAccount(anyLong())).thenReturn(account); diff --git a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java index e6171bb468a..b6883373490 100755 --- a/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java +++ b/server/src/test/java/com/cloud/template/TemplateManagerImplTest.java @@ -212,7 +212,7 @@ public class TemplateManagerImplTest { @Before public void setUp() { ComponentContext.initComponentsLifeCycle(); - AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "networkDomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); } diff --git a/server/src/test/java/com/cloud/user/AccountManagerImplTest.java b/server/src/test/java/com/cloud/user/AccountManagerImplTest.java index e37507b98e4..0458c8c79a1 100644 --- a/server/src/test/java/com/cloud/user/AccountManagerImplTest.java +++ b/server/src/test/java/com/cloud/user/AccountManagerImplTest.java @@ -109,7 +109,7 @@ public class AccountManagerImplTest extends AccountManagetImplTestBase { @Test public void disableAccountDisabled() throws ConcurrentOperationException, ResourceUnavailableException { AccountVO disabledAccount = new AccountVO(); - disabledAccount.setState(State.disabled); + disabledAccount.setState(State.DISABLED); Mockito.when(_accountDao.findById(42l)).thenReturn(disabledAccount); Assert.assertTrue(accountManagerImpl.disableAccount(42)); } @@ -117,7 +117,7 @@ public class AccountManagerImplTest extends AccountManagetImplTestBase { @Test public void disableAccount() throws ConcurrentOperationException, ResourceUnavailableException { AccountVO account = new AccountVO(); - account.setState(State.enabled); + account.setState(State.ENABLED); Mockito.when(_accountDao.findById(42l)).thenReturn(account); Mockito.when(_accountDao.createForUpdate()).thenReturn(new AccountVO()); Mockito.when(_accountDao.update(Mockito.eq(42l), Mockito.any(AccountVO.class))).thenReturn(true); @@ -178,7 +178,7 @@ public class AccountManagerImplTest extends AccountManagetImplTestBase { UserAccountVO userAccountVO = new UserAccountVO(); userAccountVO.setSource(User.Source.UNKNOWN); - userAccountVO.setState(Account.State.disabled.toString()); + userAccountVO.setState(Account.State.DISABLED.toString()); Mockito.when(userAccountDaoMock.getUserAccount("test", 1L)).thenReturn(userAccountVO); Mockito.when(userAuthenticator.authenticate("test", "fail", 1L, null)).thenReturn(failureAuthenticationPair); Mockito.lenient().when(userAuthenticator.authenticate("test", null, 1L, null)).thenReturn(successAuthenticationPair); @@ -356,7 +356,7 @@ public class AccountManagerImplTest extends AccountManagetImplTestBase { @Test public void retrieveAndValidateAccountTestAccountTypeEqualsProjectType() { Mockito.doReturn(accountMockId).when(userVoMock).getAccountId(); - Mockito.lenient().doReturn(Account.ACCOUNT_TYPE_PROJECT).when(accountMock).getType(); + Mockito.lenient().doReturn(Account.Type.PROJECT).when(accountMock).getType(); Mockito.doReturn(callingAccount).when(_accountDao).findById(accountMockId); Mockito.doNothing().when(accountManagerImpl).checkAccess(Mockito.any(Account.class), Mockito.any(AccessType.class), Mockito.anyBoolean(), Mockito.any(Account.class)); diff --git a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java index bcc9544927f..a6121583c36 100644 --- a/server/src/test/java/com/cloud/user/DomainManagerImplTest.java +++ b/server/src/test/java/com/cloud/user/DomainManagerImplTest.java @@ -253,7 +253,7 @@ public class DomainManagerImplTest { DomainVO domain = new DomainVO(); domain.setId(20l); domain.setAccountId(30l); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); @@ -281,7 +281,7 @@ public class DomainManagerImplTest { DomainVO domain = new DomainVO(); domain.setId(20l); domain.setAccountId(30l); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); diff --git a/server/src/test/java/com/cloud/user/MockAccountManagerImpl.java b/server/src/test/java/com/cloud/user/MockAccountManagerImpl.java index f222368500a..8e2dc7dc54d 100644 --- a/server/src/test/java/com/cloud/user/MockAccountManagerImpl.java +++ b/server/src/test/java/com/cloud/user/MockAccountManagerImpl.java @@ -356,8 +356,9 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco } @Override - public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long roleId, - Long domainId, String networkDomain, Map details, String accountUUID, String userUUID, User.Source source) { + public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, + Account.Type accountType, Long roleId, Long domainId, String networkDomain, Map details, String accountUUID, + String userUUID, User.Source source) { // TODO Auto-generated method stub return null; } @@ -388,7 +389,7 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco } @Override - public Account createAccount(String accountName, short accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid) { + public Account createAccount(String accountName, Account.Type accountType, Long roleId, Long domainId, String networkDomain, Map details, String uuid) { // TODO Auto-generated method stub return null; } diff --git a/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java b/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java index bfca1fe5d98..f70f9b88d41 100644 --- a/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java +++ b/server/src/test/java/com/cloud/vm/FirstFitPlannerTest.java @@ -151,7 +151,7 @@ public class FirstFitPlannerTest { when(configDao.getValue(Config.ImplicitHostTags.key())).thenReturn("GPU"); ComponentContext.initComponentsLifeCycle(); - acct.setType(Account.ACCOUNT_TYPE_ADMIN); + acct.setType(Account.Type.ADMIN); acct.setAccountName("user1"); acct.setDomainId(domainId); acct.setId(accountId); diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java index 0660388a580..22b7f223e6e 100644 --- a/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java +++ b/server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java @@ -173,7 +173,7 @@ public class UserVmManagerImplTest { Mockito.when(userVmDao.findById(Mockito.eq(vmId))).thenReturn(userVmVoMock); - Mockito.when(callerAccount.getType()).thenReturn(Account.ACCOUNT_TYPE_ADMIN); + Mockito.when(callerAccount.getType()).thenReturn(Account.Type.ADMIN); CallContext.register(callerUser, callerAccount); customParameters.put(VmDetailConstants.ROOT_DISK_SIZE, "123"); diff --git a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java index a3fb72c71bf..640b35f131c 100644 --- a/server/src/test/java/com/cloud/vm/UserVmManagerTest.java +++ b/server/src/test/java/com/cloud/vm/UserVmManagerTest.java @@ -223,7 +223,7 @@ public class UserVmManagerTest { public void setup() { doReturn(8L).when(_vmMock).getAccountId(); lenient().when(_userDao.findById(anyLong())).thenReturn(_userMock); - lenient().doReturn(Account.State.enabled).when(_account).getState(); + lenient().doReturn(Account.State.ENABLED).when(_account).getState(); lenient().when(_vmMock.getId()).thenReturn(314L); lenient().when(_vmInstance.getId()).thenReturn(1L); lenient().when(_vmInstance.getServiceOfferingId()).thenReturn(2L); @@ -297,7 +297,7 @@ public class UserVmManagerTest { lenient().when(_vmInstanceDao.findById(anyLong())).thenReturn(_vmInstance); // UserContext.current().setEventDetails("Vm Id: "+getId()); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, "uuid"); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); //AccountVO(String accountName, long domainId, String networkDomain, short type, int regionId) lenient().doReturn(VirtualMachine.State.Running).when(_vmInstance).getState(); @@ -339,7 +339,7 @@ public class UserVmManagerTest { lenient().when(_offeringDao.findById(anyLong())).thenReturn((ServiceOfferingVO)so1); lenient().when(_offeringDao.findByIdIncludingRemoved(anyLong(), anyLong())).thenReturn((ServiceOfferingVO)so1); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); try { @@ -381,7 +381,7 @@ public class UserVmManagerTest { //when(_vmDao.findById(anyLong())).thenReturn(_vmMock); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); try { @@ -430,7 +430,7 @@ public class UserVmManagerTest { when(_vmDao.findById(anyLong())).thenReturn(_vmMock); - Account account = new AccountVO("testaccount", 1L, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1L, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); try { @@ -475,7 +475,7 @@ public class UserVmManagerTest { domainIdField.set(cmd, 1L); // caller is of type 0 - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); @@ -507,13 +507,13 @@ public class UserVmManagerTest { domainIdField.set(cmd, 1L); // caller is of type 0 - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)1, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.ADMIN, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); - AccountVO oldAccount = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + AccountVO oldAccount = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); oldAccount.setId(1L); - AccountVO newAccount = new AccountVO("testaccount", 1, "networkdomain", (short)1, UUID.randomUUID().toString()); + AccountVO newAccount = new AccountVO("testaccount", 1, "networkdomain", Account.Type.ADMIN, UUID.randomUUID().toString()); newAccount.setId(2L); UserVmVO vm = new UserVmVO(10L, "test", "test", 1L, HypervisorType.Any, 1L, false, false, 1L, 1L, 1, 5L, "test", "test"); @@ -574,7 +574,7 @@ public class UserVmManagerTest { when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn("10.10.10.10"); when(_nicDao.persist(any(NicVO.class))).thenReturn(nic); - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); try { @@ -631,7 +631,7 @@ public class UserVmManagerTest { when(_nicDao.persist(any(NicVO.class))).thenReturn(nic); when(_vlanDao.findById(anyLong())).thenReturn(vlan); - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); try { @@ -669,7 +669,7 @@ public class UserVmManagerTest { when(_networkModel.listNetworkOfferingServices(anyLong())).thenReturn(services); when(_vmMock.getState()).thenReturn(State.Running); - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); try { @@ -716,7 +716,7 @@ public class UserVmManagerTest { when(_ipAddrMgr.allocateGuestIP(Mockito.eq(_networkMock), anyString())).thenReturn(null); - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); try { @@ -763,7 +763,7 @@ public class UserVmManagerTest { lenient().when(_ipAddrMgr.allocatePublicIpForGuestNic(Mockito.eq(_networkMock), anyLong(), Mockito.eq(_accountMock), anyString())).thenReturn(null); - Account caller = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account caller = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, caller); try { diff --git a/server/src/test/java/com/cloud/vpc/NetworkACLManagerTest.java b/server/src/test/java/com/cloud/vpc/NetworkACLManagerTest.java index b1d64554759..5904b433725 100644 --- a/server/src/test/java/com/cloud/vpc/NetworkACLManagerTest.java +++ b/server/src/test/java/com/cloud/vpc/NetworkACLManagerTest.java @@ -119,7 +119,7 @@ public class NetworkACLManagerTest extends TestCase { @Before public void setUp() { ComponentContext.initComponentsLifeCycle(); - final Account account = new AccountVO("testaccount", 1, "testdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "testdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); final UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); diff --git a/server/src/test/java/com/cloud/vpc/NetworkACLServiceTest.java b/server/src/test/java/com/cloud/vpc/NetworkACLServiceTest.java index 35a94a2914b..b2ea7d87e8b 100644 --- a/server/src/test/java/com/cloud/vpc/NetworkACLServiceTest.java +++ b/server/src/test/java/com/cloud/vpc/NetworkACLServiceTest.java @@ -89,7 +89,7 @@ public class NetworkACLServiceTest extends TestCase { @Before public void setUp() { ComponentContext.initComponentsLifeCycle(); - Account account = new AccountVO("testaccount", 1, "testdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "testdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); diff --git a/server/src/test/java/org/apache/cloudstack/affinity/AffinityApiUnitTest.java b/server/src/test/java/org/apache/cloudstack/affinity/AffinityApiUnitTest.java index 8d7a645e6bc..f43fcc55c0d 100644 --- a/server/src/test/java/org/apache/cloudstack/affinity/AffinityApiUnitTest.java +++ b/server/src/test/java/org/apache/cloudstack/affinity/AffinityApiUnitTest.java @@ -134,7 +134,7 @@ public class AffinityApiUnitTest { public void setUp() { ComponentContext.initComponentsLifeCycle(); AccountVO acct = new AccountVO(200L); - acct.setType(Account.ACCOUNT_TYPE_NORMAL); + acct.setType(Account.Type.NORMAL); acct.setAccountName("user"); acct.setDomainId(domainId); diff --git a/server/src/test/java/org/apache/cloudstack/affinity/AffinityGroupServiceImplTest.java b/server/src/test/java/org/apache/cloudstack/affinity/AffinityGroupServiceImplTest.java index 607bf0436d4..bd2e45f013e 100644 --- a/server/src/test/java/org/apache/cloudstack/affinity/AffinityGroupServiceImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/affinity/AffinityGroupServiceImplTest.java @@ -142,7 +142,7 @@ public class AffinityGroupServiceImplTest { public void setUp() { ComponentContext.initComponentsLifeCycle(); acct = new AccountVO(200L); - acct.setType(Account.ACCOUNT_TYPE_NORMAL); + acct.setType(Account.Type.NORMAL); acct.setAccountName(ACCOUNT_NAME); acct.setDomainId(DOMAIN_ID); diff --git a/server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java b/server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java index 7008a81c0b5..2efd2a19c01 100644 --- a/server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java +++ b/server/src/test/java/org/apache/cloudstack/network/ssl/CertServiceTest.java @@ -62,7 +62,7 @@ public class CertServiceTest { @Before public void setUp() { - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); final UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); } @@ -111,7 +111,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -168,7 +168,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -227,7 +227,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -277,7 +277,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -324,7 +324,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -376,7 +376,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -426,7 +426,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -475,7 +475,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -518,7 +518,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -563,7 +563,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -607,7 +607,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -651,7 +651,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -690,7 +690,7 @@ public class CertServiceTest { //setting mock objects certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -728,7 +728,7 @@ public class CertServiceTest { final long certId = 1; certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); @@ -777,7 +777,7 @@ public class CertServiceTest { final CertServiceImpl certService = new CertServiceImpl(); certService._accountMgr = Mockito.mock(AccountManager.class); - final Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + final Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(certService._accountMgr.getAccount(anyLong())).thenReturn(account); certService._domainDao = Mockito.mock(DomainDao.class); diff --git a/server/src/test/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java b/server/src/test/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java index 680f1266211..3cdc8a172a4 100644 --- a/server/src/test/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImplTest.java @@ -69,7 +69,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { @Override @Before public void setUp() { - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); @@ -186,7 +186,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl(); gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class); @@ -250,7 +250,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl(); gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class); @@ -314,7 +314,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl(); gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class); @@ -378,7 +378,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl(); gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class); @@ -442,7 +442,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl(); gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class); @@ -520,7 +520,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { AssignToGlobalLoadBalancerRuleCmd assignCmd = new AssignToGlobalLoadBalancerRuleCmdExtn(); Class _class = assignCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -583,7 +583,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { AssignToGlobalLoadBalancerRuleCmd assignCmd = new AssignToGlobalLoadBalancerRuleCmdExtn(); Class _class = assignCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 3, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 3, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -668,7 +668,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { AssignToGlobalLoadBalancerRuleCmd assignCmd = new AssignToGlobalLoadBalancerRuleCmdExtn(); Class _class = assignCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -728,7 +728,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { RemoveFromGlobalLoadBalancerRuleCmd removeFromGslbCmd = new RemoveFromGlobalLoadBalancerRuleCmdExtn(); Class _class = removeFromGslbCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -800,7 +800,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { RemoveFromGlobalLoadBalancerRuleCmd removeFromGslbCmd = new RemoveFromGlobalLoadBalancerRuleCmdExtn(); Class _class = removeFromGslbCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -861,7 +861,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { RemoveFromGlobalLoadBalancerRuleCmd removeFromGslbCmd = new RemoveFromGlobalLoadBalancerRuleCmdExtn(); Class _class = removeFromGslbCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -905,7 +905,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { DeleteGlobalLoadBalancerRuleCmd deleteCmd = new DeleteGlobalLoadBalancerRuleCmdExtn(); Class _class = deleteCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); @@ -951,7 +951,7 @@ public class GlobalLoadBalancingRulesServiceImplTest extends TestCase { DeleteGlobalLoadBalancerRuleCmd deleteCmd = new DeleteGlobalLoadBalancerRuleCmdExtn(); Class _class = deleteCmd.getClass().getSuperclass(); - Account account = new AccountVO("testaccount", 1, "networkdomain", (short)0, UUID.randomUUID().toString()); + Account account = new AccountVO("testaccount", 1, "networkdomain", Account.Type.NORMAL, UUID.randomUUID().toString()); when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account); Field gslbRuleId = _class.getDeclaredField("id"); diff --git a/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java b/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java index eadb1b3c665..bf392916fd3 100644 --- a/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java +++ b/server/src/test/java/org/apache/cloudstack/vm/UnmanagedVMsManagerImplTest.java @@ -195,7 +195,7 @@ public class UnmanagedVMsManagerImplTest { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); - AccountVO account = new AccountVO("admin", 1L, "", Account.ACCOUNT_TYPE_ADMIN, "uuid"); + AccountVO account = new AccountVO("admin", 1L, "", Account.Type.ADMIN, "uuid"); UserVO user = new UserVO(1, "adminuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); @@ -359,7 +359,7 @@ public class UnmanagedVMsManagerImplTest { @Test(expected = PermissionDeniedException.class) public void listUnmanagedInstancesInvalidCallerTest() { CallContext.unregister(); - AccountVO account = new AccountVO("user", 1L, "", Account.ACCOUNT_TYPE_NORMAL, "uuid"); + AccountVO account = new AccountVO("user", 1L, "", Account.Type.NORMAL, "uuid"); UserVO user = new UserVO(1, "testuser", "password", "firstname", "lastName", "email", "timezone", UUID.randomUUID().toString(), User.Source.UNKNOWN); CallContext.register(user, account); ListUnmanagedInstancesCmd cmd = Mockito.mock(ListUnmanagedInstancesCmd.class);