incubator-cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bfede...@apache.org
Subject [14/24] git commit: refs/heads/ui-regions - 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.
Date Tue, 26 Feb 2013 18:51:34 GMT
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/ui-regions
Commit: e37fdce125511535961c77a77d253ce232a954d0
Parents: 0383803
Author: Kishan Kavala <kishan@cloud.com>
Authored: Mon Feb 25 18:26:51 2013 +0530
Committer: Kishan Kavala <kishan@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);
 }


Mime
View raw message