You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2013/02/26 23:13:38 UTC
[14/28] git commit: refs/heads/vim51_win8 - CLOUDSTACK-241: Removed
API based account sync. Removed all the related API changes and
RegionsAPIUtil. Converted tabs to spaces in the related files. Verified
account, user and domain APIs.
CLOUDSTACK-241: Removed API based account sync. Removed all the related API changes and RegionsAPIUtil.
Converted tabs to spaces in the related files.
Verified account, user and domain APIs.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/e37fdce1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/e37fdce1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/e37fdce1
Branch: refs/heads/vim51_win8
Commit: e37fdce125511535961c77a77d253ce232a954d0
Parents: 0383803
Author: Kishan Kavala <ki...@cloud.com>
Authored: Mon Feb 25 18:26:51 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Tue Feb 26 14:21:21 2013 +0530
----------------------------------------------------------------------
api/src/com/cloud/user/AccountService.java | 4 +-
api/src/com/cloud/user/DomainService.java | 2 +-
.../org/apache/cloudstack/api/ApiConstants.java | 5 +-
.../command/admin/account/CreateAccountCmd.java | 28 +-
.../command/admin/account/DeleteAccountCmd.java | 7 -
.../command/admin/account/DisableAccountCmd.java | 15 +-
.../command/admin/account/EnableAccountCmd.java | 8 +-
.../command/admin/account/UpdateAccountCmd.java | 10 +-
.../api/command/admin/domain/CreateDomainCmd.java | 16 +-
.../api/command/admin/domain/DeleteDomainCmd.java | 7 -
.../api/command/admin/domain/UpdateDomainCmd.java | 7 -
.../api/command/admin/user/CreateUserCmd.java | 16 +-
.../api/command/admin/user/DeleteUserCmd.java | 7 -
.../api/command/admin/user/DisableUserCmd.java | 7 -
.../api/command/admin/user/EnableUserCmd.java | 7 -
.../api/command/admin/user/UpdateUserCmd.java | 7 -
.../apache/cloudstack/region/RegionService.java | 136 ++--
core/src/com/cloud/user/AccountVO.java | 40 +-
core/src/com/cloud/user/UserVO.java | 23 +-
.../src/com/cloud/projects/ProjectManagerImpl.java | 2 +-
server/src/com/cloud/user/AccountManager.java | 14 +-
server/src/com/cloud/user/AccountManagerImpl.java | 90 +--
server/src/com/cloud/user/DomainManager.java | 2 +-
server/src/com/cloud/user/DomainManagerImpl.java | 24 +-
server/src/com/cloud/user/dao/AccountDaoImpl.java | 90 +-
.../apache/cloudstack/region/RegionManager.java | 204 +---
.../cloudstack/region/RegionManagerImpl.java | 822 ++-------------
.../cloudstack/region/RegionServiceImpl.java | 230 ++---
.../apache/cloudstack/region/RegionsApiUtil.java | 306 ------
.../com/cloud/user/MockAccountManagerImpl.java | 46 +-
.../test/com/cloud/user/MockDomainManagerImpl.java | 38 +-
.../cloudstack/region/RegionManagerTest.java | 35 +-
setup/db/db/schema-40to410.sql | 9 -
33 files changed, 418 insertions(+), 1846 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/com/cloud/user/AccountService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/AccountService.java b/api/src/com/cloud/user/AccountService.java
index 8026891..f9c6ddb 100755
--- a/api/src/com/cloud/user/AccountService.java
+++ b/api/src/com/cloud/user/AccountService.java
@@ -62,7 +62,7 @@ public interface AccountService {
* @return the user if created successfully, null otherwise
*/
UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
- Map<String, String> details, String accountUUID, String userUUID, Integer regionId);
+ Map<String, String> details);
/**
* Locks a user by userId. A locked user cannot access the API, but will still have running VMs/IP addresses
@@ -77,7 +77,7 @@ public interface AccountService {
User getSystemUser();
- User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, Integer regionId);
+ User createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId);
boolean isAdmin(short accountType);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/com/cloud/user/DomainService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/DomainService.java b/api/src/com/cloud/user/DomainService.java
index 1a96354..1f03019 100644
--- a/api/src/com/cloud/user/DomainService.java
+++ b/api/src/com/cloud/user/DomainService.java
@@ -27,7 +27,7 @@ import com.cloud.utils.Pair;
public interface DomainService {
- Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID, Integer regionId);
+ Domain createDomain(String name, Long parentId, String networkDomain);
Domain getDomain(long id);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/ApiConstants.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java b/api/src/org/apache/cloudstack/api/ApiConstants.java
index 0e4cbe1..2a09de8 100755
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -379,9 +379,8 @@ public class ApiConstants {
public static final String VSM_CONFIG_STATE = "vsmconfigstate";
public static final String VSM_DEVICE_STATE = "vsmdevicestate";
public static final String ADD_VSM_FLAG = "addvsmflag";
- public static final String END_POINT = "endpoint";
- public static final String REGION_ID = "regionid";
- public static final String IS_PROPAGATE = "ispropagate";
+ public static final String END_POINT = "endpoint";
+ public static final String REGION_ID = "regionid";
public static final String VPC_OFF_ID = "vpcofferingid";
public static final String NETWORK = "network";
public static final String VPC_ID = "vpcid";
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
index b0f73d1..57789c9 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/CreateAccountCmd.java
@@ -78,19 +78,6 @@ public class CreateAccountCmd extends BaseCmd {
@Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
private Map<String, String> details;
- //@Parameter(name = ApiConstants.REGION_DETAILS, type = CommandType.MAP, description = "details for account used to store region specific parameters")
- //private Map<String, String> regionDetails;
-
- @Parameter(name=ApiConstants.ACCOUNT_ID, type=CommandType.STRING, description="Account UUID, required for adding account from another Region")
- private String accountUUID;
-
- @Parameter(name=ApiConstants.USER_ID, type=CommandType.STRING, description="User UUID, required for adding account from another Region")
- private String userUUID;
-
- @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the account")
- private Integer regionId;
-
-
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -145,18 +132,6 @@ public class CreateAccountCmd extends BaseCmd {
return params;
}
- public String getAccountUUID() {
- return accountUUID;
- }
-
- public String getUserUUID() {
- return userUUID;
- }
-
- public Integer getRegionId() {
- return regionId;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -174,8 +149,7 @@ public class CreateAccountCmd extends BaseCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Account Name: "+getAccountName()+", Domain Id:"+getDomainId());
- UserAccount userAccount = _accountService.createUserAccount(getUsername(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimeZone(), getAccountName(), getAccountType(), getDomainId(), getNetworkDomain(), getDetails(),
- getAccountUUID(), getUserUUID(), getRegionId());
+ UserAccount userAccount = _accountService.createUserAccount(getUsername(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimeZone(), getAccountName(), getAccountType(), getDomainId(), getNetworkDomain(), getDetails());
if (userAccount != null) {
AccountResponse response = _responseGenerator.createUserAccountResponse(userAccount);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
index 959d7ce..ff6d0d2 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/DeleteAccountCmd.java
@@ -48,9 +48,6 @@ public class DeleteAccountCmd extends BaseAsyncCmd {
required=true, description="Account id")
private Long id;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -62,10 +59,6 @@ public class DeleteAccountCmd extends BaseAsyncCmd {
return id;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
index 60e9fd5..fceb192 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/DisableAccountCmd.java
@@ -58,9 +58,6 @@ public class DisableAccountCmd extends BaseAsyncCmd {
@Parameter(name=ApiConstants.LOCK, type=CommandType.BOOLEAN, required=true, description="If true, only lock the account; else disable the account")
private Boolean lockRequested;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -79,14 +76,10 @@ public class DisableAccountCmd extends BaseAsyncCmd {
return domainId;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
public Boolean getLockRequested() {
- return lockRequested;
- }
-
+ return lockRequested;
+ }
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -124,7 +117,7 @@ public class DisableAccountCmd extends BaseAsyncCmd {
@Override
public void execute() throws ConcurrentOperationException, ResourceUnavailableException{
UserContext.current().setEventDetails("Account Name: "+getAccountName()+", Domain Id:"+getDomainId());
- Account result = _regionService.disableAccount(this);
+ Account result = _regionService.disableAccount(this);
if (result != null){
AccountResponse response = _responseGenerator.createAccountResponse(result);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
index 9a92f78..d07ea79 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/EnableAccountCmd.java
@@ -50,9 +50,6 @@ public class EnableAccountCmd extends BaseCmd {
description="Enables specified account in this domain.")
private Long domainId;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -71,9 +68,6 @@ public class EnableAccountCmd extends BaseCmd {
return domainId;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
@@ -101,7 +95,7 @@ public class EnableAccountCmd extends BaseCmd {
@Override
public void execute(){
- Account result = _regionService.enableAccount(this);
+ Account result = _regionService.enableAccount(this);
if (result != null){
AccountResponse response = _responseGenerator.createAccountResponse(result);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java b/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
index 6fad48b..6aa853f 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/account/UpdateAccountCmd.java
@@ -63,9 +63,6 @@ public class UpdateAccountCmd extends BaseCmd{
@Parameter(name = ApiConstants.ACCOUNT_DETAILS, type = CommandType.MAP, description = "details for account used to store specific parameters")
private Map details;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -102,10 +99,7 @@ public class UpdateAccountCmd extends BaseCmd{
return params;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
+
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -131,7 +125,7 @@ public class UpdateAccountCmd extends BaseCmd{
@Override
public void execute(){
- Account result = _regionService.updateAccount(this);
+ Account result = _regionService.updateAccount(this);
if (result != null){
AccountResponse response = _responseGenerator.createAccountResponse(result);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
index e0ba693..5eae486 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
@@ -49,12 +49,6 @@ public class CreateDomainCmd extends BaseCmd {
@Parameter(name=ApiConstants.NETWORK_DOMAIN, type=CommandType.STRING, description="Network domain for networks in the domain")
private String networkDomain;
- @Parameter(name=ApiConstants.DOMAIN_ID, type=CommandType.STRING, description="Domain UUID, required for adding domain from another Region")
- private String domainUUID;
-
- @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the Domain")
- private Integer regionId;
-
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -71,14 +65,6 @@ public class CreateDomainCmd extends BaseCmd {
return networkDomain;
}
- public String getDomainUUID() {
- return domainUUID;
- }
-
- public Integer getRegionId() {
- return regionId;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -96,7 +82,7 @@ public class CreateDomainCmd extends BaseCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("Domain Name: "+getDomainName()+((getParentDomainId()!=null)?", Parent DomainId :"+getParentDomainId():""));
- Domain domain = _domainService.createDomain(getDomainName(), getParentDomainId(), getNetworkDomain(), getDomainUUID(), getRegionId());
+ Domain domain = _domainService.createDomain(getDomainName(), getParentDomainId(), getNetworkDomain());
if (domain != null) {
DomainResponse response = _responseGenerator.createDomainResponse(domain);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
index eae393d..97e7afa 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
@@ -50,9 +50,6 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
@Parameter(name=ApiConstants.CLEANUP, type=CommandType.BOOLEAN, description="true if all domain resources (child domains, accounts) have to be cleaned up, false otherwise")
private Boolean cleanup;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean propagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -67,10 +64,6 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
return cleanup;
}
- public Boolean isPropagate() {
- return propagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java b/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
index c217f16..91c8346 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/domain/UpdateDomainCmd.java
@@ -52,9 +52,6 @@ public class UpdateDomainCmd extends BaseCmd {
@Parameter(name=ApiConstants.NETWORK_DOMAIN, type=CommandType.STRING, description="Network domain for the domain's networks; empty string will update domainName with NULL value")
private String networkDomain;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -73,10 +70,6 @@ public class UpdateDomainCmd extends BaseCmd {
return networkDomain;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
index d1f72c4..6ea8d9b 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/CreateUserCmd.java
@@ -65,12 +65,6 @@ public class CreateUserCmd extends BaseCmd {
@Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, required=true, description="Unique username.")
private String username;
- @Parameter(name=ApiConstants.USER_ID, type=CommandType.STRING, description="User UUID, required for adding account from another Region")
- private String userUUID;
-
- @Parameter(name=ApiConstants.REGION_ID, type=CommandType.INTEGER, description="Id of the Region creating the User")
- private Integer regionId;
-
/////////////////////////////////////////////////////
/////////////////// Accessors ///////////////////////
/////////////////////////////////////////////////////
@@ -107,14 +101,6 @@ public class CreateUserCmd extends BaseCmd {
return username;
}
- public String getUserUUID() {
- return userUUID;
- }
-
- public Integer getRegionId() {
- return regionId;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
@@ -146,7 +132,7 @@ public class CreateUserCmd extends BaseCmd {
@Override
public void execute(){
UserContext.current().setEventDetails("UserName: "+getUserName()+", FirstName :"+getFirstName()+", LastName: "+getLastName());
- User user = _accountService.createUser(getUserName(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimezone(), getAccountName(), getDomainId(), getUserUUID(), getRegionId());
+ User user = _accountService.createUser(getUserName(), getPassword(), getFirstName(), getLastName(), getEmail(), getTimezone(), getAccountName(), getDomainId());
if (user != null) {
UserResponse response = _responseGenerator.createUserResponse(user);
response.setResponseName(getCommandName());
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
index e8f671d..68ddbe7 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/DeleteUserCmd.java
@@ -45,9 +45,6 @@ public class DeleteUserCmd extends BaseCmd {
@Parameter(name=ApiConstants.ID, type=CommandType.UUID, entityType=UserResponse.class, required=true, description="Deletes a user")
private Long id;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -58,10 +55,6 @@ public class DeleteUserCmd extends BaseCmd {
return id;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
index 95013ec..a7008af 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/DisableUserCmd.java
@@ -49,9 +49,6 @@ public class DisableUserCmd extends BaseAsyncCmd {
required=true, description="Disables user by user ID.")
private Long id;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -62,10 +59,6 @@ public class DisableUserCmd extends BaseAsyncCmd {
return id;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
index c1ba900..c51b310 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/EnableUserCmd.java
@@ -46,9 +46,6 @@ public class EnableUserCmd extends BaseCmd {
required=true, description="Enables user by user ID.")
private Long id;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -59,10 +56,6 @@ public class EnableUserCmd extends BaseCmd {
return id;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java b/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
index ee59d07..1212cd9 100644
--- a/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
+++ b/api/src/org/apache/cloudstack/api/command/admin/user/UpdateUserCmd.java
@@ -71,9 +71,6 @@ public class UpdateUserCmd extends BaseCmd {
@Parameter(name=ApiConstants.USERNAME, type=CommandType.STRING, description="Unique username")
private String username;
- @Parameter(name=ApiConstants.IS_PROPAGATE, type=CommandType.BOOLEAN, description="True if command is sent from another Region")
- private Boolean isPropagate;
-
@Inject RegionService _regionService;
/////////////////////////////////////////////////////
@@ -116,10 +113,6 @@ public class UpdateUserCmd extends BaseCmd {
return username;
}
- public Boolean getIsPropagate() {
- return isPropagate;
- }
-
/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
/////////////////////////////////////////////////////
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/api/src/org/apache/cloudstack/region/RegionService.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/region/RegionService.java b/api/src/org/apache/cloudstack/region/RegionService.java
index 8679ca9..ec7876e 100644
--- a/api/src/org/apache/cloudstack/region/RegionService.java
+++ b/api/src/org/apache/cloudstack/region/RegionService.java
@@ -38,41 +38,41 @@ import com.cloud.user.UserAccount;
public interface RegionService {
- /**
- * Adds a Region to the local Region
- * @param id
- * @param name
- * @param endPoint
- * @param apiKey
- * @param secretKey
- * @return Return added Region object
- */
- public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-
- /**
- * Update details of the Region with specified Id
- * @param id
- * @param name
- * @param endPoint
- * @param apiKey
- * @param secretKey
- * @return Return updated Region object
- */
- public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-
- /**
- * @param id
- * @return True if region is successfully removed
- */
- public boolean removeRegion(int id);
-
- /** List all Regions or by Id/Name
- * @param id
- * @param name
- * @return List of Regions
- */
- public List<? extends Region> listRegions(ListRegionsCmd cmd);
-
+ /**
+ * Adds a Region to the local Region
+ * @param id
+ * @param name
+ * @param endPoint
+ * @param apiKey
+ * @param secretKey
+ * @return Return added Region object
+ */
+ public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
+ /**
+ * Update details of the Region with specified Id
+ * @param id
+ * @param name
+ * @param endPoint
+ * @param apiKey
+ * @param secretKey
+ * @return Return updated Region object
+ */
+ public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
+ /**
+ * @param id
+ * @return True if region is successfully removed
+ */
+ public boolean removeRegion(int id);
+
+ /** List all Regions or by Id/Name
+ * @param id
+ * @param name
+ * @return List of Regions
+ */
+ public List<? extends Region> listRegions(ListRegionsCmd cmd);
+
/**
* Deletes a user by userId
* isPopagate flag is set to true if sent from peer Region
@@ -80,8 +80,8 @@ public interface RegionService {
*
* @return true if delete was successful, false otherwise
*/
- boolean deleteUserAccount(DeleteAccountCmd cmd);
-
+ boolean deleteUserAccount(DeleteAccountCmd cmd);
+
/**
* Updates an account
* isPopagate falg is set to true if sent from peer Region
@@ -91,22 +91,22 @@ public interface RegionService {
* @return updated account object
*/
Account updateAccount(UpdateAccountCmd cmd);
-
- /**
- * Disables an account by accountName and domainId or accountId
- * @param cmd
- * @return
- * @throws ResourceUnavailableException
- * @throws ConcurrentOperationException
- */
- Account disableAccount(DisableAccountCmd cmd) throws ConcurrentOperationException, ResourceUnavailableException;
-
- /**
- * Enables an account by accountId
- * @param cmd
- * @return
- */
- Account enableAccount(EnableAccountCmd cmd);
+
+ /**
+ * Disables an account by accountName and domainId or accountId
+ * @param cmd
+ * @return
+ * @throws ResourceUnavailableException
+ * @throws ConcurrentOperationException
+ */
+ Account disableAccount(DisableAccountCmd cmd) throws ConcurrentOperationException, ResourceUnavailableException;
+
+ /**
+ * Enables an account by accountId
+ * @param cmd
+ * @return
+ */
+ Account enableAccount(EnableAccountCmd cmd);
/**
* Deletes user by Id
@@ -114,7 +114,7 @@ public interface RegionService {
* @return true if delete was successful, false otherwise
*/
boolean deleteUser(DeleteUserCmd deleteUserCmd);
-
+
/**
* update an existing domain
*
@@ -122,36 +122,36 @@ public interface RegionService {
* - the command containing domainId and new domainName
* @return Domain object if the command succeeded
*/
- public Domain updateDomain(UpdateDomainCmd updateDomainCmd);
-
- /**
- * Deletes domain
- * @param cmd
- * @return true if delete was successful, false otherwise
- */
- public boolean deleteDomain(DeleteDomainCmd cmd);
-
+ public Domain updateDomain(UpdateDomainCmd updateDomainCmd);
+
+ /**
+ * Deletes domain
+ * @param cmd
+ * @return true if delete was successful, false otherwise
+ */
+ public boolean deleteDomain(DeleteDomainCmd cmd);
+
/**
* Update a user by userId
*
* @param userId
* @return UserAccount object
*/
- public UserAccount updateUser(UpdateUserCmd updateUserCmd);
-
+ public UserAccount updateUser(UpdateUserCmd updateUserCmd);
+
/**
* Disables a user by userId
*
* @param cmd
* @return UserAccount object
*/
- public UserAccount disableUser(DisableUserCmd cmd);
-
+ public UserAccount disableUser(DisableUserCmd cmd);
+
/**
* Enables a user
*
* @param cmd
* @return UserAccount object
*/
- public UserAccount enableUser(EnableUserCmd cmd);
+ public UserAccount enableUser(EnableUserCmd cmd);
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/core/src/com/cloud/user/AccountVO.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/user/AccountVO.java b/core/src/com/cloud/user/AccountVO.java
index fd37c77..3711179 100644
--- a/core/src/com/cloud/user/AccountVO.java
+++ b/core/src/com/cloud/user/AccountVO.java
@@ -68,32 +68,32 @@ public class AccountVO implements Account {
@Column(name="region_id")
private int regionId;
-
+
public AccountVO() {
- this.uuid = UUID.randomUUID().toString();
+ this.uuid = UUID.randomUUID().toString();
}
public AccountVO(long id) {
this.id = id;
- this.uuid = UUID.randomUUID().toString();
+ this.uuid = UUID.randomUUID().toString();
}
-
- public AccountVO(String accountName, long domainId, String networkDomain, short type, String uuid, int regionId) {
+
+ public AccountVO(String accountName, long domainId, String networkDomain, short type, int regionId) {
this.accountName = accountName;
this.domainId = domainId;
this.networkDomain = networkDomain;
this.type = type;
this.state = State.enabled;
- this.uuid = uuid;
+ this.uuid = UUID.randomUUID().toString();
this.regionId = regionId;
}
public void setNeedsCleanup(boolean value) {
- needsCleanup = value;
+ needsCleanup = value;
}
public boolean getNeedsCleanup() {
- return needsCleanup;
+ return needsCleanup;
}
@Override
@@ -102,10 +102,10 @@ public class AccountVO implements Account {
}
public void setId(long id) {
- this.id = id;
- }
+ this.id = id;
+ }
- @Override
+ @Override
public String getAccountName() {
return accountName;
}
@@ -134,11 +134,11 @@ public class AccountVO implements Account {
@Override
public Long getDefaultZoneId() {
- return defaultZoneId;
+ return defaultZoneId;
}
public void setDefaultZoneId(Long defaultZoneId) {
- this.defaultZoneId = defaultZoneId;
+ this.defaultZoneId = defaultZoneId;
}
@Override
@@ -176,18 +176,14 @@ public class AccountVO implements Account {
@Override
public String getUuid() {
- return this.uuid;
+ return this.uuid;
}
public void setUuid(String uuid) {
- this.uuid = uuid;
+ this.uuid = uuid;
}
- public int getRegionId() {
- return regionId;
- }
-
- public void setRegionId(int regionId) {
- this.regionId = regionId;
- }
+ public int getRegionId() {
+ return regionId;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/core/src/com/cloud/user/UserVO.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/user/UserVO.java b/core/src/com/cloud/user/UserVO.java
index de7f31b..1780db4 100644
--- a/core/src/com/cloud/user/UserVO.java
+++ b/core/src/com/cloud/user/UserVO.java
@@ -95,7 +95,7 @@ public class UserVO implements User, Identity, InternalIdentity {
@Column(name="region_id")
private int regionId;
-
+
public UserVO() {
this.uuid = UUID.randomUUID().toString();
}
@@ -104,8 +104,8 @@ public class UserVO implements User, Identity, InternalIdentity {
this.id = id;
this.uuid = UUID.randomUUID().toString();
}
-
- public UserVO(long accountId, String username, String password, String firstName, String lastName, String email, String timezone, String uuid, int regionId) {
+
+ public UserVO(long accountId, String username, String password, String firstName, String lastName, String email, String timezone, int regionId) {
this.accountId = accountId;
this.username = username;
this.password = password;
@@ -114,10 +114,10 @@ public class UserVO implements User, Identity, InternalIdentity {
this.email = email;
this.timezone = timezone;
this.state = State.enabled;
- this.uuid = uuid;
- this.regionId = regionId;
+ this.uuid = UUID.randomUUID().toString();
+ this.regionId = regionId;
}
-
+
@Override
public long getId() {
return id;
@@ -265,12 +265,9 @@ public class UserVO implements User, Identity, InternalIdentity {
public void setUuid(String uuid) {
this.uuid = uuid;
}
-
- public int getRegionId() {
- return regionId;
- }
- public void setRegionId(int regionId) {
- this.regionId = regionId;
- }
+ public int getRegionId() {
+ return regionId;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/projects/ProjectManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/projects/ProjectManagerImpl.java b/server/src/com/cloud/projects/ProjectManagerImpl.java
index 45a9a24..72ed940 100755
--- a/server/src/com/cloud/projects/ProjectManagerImpl.java
+++ b/server/src/com/cloud/projects/ProjectManagerImpl.java
@@ -204,7 +204,7 @@ public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
StringBuilder acctNm = new StringBuilder("PrjAcct-");
acctNm.append(name).append("-").append(owner.getDomainId());
- Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, domainId, null, null, "", 0);
+ Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, domainId, null, null);
Project project = _projectDao.persist(new ProjectVO(name, displayText, owner.getDomainId(), projectAccount.getId()));
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/user/AccountManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManager.java b/server/src/com/cloud/user/AccountManager.java
index 4b3a601..ff9f168 100755
--- a/server/src/com/cloud/user/AccountManager.java
+++ b/server/src/com/cloud/user/AccountManager.java
@@ -47,14 +47,14 @@ public interface AccountManager extends AccountService {
boolean deleteAccount(AccountVO account, long callerUserId, Account caller);
- boolean cleanupAccount(AccountVO account, long callerUserId, Account caller);
+ boolean cleanupAccount(AccountVO account, long callerUserId, Account caller);
+
+ Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId);
+
+ Account createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details);
+
+ UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone);
- Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId);
-
- Account createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid, int regionId);
-
- UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone);
-
/**
* Logs out a user
* @param userId
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index f9a61e8..b1f8146 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -764,7 +764,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@DB
@ActionEvent(eventType = EventTypes.EVENT_ACCOUNT_CREATE, eventDescription = "creating Account")
public UserAccount createUserAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
- Map<String, String> details, String accountUUID, String userUUID, Integer regionId) {
+ Map<String, String> details) {
if (accountName == null) {
accountName = userName;
@@ -806,41 +806,16 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
}
}
- if(regionId == null){
- Transaction txn = Transaction.currentTxn();
- txn.start();
-
- // create account
- AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, UUID.randomUUID().toString(), _regionMgr.getId());
- long accountId = account.getId();
-
- // create the first user for the account
- UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone);
-
- if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
- // set registration token
- byte[] bytes = (domainId + accountName + userName + System.currentTimeMillis()).getBytes();
- String registrationToken = UUID.nameUUIDFromBytes(bytes).toString();
- user.setRegistrationToken(registrationToken);
- }
- txn.commit();
- //Propagate Add account to other Regions
- _regionMgr.propagateAddAccount(userName, password, firstName, lastName, email, timezone, accountName, accountType, domainId,
- networkDomain, details, account.getUuid(), user.getUuid());
- //check success
- return _userAccountDao.findById(user.getId());
- } else {
- // Account is propagated from another Region
- Transaction txn = Transaction.currentTxn();
+ Transaction txn = Transaction.currentTxn();
txn.start();
// create account
- AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details, accountUUID, regionId);
+ AccountVO account = createAccount(accountName, accountType, domainId, networkDomain, details);
long accountId = account.getId();
// create the first user for the account
- UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone, userUUID, regionId);
+ UserVO user = createUser(accountId, userName, password, firstName, lastName, email, timezone);
if (accountType == Account.ACCOUNT_TYPE_RESOURCE_DOMAIN_ADMIN) {
// set registration token
@@ -849,12 +824,13 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
user.setRegistrationToken(registrationToken);
}
txn.commit();
+ //check success
return _userAccountDao.findById(user.getId());
- }
+
}
@Override
- public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId, String userUUID, Integer regionId) {
+ public UserVO createUser(String userName, String password, String firstName, String lastName, String email, String timeZone, String accountName, Long domainId) {
// default domain to ROOT if not specified
if (domainId == null) {
@@ -882,15 +858,8 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
if (!_userAccountDao.validateUsernameInDomain(userName, domainId)) {
throw new CloudRuntimeException("The user " + userName + " already exists in domain " + domainId);
}
- UserVO user = null;
- if(regionId == null){
- user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone);
- //Propagate Add user to peer Regions
- _regionMgr.propagateAddUser(userName, password, firstName, lastName, email, timeZone, accountName, domain.getUuid(), user.getUuid());
- } else {
- user = createUser(account.getId(), userName, password, firstName, lastName, email, timeZone, userUUID, regionId);
- }
- return user;
+
+ return createUser(account.getId(), userName, password, firstName, lastName, email, timeZone);
}
@Override
@@ -975,7 +944,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
}
}
if (encodedPassword == null) {
- throw new CloudRuntimeException("Failed to encode password");
+ throw new CloudRuntimeException("Failed to encode password");
}
user.setPassword(encodedPassword);
}
@@ -1297,7 +1266,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
String newAccountName = cmd.getNewName();
String networkDomain = cmd.getNetworkDomain();
Map<String, String> details = cmd.getDetails();
-
+
boolean success = false;
Account account = null;
if (accountId != null) {
@@ -1677,7 +1646,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override
@DB
- public AccountVO createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details, String uuid, int regionId) {
+ public AccountVO createAccount(String accountName, short accountType, Long domainId, String networkDomain, Map details) {
// Validate domain
Domain domain = _domainMgr.getDomain(domainId);
if (domain == null) {
@@ -1721,7 +1690,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
Transaction txn = Transaction.currentTxn();
txn.start();
- AccountVO account = _accountDao.persist(new AccountVO(accountName, domainId, networkDomain, accountType, uuid, regionId));
+ AccountVO account = _accountDao.persist(new AccountVO(accountName, domainId, networkDomain, accountType, _accountDao.getRegionId()));
if (account == null) {
throw new CloudRuntimeException("Failed to create account name " + accountName + " in domain id=" + domainId);
@@ -1749,7 +1718,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
if (s_logger.isDebugEnabled()) {
s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
}
-
+
String encodedPassword = null;
for (UserAuthenticator authenticator : _userAuthenticators) {
encodedPassword = authenticator.encode(password);
@@ -1758,33 +1727,10 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
}
}
if (encodedPassword == null) {
- throw new CloudRuntimeException("Failed to encode password");
- }
-
- UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, UUID.randomUUID().toString(), _regionMgr.getId()));
-
- return user;
- }
-
- //ToDo Add events??
- public UserVO createUser(long accountId, String userName, String password, String firstName, String lastName, String email, String timezone, String uuid, int regionId) {
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Creating user: " + userName + ", accountId: " + accountId + " timezone:" + timezone);
+ throw new CloudRuntimeException("Failed to encode password");
}
- String encodedPassword = null;
- for (Iterator<UserAuthenticator> en = _userAuthenticators.iterator(); en.hasNext();) {
- UserAuthenticator authenticator = en.next();
- encodedPassword = authenticator.encode(password);
- if (encodedPassword != null) {
- break;
- }
- }
- if (encodedPassword == null) {
- throw new CloudRuntimeException("Failed to encode password");
- }
-
- UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, uuid, regionId));
+ UserVO user = _userDao.persist(new UserVO(accountId, userName, encodedPassword, firstName, lastName, email, timezone, _userDao.getRegionId()));
return user;
}
@@ -2014,7 +1960,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
@Override @DB
public String[] createApiKeyAndSecretKey(RegisterCmd cmd) {
- //Send keys to other Regions
+ //Send keys to other Regions
Long userId = cmd.getId();
User user = getUserIncludingRemoved(userId);
@@ -2243,7 +2189,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M
}
}
- @Override
+ @Override
public void buildACLViewSearchBuilder(SearchBuilder<? extends ControlledViewEntity> sb, Long domainId,
boolean isRecursive, List<Long> permittedAccounts, ListProjectResourcesCriteria listProjectResourcesCriteria) {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/user/DomainManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/DomainManager.java b/server/src/com/cloud/user/DomainManager.java
index af102e2..f268f6e 100644
--- a/server/src/com/cloud/user/DomainManager.java
+++ b/server/src/com/cloud/user/DomainManager.java
@@ -27,7 +27,7 @@ import com.cloud.domain.DomainVO;
public interface DomainManager extends DomainService {
Set<Long> getDomainChildrenIds(String parentDomainPath);
- Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID, Integer regionId);
+ Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain);
Set<Long> getDomainParentIds(long domainId);
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/user/DomainManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/DomainManagerImpl.java b/server/src/com/cloud/user/DomainManagerImpl.java
index 8ad9f5b..d7967d5 100644
--- a/server/src/com/cloud/user/DomainManagerImpl.java
+++ b/server/src/com/cloud/user/DomainManagerImpl.java
@@ -118,7 +118,7 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
@Override
@ActionEvent(eventType = EventTypes.EVENT_DOMAIN_CREATE, eventDescription = "creating Domain")
- public Domain createDomain(String name, Long parentId, String networkDomain, String domainUUID, Integer regionId) {
+ public Domain createDomain(String name, Long parentId, String networkDomain) {
Account caller = UserContext.current().getCaller();
if (parentId == null) {
@@ -136,13 +136,13 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
_accountMgr.checkAccess(caller, parentDomain);
- return createDomain(name, parentId, caller.getId(), networkDomain, domainUUID, regionId);
+ return createDomain(name, parentId, caller.getId(), networkDomain);
}
@Override
@DB
- public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain, String domainUUID, Integer regionId) {
+ public Domain createDomain(String name, Long parentId, Long ownerId, String networkDomain) {
// Verify network domain
if (networkDomain != null) {
if (!NetUtils.verifyDomainName(networkDomain)) {
@@ -161,28 +161,14 @@ public class DomainManagerImpl extends ManagerBase implements DomainManager, Dom
throw new InvalidParameterValueException("Domain with name " + name + " already exists for the parent id=" + parentId);
}
- if(regionId == null){
+
Transaction txn = Transaction.currentTxn();
txn.start();
- DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, _regionMgr.getId()));
+ DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, _regionMgr.getId()));
_resourceCountDao.createResourceCounts(domain.getId(), ResourceLimit.ResourceOwnerType.Domain);
txn.commit();
- //Propagate domain creation to peer Regions
- _regionMgr.propagateAddDomain(name, parentId, networkDomain, domain.getUuid());
- return domain;
- } else {
- Transaction txn = Transaction.currentTxn();
- txn.start();
-
- DomainVO domain = _domainDao.create(new DomainVO(name, ownerId, parentId, networkDomain, domainUUID, regionId));
- _resourceCountDao.createResourceCounts(domain.getId(), ResourceLimit.ResourceOwnerType.Domain);
-
- txn.commit();
return domain;
-
- }
-
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/com/cloud/user/dao/AccountDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/dao/AccountDaoImpl.java b/server/src/com/cloud/user/dao/AccountDaoImpl.java
index 892fdcd..3ffc1db 100755
--- a/server/src/com/cloud/user/dao/AccountDaoImpl.java
+++ b/server/src/com/cloud/user/dao/AccountDaoImpl.java
@@ -44,17 +44,17 @@ import com.cloud.utils.db.Transaction;
public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements AccountDao {
private static final Logger s_logger = Logger.getLogger(AccountDaoImpl.class);
private final String FIND_USER_ACCOUNT_BY_API_KEY = "SELECT u.id, u.username, u.account_id, u.secret_key, u.state, " +
- "a.id, a.account_name, a.type, a.domain_id, a.state " +
- "FROM `cloud`.`user` u, `cloud`.`account` a " +
- "WHERE u.account_id = a.id AND u.api_key = ? and u.removed IS NULL";
-
+ "a.id, a.account_name, a.type, a.domain_id, a.state " +
+ "FROM `cloud`.`user` u, `cloud`.`account` a " +
+ "WHERE u.account_id = a.id AND u.api_key = ? and u.removed IS NULL";
+
protected final SearchBuilder<AccountVO> AllFieldsSearch;
protected final SearchBuilder<AccountVO> AccountTypeSearch;
protected final SearchBuilder<AccountVO> DomainAccountsSearch;
protected final SearchBuilder<AccountVO> CleanupForRemovedAccountsSearch;
protected final SearchBuilder<AccountVO> CleanupForDisabledAccountsSearch;
protected final SearchBuilder<AccountVO> NonProjectAccountSearch;
-
+
public AccountDaoImpl() {
AllFieldsSearch = createSearchBuilder();
AllFieldsSearch.and("accountName", AllFieldsSearch.entity().getAccountName(), SearchCriteria.Op.EQ);
@@ -62,7 +62,7 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
AllFieldsSearch.and("state", AllFieldsSearch.entity().getState(), SearchCriteria.Op.EQ);
AllFieldsSearch.and("type", AllFieldsSearch.entity().getType(), SearchCriteria.Op.EQ);
AllFieldsSearch.done();
-
+
AccountTypeSearch = createSearchBuilder();
AccountTypeSearch.and("domainId", AccountTypeSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
AccountTypeSearch.and("type", AccountTypeSearch.entity().getType(), SearchCriteria.Op.EQ);
@@ -72,19 +72,19 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
DomainAccountsSearch.and("domainId", DomainAccountsSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
DomainAccountsSearch.and("removed", DomainAccountsSearch.entity().getRemoved(), SearchCriteria.Op.NULL);
DomainAccountsSearch.done();
-
+
CleanupForRemovedAccountsSearch = createSearchBuilder();
CleanupForRemovedAccountsSearch.and("cleanup", CleanupForRemovedAccountsSearch.entity().getNeedsCleanup(), SearchCriteria.Op.EQ);
CleanupForRemovedAccountsSearch.and("removed", CleanupForRemovedAccountsSearch.entity().getRemoved(), SearchCriteria.Op.NNULL);
CleanupForRemovedAccountsSearch.and("domainid", CleanupForRemovedAccountsSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
CleanupForRemovedAccountsSearch.done();
-
+
CleanupForDisabledAccountsSearch = createSearchBuilder();
CleanupForDisabledAccountsSearch.and("cleanup", CleanupForDisabledAccountsSearch.entity().getNeedsCleanup(), SearchCriteria.Op.EQ);
CleanupForDisabledAccountsSearch.and("removed", CleanupForDisabledAccountsSearch.entity().getRemoved(), SearchCriteria.Op.NULL);
CleanupForDisabledAccountsSearch.and("state", CleanupForDisabledAccountsSearch.entity().getState(), SearchCriteria.Op.EQ);
CleanupForDisabledAccountsSearch.done();
-
+
NonProjectAccountSearch = createSearchBuilder();
NonProjectAccountSearch.and("accountName", NonProjectAccountSearch.entity().getAccountName(), SearchCriteria.Op.EQ);
NonProjectAccountSearch.and("domainId", NonProjectAccountSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
@@ -92,28 +92,28 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
NonProjectAccountSearch.and("type", NonProjectAccountSearch.entity().getType(), SearchCriteria.Op.NEQ);
NonProjectAccountSearch.done();
}
-
+
@Override
public List<AccountVO> findCleanupsForRemovedAccounts(Long domainId) {
- SearchCriteria<AccountVO> sc = CleanupForRemovedAccountsSearch.create();
- sc.setParameters("cleanup", true);
-
- if (domainId != null) {
- sc.setParameters("domainid", domainId);
- }
-
- return searchIncludingRemoved(sc, null, null, false);
+ SearchCriteria<AccountVO> sc = CleanupForRemovedAccountsSearch.create();
+ sc.setParameters("cleanup", true);
+
+ if (domainId != null) {
+ sc.setParameters("domainid", domainId);
+ }
+
+ return searchIncludingRemoved(sc, null, null, false);
}
-
+
@Override
public List<AccountVO> findCleanupsForDisabledAccounts() {
SearchCriteria<AccountVO> sc = CleanupForDisabledAccountsSearch.create();
sc.setParameters("cleanup", true);
sc.setParameters("state", State.disabled);
-
+
return listBy(sc);
}
-
+
@Override
public Pair<User, Account> findUserAccountByApiKey(String apiKey) {
Transaction txn = Transaction.currentTxn();
@@ -160,7 +160,7 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
sc.setParameters("state", State.enabled);
return findOneBy(sc);
}
-
+
@Override
public Account findEnabledNonProjectAccount(String accountName, Long domainId) {
SearchCriteria<AccountVO> sc = NonProjectAccountSearch.create("accountName", accountName);
@@ -170,15 +170,15 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
return findOneBy(sc);
}
- @Override
- public Account findActiveAccount(String accountName, Long domainId) {
+ @Override
+ public Account findActiveAccount(String accountName, Long domainId) {
SearchCriteria<AccountVO> sc = AllFieldsSearch.create("accountName", accountName);
sc.setParameters("domainId", domainId);
return findOneBy(sc);
}
-
- @Override
- public Account findActiveNonProjectAccount(String accountName, Long domainId) {
+
+ @Override
+ public Account findActiveNonProjectAccount(String accountName, Long domainId) {
SearchCriteria<AccountVO> sc = NonProjectAccountSearch.create("accountName", accountName);
sc.setParameters("domainId", domainId);
sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT);
@@ -191,7 +191,7 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
sc.setParameters("domainId", domainId);
return findOneIncludingRemovedBy(sc);
}
-
+
@Override
public Account findNonProjectAccountIncludingRemoved(String accountName, Long domainId) {
SearchCriteria<AccountVO> sc = NonProjectAccountSearch.create("accountName", accountName);
@@ -199,7 +199,7 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
sc.setParameters("type", Account.ACCOUNT_TYPE_PROJECT);
return findOneIncludingRemovedBy(sc);
}
-
+
@Override
public List<AccountVO> listAccounts(String accountName, Long domainId, Filter filter) {
SearchCriteria<AccountVO> sc = AllFieldsSearch.create("accountName", accountName);
@@ -246,22 +246,22 @@ public class AccountDaoImpl extends GenericDaoBase<AccountVO, Long> implements A
return listIncludingRemovedBy(sc, filter);
}
- @Override
- public List<AccountVO> findActiveAccountsForDomain(Long domain) {
+ @Override
+ public List<AccountVO> findActiveAccountsForDomain(Long domain) {
SearchCriteria<AccountVO> sc = DomainAccountsSearch.create();
sc.setParameters("domainId", domain);
- return listBy(sc);
- }
-
- @Override
- public void markForCleanup(long accountId) {
- AccountVO account = findByIdIncludingRemoved(accountId);
- if (!account.getNeedsCleanup()) {
- account.setNeedsCleanup(true);
- if (!update(accountId, account)) {
- s_logger.warn("Failed to mark account id=" + accountId + " for cleanup");
- }
- }
- }
-
+ return listBy(sc);
+ }
+
+ @Override
+ public void markForCleanup(long accountId) {
+ AccountVO account = findByIdIncludingRemoved(accountId);
+ if (!account.getNeedsCleanup()) {
+ account.setNeedsCleanup(true);
+ if (!update(accountId, account)) {
+ s_logger.warn("Failed to mark account id=" + accountId + " for cleanup");
+ }
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/org/apache/cloudstack/region/RegionManager.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionManager.java b/server/src/org/apache/cloudstack/region/RegionManager.java
index 56bdb9b..40fda70 100644
--- a/server/src/org/apache/cloudstack/region/RegionManager.java
+++ b/server/src/org/apache/cloudstack/region/RegionManager.java
@@ -31,186 +31,46 @@ import com.cloud.user.Account;
import com.cloud.user.UserAccount;
public interface RegionManager {
-
- /**
- * Propagates Account details to peer Regions
- * @param userName
- * @param password
- * @param firstName
- * @param lastName
- * @param email
- * @param timezone
- * @param accountName
- * @param accountType
- * @param domainId
- * @param networkDomain
- * @param details
- * @param accountUUID
- * @param userUUID
- * @return
- */
- public boolean propagateAddAccount(String userName, String password, String firstName, String lastName, String email, String timezone, String accountName, short accountType, Long domainId, String networkDomain,
- Map<String, String> details, String accountUUID, String userUUID);
-
- /**
- * Returns the Id of local Region
- * @return
- */
- public int getId();
-
- /**
- * Propagates User details to peer Regions
- * @param userName
- * @param password
- * @param firstName
- * @param lastName
- * @param email
- * @param timeZone
- * @param accountName
- * @param domainUUId
- * @param userUUID
- */
- public void propagateAddUser(String userName, String password,
- String firstName, String lastName, String email, String timeZone,
- String accountName, String domainUUId, String userUUID);
-
- /**
- * Propagates Domain details to peer Regions
- * @param name
- * @param parentId
- * @param networkDomain
- * @param uuid
- */
- public void propagateAddDomain(String name, Long parentId, String networkDomain, String uuid);
-
-
- /**
- * Adds a peer Region to the local Region
- * @param id
- * @param name
- * @param endPoint
- * @param apiKey
- * @param secretKey
- * @return Returns added Region object
- */
- Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-
- /**
- * Update details of the Region with specified Id
- * @param id
- * @param name
- * @param endPoint
- *
- * @param apiKey
- * @param secretKey
- * @return Returns update Region object
- */
- Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
-
- /**
- * @param id
- * @return True if region is successfully removed
- */
- boolean removeRegion(int id);
-
- /** List all Regions or by Id/Name
- * @param id
- * @param name
- * @return List of Regions
- */
- List<RegionVO> listRegions(Integer id, String name);
-
- /**
- * Deletes a user by userId and propagates the change to peer Regions
- *
- * @param accountId
- * - id of the account do delete
- *
- * @return true if delete was successful, false otherwise
- */
- boolean deleteUserAccount(long accountId);
-
- /**
- * Updates an account
- * isPopagate falg is set to true if sent from peer Region
- *
- * @param cmd
- * - the parameter containing accountId or account nameand domainId
- * @return updated account object
- */
- Account updateAccount(UpdateAccountCmd cmd);
-
- /**
- * Disables an account by accountName and domainId or accountId
- * @param accountName
- * @param domainId
- * @param id
- * @param lockRequested
- * @return
- * @throws ConcurrentOperationException
- * @throws ResourceUnavailableException
- */
- Account disableAccount(String accountName, Long domainId, Long id, Boolean lockRequested) throws ConcurrentOperationException, ResourceUnavailableException;
-
- /**
- * Enables an account by accountId
- *
- * @param accountName
- * - the enableAccount command defining the accountId to be deleted.
- * @param domainId
- * TODO
- * @param accountId
- * @return account object
- */
- Account enableAccount(String accountName, Long domainId, Long accountId);
-
+
/**
- * Deletes user by Id
- * @param deleteUserCmd
+ * Returns the Id of local Region
* @return
*/
- boolean deleteUser(DeleteUserCmd deleteUserCmd);
-
+ public int getId();
+
/**
- * update an existing domain
- *
- * @param cmd
- * - the command containing domainId and new domainName
- * @return Domain object if the command succeeded
+ * Adds a peer Region to the local Region
+ * @param id
+ * @param name
+ * @param endPoint
+ * @param apiKey
+ * @param secretKey
+ * @return Returns added Region object
*/
- Domain updateDomain(UpdateDomainCmd updateDomainCmd);
-
- /**
- * Deletes domain by Id
- * @param id
- * @param cleanup
- * @return true if delete was successful, false otherwise
- */
- boolean deleteDomain(Long id, Boolean cleanup);
-
+ Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
/**
- * Update a user by userId
+ * Update details of the Region with specified Id
+ * @param id
+ * @param name
+ * @param endPoint
*
- * @param userId
- * @return UserAccount object
+ * @param apiKey
+ * @param secretKey
+ * @return Returns update Region object
*/
- UserAccount updateUser(UpdateUserCmd updateUserCmd);
-
- /**
- * Disables a user by userId
- *
- * @param userId
- * - the userId
- * @return UserAccount object
- */
- UserAccount disableUser(Long id);
-
+ Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey);
+
/**
- * Enables a user
- *
- * @param userId
- * - the userId
- * @return UserAccount object
+ * @param id
+ * @return True if region is successfully removed
+ */
+ boolean removeRegion(int id);
+
+ /** List all Regions or by Id/Name
+ * @param id
+ * @param name
+ * @return List of Regions
*/
- UserAccount enableUser(long userId);
+ List<RegionVO> listRegions(Integer id, String name);
}