mirror of https://github.com/apache/cloudstack.git
1) Return embedded objects for enable/disable/lock/update Account/User and updateDomain
2) Added "haschild" return parameter to Domain response. 3) Fixed updateDomain command - used to set domainname to "updatedomainnameresponse" value if no name was specified in the request. Added more logging for updateDomain command.
This commit is contained in:
parent
5d4e4be974
commit
6c3256d1e4
|
|
@ -23,10 +23,8 @@ import java.util.List;
|
|||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.api.response.DiskOfferingResponse;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.api.response.ResourceLimitResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.configuration.ResourceCount.ResourceType;
|
||||
import com.cloud.configuration.ResourceLimitVO;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.server.Criteria;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
|
|
@ -40,7 +38,6 @@ public class ApiResponseHelper {
|
|||
|
||||
public static UserResponse createUserResponse (UserAccount user) {
|
||||
UserResponse userResponse = new UserResponse();
|
||||
|
||||
userResponse.setAccountName(user.getAccountName());
|
||||
userResponse.setAccountType(user.getType());
|
||||
userResponse.setCreated(user.getCreated());
|
||||
|
|
@ -60,7 +57,6 @@ public class ApiResponseHelper {
|
|||
}
|
||||
|
||||
public static AccountResponse createAccountResponse (Account account) {
|
||||
|
||||
boolean accountIsAdmin = (account.getType() == Account.ACCOUNT_TYPE_ADMIN);
|
||||
AccountResponse accountResponse = new AccountResponse();
|
||||
accountResponse.setId(account.getId());
|
||||
|
|
@ -166,6 +162,9 @@ public class ApiResponseHelper {
|
|||
if (domain.getParent() != null) {
|
||||
domainResponse.setParentDomainName(ApiDBUtils.findDomainById(domain.getParent()).getName());
|
||||
}
|
||||
if (domain.getChildCount() > 0) {
|
||||
domainResponse.setHasChild(true);
|
||||
}
|
||||
return domainResponse;
|
||||
}
|
||||
|
||||
|
|
@ -181,7 +180,6 @@ public class ApiResponseHelper {
|
|||
diskOfferingResponse.setDomainId(offering.getDomainId());
|
||||
}
|
||||
diskOfferingResponse.setTags(offering.getTags());
|
||||
|
||||
return diskOfferingResponse;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -69,19 +69,13 @@ public class CreateDomainCmd extends BaseCmd {
|
|||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public DomainResponse getResponse() {
|
||||
DomainResponse response = new DomainResponse();
|
||||
DomainVO responseObject = (DomainVO)getResponseObject();
|
||||
if (responseObject != null) {
|
||||
response.setId(responseObject.getId());
|
||||
response.setDomainName(responseObject.getName());
|
||||
response.setLevel(responseObject.getLevel());
|
||||
response.setParentDomainId(responseObject.getParent());
|
||||
response.setParentDomainName(ApiDBUtils.findDomainById(responseObject.getParent()).getName());
|
||||
DomainVO domain = (DomainVO)getResponseObject();
|
||||
if (domain != null) {
|
||||
DomainResponse response = ApiResponseHelper.createDomainResponse(domain);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to create domain");
|
||||
}
|
||||
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -124,22 +124,7 @@ public class CreateUserCmd extends BaseCmd {
|
|||
@Override @SuppressWarnings("unchecked")
|
||||
public UserResponse getResponse() {
|
||||
UserAccount user = (UserAccount)getResponseObject();
|
||||
|
||||
// TODO: user keys?
|
||||
UserResponse response = new UserResponse();
|
||||
response.setAccountName(user.getAccountName());
|
||||
response.setAccountType(user.getType());
|
||||
response.setCreated(user.getCreated());
|
||||
response.setDomainId(user.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(user.getDomainId()).getName());
|
||||
response.setEmail(user.getEmail());
|
||||
response.setFirstname(user.getFirstname());
|
||||
response.setId(user.getId());
|
||||
response.setLastname(user.getLastname());
|
||||
response.setState(user.getState());
|
||||
response.setTimezone(user.getTimezone());
|
||||
response.setUsername(user.getUsername());
|
||||
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,13 +20,15 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.AccountVO;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
@Implementation(method="disableAccount", manager=ManagementServer.class, description="Disables an account")
|
||||
|
|
@ -86,10 +88,9 @@ public class DisableAccountCmd extends BaseAsyncCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public AccountResponse getResponse() {
|
||||
AccountVO account = (AccountVO)getResponseObject();
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(account);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,14 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.UserAccount;
|
||||
import com.cloud.user.UserContext;
|
||||
|
||||
@Implementation(method="disableUser", description="Disables a user account")
|
||||
|
|
@ -78,10 +80,9 @@ public class DisableUserCmd extends BaseAsyncCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public UserResponse getResponse() {
|
||||
UserAccount user = (UserAccount)getResponseObject();
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.AccountVO;
|
||||
|
||||
@Implementation(method="enableAccount", manager=ManagementServer.class, description="Enables an account")
|
||||
public class EnableAccountCmd extends BaseCmd {
|
||||
|
|
@ -64,16 +65,9 @@ public class EnableAccountCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
Boolean responseObject = (Boolean)getResponseObject();
|
||||
|
||||
if (responseObject != null) {
|
||||
response.setSuccess(responseObject);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to enable account");
|
||||
}
|
||||
|
||||
public AccountResponse getResponse() {
|
||||
AccountVO account = (AccountVO)getResponseObject();
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(account);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,12 +21,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.UserAccount;
|
||||
|
||||
@Implementation(method="enableUser", manager=ManagementServer.class, description="Enables a user account")
|
||||
public class EnableUserCmd extends BaseCmd {
|
||||
|
|
@ -59,16 +60,9 @@ public class EnableUserCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
Boolean responseObject = (Boolean)getResponseObject();
|
||||
|
||||
if (responseObject != null) {
|
||||
response.setSuccess(responseObject);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to enable user");
|
||||
}
|
||||
|
||||
public UserResponse getResponse() {
|
||||
UserAccount user = (UserAccount)getResponseObject();
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,28 +18,18 @@
|
|||
package com.cloud.api.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.api.response.ListResponse;
|
||||
import com.cloud.configuration.ResourceCount.ResourceType;
|
||||
import com.cloud.server.Criteria;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.user.AccountVO;
|
||||
import com.cloud.user.UserContext;
|
||||
import com.cloud.user.UserStatisticsVO;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.State;
|
||||
|
||||
@Implementation(method="searchForAccounts", description="Lists accounts and provides detailed account information for listed accounts")
|
||||
public class ListAccountsCmd extends BaseListCmd {
|
||||
|
|
@ -121,107 +111,7 @@ public class ListAccountsCmd extends BaseListCmd {
|
|||
|
||||
List<AccountResponse> accountResponses = new ArrayList<AccountResponse>();
|
||||
for (AccountVO account : accounts) {
|
||||
boolean accountIsAdmin = (account.getType() == Account.ACCOUNT_TYPE_ADMIN);
|
||||
|
||||
AccountResponse acctResponse = new AccountResponse();
|
||||
acctResponse.setId(account.getId());
|
||||
acctResponse.setName(account.getAccountName());
|
||||
acctResponse.setAccountType(account.getType());
|
||||
acctResponse.setDomainId(account.getDomainId());
|
||||
acctResponse.setDomainName(ApiDBUtils.findDomainById(account.getDomainId()).getName());
|
||||
|
||||
//get network stat
|
||||
List<UserStatisticsVO> stats = ApiDBUtils.listUserStatsBy(account.getId());
|
||||
if (stats == null) {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Internal error searching for user stats");
|
||||
}
|
||||
|
||||
long bytesSent = 0;
|
||||
long bytesReceived = 0;
|
||||
for (UserStatisticsVO stat : stats) {
|
||||
long rx = stat.getNetBytesReceived() + stat.getCurrentBytesReceived();
|
||||
long tx = stat.getNetBytesSent() + stat.getCurrentBytesSent();
|
||||
bytesReceived = bytesReceived + Long.valueOf(rx);
|
||||
bytesSent = bytesSent + Long.valueOf(tx);
|
||||
}
|
||||
acctResponse.setBytesReceived(bytesReceived);
|
||||
acctResponse.setBytesSent(bytesSent);
|
||||
|
||||
// Get resource limits and counts
|
||||
|
||||
long vmLimit = ApiDBUtils.findCorrectResourceLimit(ResourceType.user_vm, account.getId());
|
||||
String vmLimitDisplay = (accountIsAdmin || vmLimit == -1) ? "Unlimited" : String.valueOf(vmLimit);
|
||||
long vmTotal = ApiDBUtils.getResourceCount(ResourceType.user_vm, account.getId());
|
||||
String vmAvail = (accountIsAdmin || vmLimit == -1) ? "Unlimited" : String.valueOf(vmLimit - vmTotal);
|
||||
acctResponse.setVmLimit(vmLimitDisplay);
|
||||
acctResponse.setVmTotal(vmTotal);
|
||||
acctResponse.setVmAvailable(vmAvail);
|
||||
|
||||
long ipLimit = ApiDBUtils.findCorrectResourceLimit(ResourceType.public_ip, account.getId());
|
||||
String ipLimitDisplay = (accountIsAdmin || ipLimit == -1) ? "Unlimited" : String.valueOf(ipLimit);
|
||||
long ipTotal = ApiDBUtils.getResourceCount(ResourceType.public_ip, account.getId());
|
||||
String ipAvail = (accountIsAdmin || ipLimit == -1) ? "Unlimited" : String.valueOf(ipLimit - ipTotal);
|
||||
acctResponse.setIpLimit(ipLimitDisplay);
|
||||
acctResponse.setIpTotal(ipTotal);
|
||||
acctResponse.setIpAvailable(ipAvail);
|
||||
|
||||
long volumeLimit = ApiDBUtils.findCorrectResourceLimit(ResourceType.volume, account.getId());
|
||||
String volumeLimitDisplay = (accountIsAdmin || volumeLimit == -1) ? "Unlimited" : String.valueOf(volumeLimit);
|
||||
long volumeTotal = ApiDBUtils.getResourceCount(ResourceType.volume, account.getId());
|
||||
String volumeAvail = (accountIsAdmin || volumeLimit == -1) ? "Unlimited" : String.valueOf(volumeLimit - volumeTotal);
|
||||
acctResponse.setVolumeLimit(volumeLimitDisplay);
|
||||
acctResponse.setVolumeTotal(volumeTotal);
|
||||
acctResponse.setVolumeAvailable(volumeAvail);
|
||||
|
||||
long snapshotLimit = ApiDBUtils.findCorrectResourceLimit(ResourceType.snapshot, account.getId());
|
||||
String snapshotLimitDisplay = (accountIsAdmin || snapshotLimit == -1) ? "Unlimited" : String.valueOf(snapshotLimit);
|
||||
long snapshotTotal = ApiDBUtils.getResourceCount(ResourceType.snapshot, account.getId());
|
||||
String snapshotAvail = (accountIsAdmin || snapshotLimit == -1) ? "Unlimited" : String.valueOf(snapshotLimit - snapshotTotal);
|
||||
acctResponse.setSnapshotLimit(snapshotLimitDisplay);
|
||||
acctResponse.setSnapshotTotal(snapshotTotal);
|
||||
acctResponse.setSnapshotAvailable(snapshotAvail);
|
||||
|
||||
long templateLimit = ApiDBUtils.findCorrectResourceLimit(ResourceType.template, account.getId());
|
||||
String templateLimitDisplay = (accountIsAdmin || templateLimit == -1) ? "Unlimited" : String.valueOf(templateLimit);
|
||||
long templateTotal = ApiDBUtils.getResourceCount(ResourceType.template, account.getId());
|
||||
String templateAvail = (accountIsAdmin || templateLimit == -1) ? "Unlimited" : String.valueOf(templateLimit - templateTotal);
|
||||
acctResponse.setTemplateLimit(templateLimitDisplay);
|
||||
acctResponse.setTemplateTotal(templateTotal);
|
||||
acctResponse.setTemplateAvailable(templateAvail);
|
||||
|
||||
// Get stopped and running VMs
|
||||
int vmStopped = 0;
|
||||
int vmRunning = 0;
|
||||
|
||||
Long[] accountIds = new Long[1];
|
||||
accountIds[0] = account.getId();
|
||||
|
||||
Criteria c1 = new Criteria();
|
||||
c1.addCriteria(Criteria.ACCOUNTID, accountIds);
|
||||
List<? extends UserVm> virtualMachines = ApiDBUtils.searchForUserVMs(c1);
|
||||
|
||||
//get Running/Stopped VMs
|
||||
for (Iterator<? extends UserVm> iter = virtualMachines.iterator(); iter.hasNext();) {
|
||||
// count how many stopped/running vms we have
|
||||
UserVm vm = iter.next();
|
||||
|
||||
if (vm.getState() == State.Stopped) {
|
||||
vmStopped++;
|
||||
} else if (vm.getState() == State.Running) {
|
||||
vmRunning++;
|
||||
}
|
||||
}
|
||||
|
||||
acctResponse.setVmStopped(vmStopped);
|
||||
acctResponse.setVmRunning(vmRunning);
|
||||
|
||||
//show this info to admins only
|
||||
Account ctxAccount = (Account)UserContext.current().getAccount();
|
||||
if ((ctxAccount == null) || isAdmin(ctxAccount.getType())) {
|
||||
acctResponse.setState(account.getState());
|
||||
acctResponse.setCleanupRequired(account.getNeedsCleanup());
|
||||
}
|
||||
|
||||
AccountResponse acctResponse = ApiResponseHelper.createAccountResponse(account);
|
||||
acctResponse.setResponseName("account");
|
||||
accountResponses.add(acctResponse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -82,16 +82,7 @@ public class ListDomainChildrenCmd extends BaseListCmd {
|
|||
ListResponse<DomainResponse> response = new ListResponse<DomainResponse>();
|
||||
List<DomainResponse> domainResponses = new ArrayList<DomainResponse>();
|
||||
for (DomainVO domain : domains) {
|
||||
DomainResponse domainResponse = new DomainResponse();
|
||||
domainResponse.setDomainName(domain.getName());
|
||||
domainResponse.setId(domain.getId());
|
||||
domainResponse.setLevel(domain.getLevel());
|
||||
domainResponse.setHasChild(domain.getChildCount() > 0);
|
||||
domainResponse.setParentDomainId(domain.getParent());
|
||||
if (domain.getParent() != null) {
|
||||
domainResponse.setParentDomainName(ApiDBUtils.findDomainById(domain.getParent()).getName());
|
||||
}
|
||||
|
||||
DomainResponse domainResponse = ApiResponseHelper.createDomainResponse(domain);
|
||||
domainResponse.setResponseName("domain");
|
||||
domainResponses.add(domainResponse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -82,15 +82,7 @@ public class ListDomainsCmd extends BaseListCmd {
|
|||
ListResponse<DomainResponse> response = new ListResponse<DomainResponse>();
|
||||
List<DomainResponse> domainResponses = new ArrayList<DomainResponse>();
|
||||
for (DomainVO domain : domains) {
|
||||
DomainResponse domainResponse = new DomainResponse();
|
||||
domainResponse.setDomainName(domain.getName());
|
||||
domainResponse.setId(domain.getId());
|
||||
domainResponse.setLevel(domain.getLevel());
|
||||
domainResponse.setParentDomainId(domain.getParent());
|
||||
if (domain.getParent() != null) {
|
||||
domainResponse.setParentDomainName(ApiDBUtils.findDomainById(domain.getParent()).getName());
|
||||
}
|
||||
|
||||
DomainResponse domainResponse = ApiResponseHelper.createDomainResponse(domain);
|
||||
domainResponse.setResponseName("domain");
|
||||
domainResponses.add(domainResponse);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import java.util.List;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseListCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
|
|
@ -104,26 +104,10 @@ public class ListUsersCmd extends BaseListCmd {
|
|||
ListResponse<UserResponse> response = new ListResponse<UserResponse>();
|
||||
List<UserResponse> userResponses = new ArrayList<UserResponse>();
|
||||
for (UserAccountVO user : users) {
|
||||
UserResponse userResponse = new UserResponse();
|
||||
userResponse.setId(user.getId());
|
||||
userResponse.setUsername(user.getUsername());
|
||||
userResponse.setFirstname(user.getFirstname());
|
||||
userResponse.setLastname(user.getLastname());
|
||||
userResponse.setEmail(user.getEmail());
|
||||
userResponse.setCreated(user.getCreated());
|
||||
userResponse.setState(user.getState());
|
||||
userResponse.setAccountName(user.getAccountName());
|
||||
userResponse.setAccountType(user.getType());
|
||||
userResponse.setDomainId(user.getDomainId());
|
||||
userResponse.setDomainName(ApiDBUtils.findDomainById(user.getDomainId()).getName());
|
||||
userResponse.setTimezone(user.getTimezone());
|
||||
userResponse.setApiKey(user.getApiKey());
|
||||
userResponse.setSecretKey(user.getSecretKey());
|
||||
|
||||
UserResponse userResponse = ApiResponseHelper.createUserResponse(user);
|
||||
userResponse.setResponseName("user");
|
||||
userResponses.add(userResponse);
|
||||
}
|
||||
|
||||
response.setResponses(userResponses);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.AccountVO;
|
||||
|
||||
@Implementation(method="lockAccount", manager=ManagementServer.class, description="Locks an account")
|
||||
public class LockAccountCmd extends BaseCmd {
|
||||
|
|
@ -64,10 +66,9 @@ public class LockAccountCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public AccountResponse getResponse() {
|
||||
AccountVO account = (AccountVO)getResponseObject();
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(account);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.UserAccount;
|
||||
|
||||
@Implementation(method="lockUser", manager=ManagementServer.class, description="Locks a user account")
|
||||
public class LockUserCmd extends BaseCmd {
|
||||
|
|
@ -57,11 +59,10 @@ public class LockUserCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public UserResponse getResponse() {
|
||||
UserAccount user = (UserAccount)getResponseObject();
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,12 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.AccountResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.AccountVO;
|
||||
|
||||
@Implementation(method="updateAccount", manager=ManagementServer.class, description="Updates account information for the authenticated user")
|
||||
public class UpdateAccountCmd extends BaseCmd{
|
||||
|
|
@ -71,16 +72,9 @@ public class UpdateAccountCmd extends BaseCmd{
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
Boolean responseObject = (Boolean)getResponseObject();
|
||||
|
||||
if (responseObject != null) {
|
||||
response.setSuccess(responseObject);
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update account");
|
||||
}
|
||||
|
||||
public AccountResponse getResponse() {
|
||||
AccountVO account = (AccountVO)getResponseObject();
|
||||
AccountResponse response = ApiResponseHelper.createAccountResponse(account);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,11 +20,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.ServerApiException;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.DomainResponse;
|
||||
import com.cloud.domain.DomainVO;
|
||||
import com.cloud.server.ManagementServer;
|
||||
|
||||
@Implementation(method="updateDomain", manager=ManagementServer.class, description="Updates a domain with a new name")
|
||||
|
|
@ -64,17 +66,14 @@ public class UpdateDomainCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
Boolean responseObject = (Boolean)getResponseObject();
|
||||
|
||||
if (responseObject != null) {
|
||||
response.setSuccess(responseObject);
|
||||
public DomainResponse getResponse() {
|
||||
DomainVO domain = (DomainVO)getResponseObject();
|
||||
if (domain != null) {
|
||||
DomainResponse response = ApiResponseHelper.createDomainResponse(domain);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
} else {
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Failed to update domain");
|
||||
}
|
||||
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,13 @@ package com.cloud.api.commands;
|
|||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.cloud.api.ApiConstants;
|
||||
import com.cloud.api.ApiResponseHelper;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserResponse;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.user.UserAccount;
|
||||
|
||||
@Implementation(method="updateUser", manager=ManagementServer.class, description="Updates a user account")
|
||||
public class UpdateUserCmd extends BaseCmd {
|
||||
|
|
@ -113,11 +115,10 @@ public class UpdateUserCmd extends BaseCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public UserResponse getResponse() {
|
||||
UserAccount user = (UserAccount)getResponseObject();
|
||||
UserResponse response = ApiResponseHelper.createUserResponse(user);
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ public class DomainResponse extends BaseResponse {
|
|||
private String parentDomainName;
|
||||
|
||||
@SerializedName("haschild") @Param(description="whether the domain has one or more sub-domains")
|
||||
private Boolean hasChild;
|
||||
private boolean hasChild;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
|
|
@ -80,11 +80,11 @@ public class DomainResponse extends BaseResponse {
|
|||
this.parentDomainName = parentDomainName;
|
||||
}
|
||||
|
||||
public Boolean getHasChild() {
|
||||
public boolean getHasChild() {
|
||||
return hasChild;
|
||||
}
|
||||
|
||||
public void setHasChild(Boolean hasChild) {
|
||||
public void setHasChild(boolean hasChild) {
|
||||
this.hasChild = hasChild;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,7 +114,6 @@ import com.cloud.info.ConsoleProxyInfo;
|
|||
import com.cloud.network.FirewallRuleVO;
|
||||
import com.cloud.network.IPAddressVO;
|
||||
import com.cloud.network.LoadBalancerVO;
|
||||
import com.cloud.network.NetworkRuleConfigVO;
|
||||
import com.cloud.network.RemoteAccessVpnVO;
|
||||
import com.cloud.network.security.NetworkGroupVO;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
|
|
@ -201,9 +200,10 @@ public interface ManagementServer {
|
|||
/**
|
||||
* Disables a user by userId
|
||||
* @param cmd the command wrapping the userId parameter
|
||||
* @return true if disable was successful, false otherwise
|
||||
* @return UserAccount object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean disableUser(DisableUserCmd cmd);
|
||||
UserAccount disableUser(DisableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;;
|
||||
|
||||
/**
|
||||
* Disables an account by accountId
|
||||
|
|
@ -214,51 +214,50 @@ public interface ManagementServer {
|
|||
|
||||
/**
|
||||
* Disables an account by accountName and domainId
|
||||
* @param cmd the command wrapping the accountName and domainId
|
||||
* @param disabled account if success
|
||||
* @return true if disable was successful, false otherwise
|
||||
* @throws InvalidParameterValueException
|
||||
* @throws PermissionDeniedException
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean disableAccount(DisableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
AccountVO disableAccount(DisableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* Enables an account by accountId
|
||||
* @param cmd - the enableAccount command defining the accountId to be deleted.
|
||||
* @return true if enable was successful, false otherwise
|
||||
* @return account object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean enableAccount(EnableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
AccountVO enableAccount(EnableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* Locks an account by accountId. A locked account cannot access the API, but will still have running VMs/IP addresses allocated/etc.
|
||||
* @param cmd - the LockAccount command defining the accountId to be locked.
|
||||
* @return true if enable was successful, false otherwise
|
||||
* @return account object
|
||||
*/
|
||||
boolean lockAccount(LockAccountCmd cmd);
|
||||
AccountVO lockAccount(LockAccountCmd cmd);
|
||||
|
||||
/**
|
||||
* Updates an account name
|
||||
* @param cmd - the parameter containing accountId
|
||||
* @return true if update was successful, false otherwise
|
||||
* @return updated account object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
|
||||
boolean updateAccount(UpdateAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
AccountVO updateAccount(UpdateAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* Enables a user
|
||||
* @param cmd - the command containing userId
|
||||
* @return true if enable was successful, false otherwise
|
||||
* @throws InvalidParameterValueException
|
||||
* @return UserAccount object
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean enableUser(EnableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
UserAccount enableUser(EnableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* Locks a user by userId. A locked user cannot access the API, but will still have running VMs/IP addresses allocated/etc.
|
||||
* @param userId
|
||||
* @return true if enable was successful, false otherwise
|
||||
* @return UserAccount object
|
||||
*/
|
||||
boolean lockUser(LockUserCmd cmd);
|
||||
UserAccount lockUser(LockUserCmd cmd);
|
||||
|
||||
/**
|
||||
* registerPreallocatedLun registers a preallocated lun in our database.
|
||||
|
|
@ -805,10 +804,10 @@ public interface ManagementServer {
|
|||
/**
|
||||
* update an existing domain
|
||||
* @param cmd - the command containing domainId and new domainName
|
||||
* @return true if domain is updated, false otherwise
|
||||
* @return Domain object if the command succeeded
|
||||
* @throws InvalidParameterValueException, PermissionDeniedException
|
||||
*/
|
||||
boolean updateDomain(UpdateDomainCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
DomainVO updateDomain(UpdateDomainCmd cmd) throws InvalidParameterValueException, PermissionDeniedException;
|
||||
|
||||
/**
|
||||
* find the domain Id associated with the given account
|
||||
|
|
@ -1077,7 +1076,7 @@ public interface ManagementServer {
|
|||
|
||||
boolean checkLocalStorageConfigVal();
|
||||
|
||||
boolean updateUser(UpdateUserCmd cmd) throws InvalidParameterValueException;
|
||||
UserAccount updateUser(UpdateUserCmd cmd) throws InvalidParameterValueException;
|
||||
boolean updateTemplatePermissions(UpdateTemplatePermissionsCmd cmd)throws InvalidParameterValueException, PermissionDeniedException,InternalErrorException;
|
||||
boolean updateTemplatePermissions(UpdateIsoPermissionsCmd cmd)throws InvalidParameterValueException, PermissionDeniedException,InternalErrorException;
|
||||
String[] createApiKeyAndSecretKey(RegisterCmd cmd);
|
||||
|
|
|
|||
|
|
@ -151,8 +151,8 @@ import com.cloud.certificate.dao.CertificateDao;
|
|||
import com.cloud.configuration.Config;
|
||||
import com.cloud.configuration.ConfigurationManager;
|
||||
import com.cloud.configuration.ConfigurationVO;
|
||||
import com.cloud.configuration.ResourceLimitVO;
|
||||
import com.cloud.configuration.ResourceCount.ResourceType;
|
||||
import com.cloud.configuration.ResourceLimitVO;
|
||||
import com.cloud.configuration.dao.ConfigurationDao;
|
||||
import com.cloud.configuration.dao.ResourceLimitDao;
|
||||
import com.cloud.consoleproxy.ConsoleProxyManager;
|
||||
|
|
@ -162,8 +162,8 @@ import com.cloud.dc.DataCenterIpAddressVO;
|
|||
import com.cloud.dc.DataCenterVO;
|
||||
import com.cloud.dc.HostPodVO;
|
||||
import com.cloud.dc.PodVlanMapVO;
|
||||
import com.cloud.dc.VlanVO;
|
||||
import com.cloud.dc.Vlan.VlanType;
|
||||
import com.cloud.dc.VlanVO;
|
||||
import com.cloud.dc.dao.AccountVlanMapDao;
|
||||
import com.cloud.dc.dao.ClusterDao;
|
||||
import com.cloud.dc.dao.DataCenterDao;
|
||||
|
|
@ -221,23 +221,23 @@ import com.cloud.storage.GuestOSCategoryVO;
|
|||
import com.cloud.storage.GuestOSVO;
|
||||
import com.cloud.storage.LaunchPermissionVO;
|
||||
import com.cloud.storage.Snapshot;
|
||||
import com.cloud.storage.Snapshot.SnapshotType;
|
||||
import com.cloud.storage.SnapshotPolicyVO;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.Storage;
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
import com.cloud.storage.StorageManager;
|
||||
import com.cloud.storage.StoragePoolHostVO;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.StorageStats;
|
||||
import com.cloud.storage.Upload;
|
||||
import com.cloud.storage.Upload.Mode;
|
||||
import com.cloud.storage.Upload.Type;
|
||||
import com.cloud.storage.UploadVO;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.Volume;
|
||||
import com.cloud.storage.VolumeStats;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.storage.Snapshot.SnapshotType;
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
import com.cloud.storage.Upload.Mode;
|
||||
import com.cloud.storage.Upload.Type;
|
||||
import com.cloud.storage.dao.DiskOfferingDao;
|
||||
import com.cloud.storage.dao.DiskTemplateDao;
|
||||
import com.cloud.storage.dao.GuestOSCategoryDao;
|
||||
|
|
@ -249,8 +249,8 @@ import com.cloud.storage.dao.StoragePoolDao;
|
|||
import com.cloud.storage.dao.StoragePoolHostDao;
|
||||
import com.cloud.storage.dao.UploadDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.dao.VMTemplateDao.TemplateFilter;
|
||||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.preallocatedlun.PreallocatedLunVO;
|
||||
import com.cloud.storage.preallocatedlun.dao.PreallocatedLunDao;
|
||||
import com.cloud.storage.secondary.SecondaryStorageVmManager;
|
||||
|
|
@ -282,10 +282,10 @@ import com.cloud.utils.db.DB;
|
|||
import com.cloud.utils.db.Filter;
|
||||
import com.cloud.utils.db.GlobalLock;
|
||||
import com.cloud.utils.db.JoinBuilder;
|
||||
import com.cloud.utils.db.JoinBuilder.JoinType;
|
||||
import com.cloud.utils.db.SearchBuilder;
|
||||
import com.cloud.utils.db.SearchCriteria;
|
||||
import com.cloud.utils.db.Transaction;
|
||||
import com.cloud.utils.db.JoinBuilder.JoinType;
|
||||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import com.cloud.utils.exception.ExecutionException;
|
||||
import com.cloud.utils.net.MacAddress;
|
||||
|
|
@ -952,13 +952,13 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean disableUser(DisableUserCmd cmd) {
|
||||
public UserAccount disableUser(DisableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long userId = cmd.getId();
|
||||
if (userId <= 2) {
|
||||
if (s_logger.isInfoEnabled()) {
|
||||
s_logger.info("disableUser -- invalid user id: " + userId);
|
||||
s_logger.error("disableUser -- invalid user id: " + userId);
|
||||
throw new InvalidParameterValueException("Unable to disable with id " + userId + " as it belongs to system account");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean success = doSetUserStatus(userId, Account.ACCOUNT_STATE_DISABLED);
|
||||
|
|
@ -967,19 +967,23 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
List<UserVO> allUsersByAccount = _userDao.listByAccount(user.getAccountId());
|
||||
for (UserVO oneUser : allUsersByAccount) {
|
||||
if (oneUser.getState().equals(Account.ACCOUNT_STATE_ENABLED)) {
|
||||
return true;
|
||||
return _userAccountDao.findById(userId);
|
||||
}
|
||||
}
|
||||
|
||||
// there are no enabled users attached to this user's account, disable the account
|
||||
return disableAccount(user.getAccountId());
|
||||
if (disableAccount(user.getAccountId()))
|
||||
return _userAccountDao.findById(userId);
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to disable corresponding account for the user " + userId);
|
||||
|
||||
} else {
|
||||
return false;
|
||||
throw new CloudRuntimeException("Unable to disable user " + userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean enableUser(EnableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public UserAccount enableUser(EnableUserCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long userId = cmd.getId();
|
||||
Account adminAccount = UserContext.current().getAccount();
|
||||
boolean success = false;
|
||||
|
|
@ -1004,11 +1008,13 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
// make sure the account is enabled too
|
||||
success = (success && enableAccount(user.getAccountId()));
|
||||
|
||||
return success;
|
||||
if (success)
|
||||
return _userAccountDao.findById(userId);
|
||||
else throw new CloudRuntimeException("Unable to enable user " + userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean lockUser(LockUserCmd cmd) {
|
||||
public UserAccount lockUser(LockUserCmd cmd) {
|
||||
boolean success = false;
|
||||
|
||||
Account adminAccount = UserContext.current().getAccount();
|
||||
|
|
@ -1036,7 +1042,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
// if the user is either locked already or disabled already, don't change state...only lock currently enabled users
|
||||
if (user.getState().equals(Account.ACCOUNT_STATE_LOCKED)) {
|
||||
// already locked...no-op
|
||||
return true;
|
||||
return _userAccountDao.findById(id);
|
||||
} else if (user.getState().equals(Account.ACCOUNT_STATE_ENABLED)) {
|
||||
success = doSetUserStatus(user.getId(), Account.ACCOUNT_STATE_LOCKED);
|
||||
|
||||
|
|
@ -1057,7 +1063,11 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
s_logger.info("Attempting to lock a non-enabled user, current state is " + user.getState() + " (userId: " + user.getId() + "), locking failed.");
|
||||
}
|
||||
}
|
||||
return success;
|
||||
|
||||
if (success)
|
||||
return _userAccountDao.findById(id);
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to lock user " + id);
|
||||
}
|
||||
|
||||
private boolean doSetUserStatus(long userId, String state) {
|
||||
|
|
@ -1067,7 +1077,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean disableAccount(DisableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
public AccountVO disableAccount(DisableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException {
|
||||
String accountName = cmd.getAccountName();
|
||||
Long domainId = cmd.getDomainId();
|
||||
|
||||
|
|
@ -1080,7 +1090,10 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
if (account == null) {
|
||||
throw new InvalidParameterValueException("Unable to find account " + accountName + " in domain " + domainId);
|
||||
}
|
||||
return disableAccount(account.getId());
|
||||
if (disableAccount(account.getId()))
|
||||
return _accountDao.findById(account.getId());
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to update account " + accountName + " in domain " + domainId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1107,7 +1120,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean updateAccount(UpdateAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public AccountVO updateAccount(UpdateAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long domainId = cmd.getDomainId();
|
||||
String accountName = cmd.getAccountName();
|
||||
String newAccountName = cmd.getNewName();
|
||||
|
|
@ -1143,7 +1156,10 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
acctForUpdate.setAccountName(newAccountName);
|
||||
success = _accountDao.update(Long.valueOf(account.getId()), acctForUpdate);
|
||||
}
|
||||
return success;
|
||||
if (success)
|
||||
return _accountDao.findById(account.getId());
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to update account " + accountName + " in domain " + domainId);
|
||||
}
|
||||
|
||||
private boolean doDisableAccount(long accountId) {
|
||||
|
|
@ -1176,7 +1192,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
|
||||
|
||||
@Override
|
||||
public boolean enableAccount(EnableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public AccountVO enableAccount(EnableAccountCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
String accountName = cmd.getAccountName();
|
||||
Long domainId = cmd.getDomainId();
|
||||
boolean success = false;
|
||||
|
|
@ -1200,7 +1216,10 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
success = enableAccount(account.getId());
|
||||
return success;
|
||||
if (success)
|
||||
return _accountDao.findById(account.getId());
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to enable account " + accountName + " in domain " + domainId);
|
||||
}
|
||||
|
||||
private boolean lockAccountInternal(long accountId) {
|
||||
|
|
@ -1225,7 +1244,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean updateUser(UpdateUserCmd cmd) throws InvalidParameterValueException {
|
||||
public UserAccount updateUser(UpdateUserCmd cmd) throws InvalidParameterValueException {
|
||||
Long id = cmd.getId();
|
||||
String apiKey = cmd.getApiKey();
|
||||
String firstName = cmd.getFirstname();
|
||||
|
|
@ -1307,9 +1326,9 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
s_logger.error("error updating user", th);
|
||||
EventUtils.saveEvent(Long.valueOf(1), Long.valueOf(1), EventVO.LEVEL_ERROR, EventTypes.EVENT_USER_UPDATE, "Error updating user, " + userName
|
||||
+ " for accountId = " + accountId + " and domainId = " + userAccount.getDomainId());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
throw new CloudRuntimeException("Unable to update user " + id);
|
||||
}
|
||||
return _userAccountDao.findById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -4169,9 +4188,9 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean updateDomain(UpdateDomainCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
public DomainVO updateDomain(UpdateDomainCmd cmd) throws InvalidParameterValueException, PermissionDeniedException{
|
||||
Long domainId = cmd.getId();
|
||||
String domainName = cmd.getName();
|
||||
String domainName = cmd.getDomainName();
|
||||
|
||||
//check if domain exists in the system
|
||||
DomainVO domain = _domainDao.findById(domainId);
|
||||
|
|
@ -4188,8 +4207,8 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
throw new PermissionDeniedException("Unable to update domain " + domainId + ", permission denied");
|
||||
}
|
||||
|
||||
if (domainName == null) {
|
||||
domainName = domain.getName();
|
||||
if (domainName == null || domainName.equals(domain.getName())) {
|
||||
return _domainDao.findById(domainId);
|
||||
}
|
||||
|
||||
SearchCriteria<DomainVO> sc = _domainDao.createSearchCriteria();
|
||||
|
|
@ -4199,11 +4218,12 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
_domainDao.update(domainId, domainName);
|
||||
domain = _domainDao.findById(domainId);
|
||||
EventUtils.saveEvent(new Long(1), domain.getAccountId(), EventVO.LEVEL_INFO, EventTypes.EVENT_DOMAIN_UPDATE, "Domain, " + domainName + " was updated");
|
||||
return true;
|
||||
return _domainDao.findById(domainId);
|
||||
} else {
|
||||
domain = _domainDao.findById(domainId);
|
||||
EventUtils.saveEvent(new Long(1), domain.getAccountId(), EventVO.LEVEL_ERROR, EventTypes.EVENT_DOMAIN_UPDATE, "Failed to update domain " + domain.getName() + " with name " + domainName + ", name in use.");
|
||||
return false;
|
||||
s_logger.error("Domain with name " + domainName + " already exists in the system");
|
||||
throw new CloudRuntimeException("Fail to update domain " + domainId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5491,7 +5511,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean lockAccount(LockAccountCmd cmd) {
|
||||
public AccountVO lockAccount(LockAccountCmd cmd) {
|
||||
Account adminAccount = UserContext.current().getAccount();
|
||||
Long domainId = cmd.getDomainId();
|
||||
String accountName = cmd.getAccountName();
|
||||
|
|
@ -5510,7 +5530,10 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "can not lock system account");
|
||||
}
|
||||
|
||||
return lockAccountInternal(account.getId());
|
||||
if (lockAccountInternal(account.getId()))
|
||||
return _accountDao.findById(account.getId());
|
||||
else
|
||||
throw new CloudRuntimeException("Unable to lock account " + accountName + " in domain " + domainId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue