Search in sources :

Example 1 with UpdateUserCmd

use of org.apache.cloudstack.api.command.admin.user.UpdateUserCmd in project cloudstack by apache.

the class LdapImportUsersCmd method createCloudstackUserAccount.

private void createCloudstackUserAccount(LdapUser user, String accountName, Domain domain) {
    Account account = _accountService.getActiveAccountByName(accountName, domain.getId());
    if (account == null) {
        s_logger.debug("No account exists with name: " + accountName + " creating the account and an user with name: " + user.getUsername() + " in the account");
        _accountService.createUserAccount(user.getUsername(), generatePassword(), user.getFirstname(), user.getLastname(), user.getEmail(), timezone, accountName, getAccountType(), getRoleId(), domain.getId(), domain.getNetworkDomain(), details, UUID.randomUUID().toString(), UUID.randomUUID().toString(), User.Source.LDAP);
    } else {
        // check if the user exists. if yes, call update
        UserAccount csuser = _accountService.getActiveUserAccount(user.getUsername(), domain.getId());
        if (csuser == null) {
            s_logger.debug("No user exists with name: " + user.getUsername() + " creating a user in the account: " + accountName);
            _accountService.createUser(user.getUsername(), generatePassword(), user.getFirstname(), user.getLastname(), user.getEmail(), timezone, accountName, domain.getId(), UUID.randomUUID().toString(), User.Source.LDAP);
        } else {
            s_logger.debug("Account [name=%s] and user [name=%s] already exist in CloudStack. Executing the user update.");
            UpdateUserCmd updateUserCmd = new UpdateUserCmd();
            updateUserCmd.setId(csuser.getId());
            updateUserCmd.setFirstname(user.getFirstname());
            updateUserCmd.setLastname(user.getLastname());
            updateUserCmd.setEmail(user.getEmail());
            _accountService.updateUser(updateUserCmd);
        }
    }
}
Also used : UserAccount(com.cloud.user.UserAccount) Account(com.cloud.user.Account) UpdateUserCmd(org.apache.cloudstack.api.command.admin.user.UpdateUserCmd) UserAccount(com.cloud.user.UserAccount)

Aggregations

Account (com.cloud.user.Account)1 UserAccount (com.cloud.user.UserAccount)1 UpdateUserCmd (org.apache.cloudstack.api.command.admin.user.UpdateUserCmd)1