incubator-cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wid...@apache.org
Subject [25/36] 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 14:14:12 GMT
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
index c7bca5b..c1a0cc5 100755
--- a/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
+++ b/server/src/org/apache/cloudstack/region/RegionManagerImpl.java
@@ -59,7 +59,7 @@ import com.cloud.uuididentity.dao.IdentityDao;
 @Local(value = { RegionManager.class })
 public class RegionManagerImpl extends ManagerBase implements RegionManager, Manager{
     public static final Logger s_logger = Logger.getLogger(RegionManagerImpl.class);
-    
+
     @Inject
     RegionDao _regionDao;
     @Inject
@@ -78,17 +78,17 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
     private IdentityDao _identityDao;
     @Inject
     private RegionSyncDao _regionSyncDao;
-    
+
     private String _name;
     private int _id; 
-    
+
     @Override
     public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
         _name = name;
         _id = _regionDao.getRegionId();
         return true;
     }
-    
+
     @Override
     public boolean start() {
         return true;
@@ -104,776 +104,98 @@ public class RegionManagerImpl extends ManagerBase implements RegionManager, Man
         return _name;
     }
 
-	public int getId() {
-		return _id;
-	}
-
-	/* 
-	 * Propagates Account creation to peer Regions
-	 * Adds an entry in region_sync table on failure
-	 */
-	@Override
-	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) {
-		String command = "createAccount";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.USERNAME, userName));
-		params.add(new NameValuePair(ApiConstants.PASSWORD, password));
-		params.add(new NameValuePair(ApiConstants.FIRSTNAME, firstName));
-		params.add(new NameValuePair(ApiConstants.LASTNAME, lastName));
-		params.add(new NameValuePair(ApiConstants.EMAIL, email));
-		params.add(new NameValuePair(ApiConstants.TIMEZONE, timezone));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT_TYPE, ""+accountType));
-		//ToDo: use domain UUID
-		params.add(new NameValuePair(ApiConstants.DOMAIN_ID, ((domainId != null) ? domainId.toString() : "")));
-		params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, networkDomain));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT_DETAILS, (details != null) ? details.toString() : ""));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT_ID, accountUUID));
-		params.add(new NameValuePair(ApiConstants.USER_ID, userUUID));
-		params.add(new NameValuePair(ApiConstants.REGION_ID, ""+getId()));
-
-		List<RegionVO> regions =  _regionDao.listAll();
-		for (Region region : regions){
-			if(region.getId() == getId()){
-				continue;
-			}
-			s_logger.debug("Adding account :"+accountName+" to Region: "+region.getId());
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully added account :"+accountName+" to Region: "+region.getId());
-			} else {
-				// api call failed. Add entry in region_sync table
-				addRegionSyncItem(region.getId(), command, params);
-				s_logger.error("Error while Adding account :"+accountName+" to Region: "+region.getId());
-			}
-		}
-		return true;
-	}
-
-	/* 
-	 * Propagates User creation to peer Regions
-	 * Adds an entry in region_sync table on failure
-	 */
-	@Override
-	public void propagateAddUser(String userName, String password,
-			String firstName, String lastName, String email, String timezone,
-			String accountName, String domainUUId, String userUUID) {
-		
-        String command = "createUser";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.USERNAME, userName));
-		params.add(new NameValuePair(ApiConstants.PASSWORD, password));
-		params.add(new NameValuePair(ApiConstants.FIRSTNAME, firstName));
-		params.add(new NameValuePair(ApiConstants.LASTNAME, lastName));
-		params.add(new NameValuePair(ApiConstants.EMAIL, email));
-		params.add(new NameValuePair(ApiConstants.TIMEZONE, timezone));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));		
-		params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domainUUId));
-		params.add(new NameValuePair(ApiConstants.USER_ID, userUUID));
-		params.add(new NameValuePair(ApiConstants.REGION_ID, ""+getId()));
-		
-		List<RegionVO> regions =  _regionDao.listAll();
-		for (Region region : regions){
-			if(region.getId() == getId()){
-				continue;
-			}
-			s_logger.debug("Adding account :"+accountName+" to Region: "+region.getId());
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully added user :"+userName+" to Region: "+region.getId());
-			} else {
-				// api call failed. Add entry in region_sync table				
-				addRegionSyncItem(region.getId(), command, params);
-				s_logger.error("Error while Adding user :"+userName+" to Region: "+region.getId());
-			}
-		}
-		return;		
-	}
-	
-	/* 
-	 * Propagates Domain creation details to peer Regions
-	 * Adds an entry in region_sync table on failure
-	 */
-	@Override
-	public void propagateAddDomain(String name, Long parentId, String networkDomain, String uuid) {
-		
-        String command = "createDomain";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.NAME, name));
-		if(parentId != null){
-			DomainVO domain = _domainDao.findById(parentId);
-			if(domain != null){
-				params.add(new NameValuePair(ApiConstants.PARENT_DOMAIN_ID, domain.getUuid()));
-			}
-		}
-		params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, networkDomain));
-		params.add(new NameValuePair(ApiConstants.DOMAIN_ID, uuid));
-		params.add(new NameValuePair(ApiConstants.REGION_ID, ""+getId()));
-		
-		List<RegionVO> regions =  _regionDao.listAll();
-		for (Region region : regions){
-			if(region.getId() == getId()){
-				continue;
-			}
-			s_logger.debug("Adding domain :"+name+" to Region: "+region.getId());
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully added domain :"+name+" to Region: "+region.getId());
-			} else {
-				// api call failed. Add entry in region_sync table				
-				addRegionSyncItem(region.getId(), command, params);
-				s_logger.error("Error while Adding domain :"+name+" to Region: "+region.getId());
-			}
-		}
-		return;		
-	}
-	
-	/**
-	 * Adds an entry to region_sync table
-	 * Entry contains region Id along with failed api
-	 * @param regionId
-	 * @param command
-	 * @param params
-	 */
-	private void addRegionSyncItem(int regionId, String command, List<NameValuePair> params){
-		String api = RegionsApiUtil.buildParams(command, params);
-		RegionSyncVO sync = new RegionSyncVO(regionId, api);
-		if(_regionSyncDao.persist(sync) == null){
-			s_logger.error("Failed to add Region Sync Item. RegionId: "+regionId + "API command: "+api);
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 
-	@Override
-	public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
-		//Region Id should be unique
-		if( _regionDao.findById(id) != null ){
-			throw new InvalidParameterValueException("Region with id: "+id+" already exists");
-		}
-		//Region Name should be unique
-		if( _regionDao.findByName(name) != null ){
-			throw new InvalidParameterValueException("Region with name: "+name+" already exists");
-		}
-		RegionVO region = new RegionVO(id, name, endPoint, apiKey, secretKey);
-		return _regionDao.persist(region);
-	}
+    public int getId() {
+        return _id;
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
-		RegionVO region = _regionDao.findById(id);
-		
-		if(region == null){
-			throw new InvalidParameterValueException("Region with id: "+id+" does not exist");
-		}
-		
-		//Ensure region name is unique
-		if(name != null){
-			RegionVO region1 = _regionDao.findByName(name);
-			if(region1 != null && id != region1.getId()){
-				throw new InvalidParameterValueException("Region with name: "+name+" already exists");	
-			}
-		}
-		
-		if(name != null){
-			region.setName(name);
-		}
-		
-		if(endPoint != null){
-			region.setEndPoint(endPoint);
-		}
-		
-		if(apiKey != null){
-			region.setApiKey(apiKey);
-		}
-		
-		if(secretKey != null){
-			region.setSecretKey(secretKey);
-		}
-		
-		_regionDao.update(id, region);
-		return _regionDao.findById(id);
-	}
+    @Override
+    public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+        //Region Id should be unique
+        if( _regionDao.findById(id) != null ){
+            throw new InvalidParameterValueException("Region with id: "+id+" already exists");
+        }
+        //Region Name should be unique
+        if( _regionDao.findByName(name) != null ){
+            throw new InvalidParameterValueException("Region with name: "+name+" already exists");
+        }
+        RegionVO region = new RegionVO(id, name, endPoint, apiKey, secretKey);
+        return _regionDao.persist(region);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean removeRegion(int id) {
-		RegionVO region = _regionDao.findById(id);
-		if(region == null){
-			throw new InvalidParameterValueException("Failed to delete Region: " + id + ", Region not found");
-		}		
-		return _regionDao.remove(id);
-	}
+    @Override
+    public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+        RegionVO region = _regionDao.findById(id);
 
-    /**
-     * {@inheritDoc}
-     */ 
-	@Override
-	public List<RegionVO> listRegions(Integer id, String name) {
-		List<RegionVO> regions = new ArrayList<RegionVO>();
-		if(id != null){
-			RegionVO region = _regionDao.findById(id);
-			if(region != null){
-				regions.add(region);
-			} 
-			return regions;
-		}
-		if(name != null){
-			RegionVO region = _regionDao.findByName(name);
-			if(region != null){
-				regions.add(region);
-			} 
-			return regions;
-		}
-		return _regionDao.listAll();
-	}
+        if(region == null){
+            throw new InvalidParameterValueException("Region with id: "+id+" does not exist");
+        }
 
-    /**
-     * {@inheritDoc}
-     */ 
-	@Override
-	public boolean deleteUserAccount(long accountId) {
-		AccountVO account = _accountDao.findById(accountId);
-		if(account == null){
-			throw new InvalidParameterValueException("The specified account does not exist in the system");
-		}
-		String accountUUID = account.getUuid();
-		int regionId = account.getRegionId();
-		
-		String command = "deleteAccount";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, accountUUID));
+        //Ensure region name is unique
+        if(name != null){
+            RegionVO region1 = _regionDao.findByName(name);
+            if(region1 != null && id != region1.getId()){
+                throw new InvalidParameterValueException("Region with name: "+name+" already exists");
+            }
+        }
 
-		if(getId() == regionId){
-			if(_accountMgr.deleteUserAccount(accountId)){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully deleted account :"+accountUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while deleting account :"+accountUUID+" in Region: "+region.getId());
-					}
-				}
-				return true;
-			} else {
-				return false;
-			}
-		} else {
-			//First delete in the Region where account is created
-			Region region = _regionDao.findById(regionId);
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully deleted account :"+accountUUID+" in Region: "+region.getId());
-				return true;
-			} else {
-				s_logger.error("Error while deleting account :"+accountUUID+" in Region: "+region.getId());
-				return false;
-			}
-		}
-	}
+        if(name != null){
+            region.setName(name);
+        }
 
-    /**
-     * {@inheritDoc}
-     */ 
-	@Override
-	public Account updateAccount(UpdateAccountCmd cmd) {
-        Long accountId = cmd.getId();
-        Long domainId = cmd.getDomainId();
-        DomainVO domain = _domainDao.findById(domainId);
-        String accountName = cmd.getAccountName();
-        String newAccountName = cmd.getNewName();
-        String networkDomain = cmd.getNetworkDomain();
-        //ToDo send details
-        Map<String, String> details = cmd.getDetails();		
-        
-        Account account = null;
-        if (accountId != null) {
-            account = _accountDao.findById(accountId);
-        } else {
-            account = _accountDao.findEnabledAccount(accountName, domainId);
+        if(endPoint != null){
+            region.setEndPoint(endPoint);
         }
-        
-        // Check if account exists
-        if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
-            s_logger.error("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
-            throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
-        }	
 
-        String command = "updateAccount";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.NEW_NAME, newAccountName));
-		params.add(new NameValuePair(ApiConstants.ID, account.getUuid()));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));
-		params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
-		params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, networkDomain));
-		params.add(new NameValuePair(ApiConstants.NEW_NAME, newAccountName));
-		if(details != null){
-			params.add(new NameValuePair(ApiConstants.ACCOUNT_DETAILS, details.toString()));
-		}
-		int regionId = account.getRegionId();
-		if(getId() == regionId){
-			Account updatedAccount = _accountMgr.updateAccount(cmd);
-			if(updatedAccount != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully updated account :"+account.getUuid()+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while updating account :"+account.getUuid()+" in Region: "+region.getId());
-					}
-				}
-			}
-			return updatedAccount;
-		} else {
-			//First update in the Region where account is created
-			Region region = _regionDao.findById(regionId);
-			RegionAccount updatedAccount = RegionsApiUtil.makeAccountAPICall(region, command, params);
-			if (updatedAccount != null) {
-				Long id = _identityDao.getIdentityId("account", updatedAccount.getUuid());
-				updatedAccount.setId(id);
-				Long domainID = _identityDao.getIdentityId("domain", updatedAccount.getDomainUuid());
-				updatedAccount.setDomainId(domainID);
-				s_logger.debug("Successfully updated account :"+account.getUuid()+" in source Region: "+region.getId());
-				return updatedAccount;
-			} else {
-				throw new CloudRuntimeException("Error while updating account :"+account.getUuid()+" in source Region: "+region.getId());
-			}
-		}
-	}
+        if(apiKey != null){
+            region.setApiKey(apiKey);
+        }
 
-    /**
-     * {@inheritDoc}
-     */ 
-	@Override
-	public Account disableAccount(String accountName, Long domainId, Long accountId, Boolean lockRequested) throws ConcurrentOperationException, ResourceUnavailableException {
-		Account account = null;
-        if (accountId != null) {
-            account = _accountDao.findById(accountId);
-        } else {
-            account = _accountDao.findActiveAccount(accountName, domainId);
+        if(secretKey != null){
+            region.setSecretKey(secretKey);
         }
 
-        if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
-            throw new InvalidParameterValueException("Unable to find active account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
-        }	
-        
-		String accountUUID = account.getUuid();
-		
-		String command = "disableAccount";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.LOCK, lockRequested.toString()));
-		params.add(new NameValuePair(ApiConstants.ID, accountUUID));
-		DomainVO domain = _domainDao.findById(domainId);
-		if(domain != null){		
-			params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
-		}
-		
-		int regionId = account.getRegionId();
-		if(getId() == regionId){
-			Account retAccount = null;
-			if(lockRequested){
-				retAccount = _accountMgr.lockAccount(accountName, domainId, accountId);
-			} else {
-				retAccount = _accountMgr.disableAccount(accountName, domainId, accountId);
-			}
-			if(retAccount != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully disabled account :"+accountUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while disabling account :"+accountUUID+" in Region: "+region.getId());
-					}
-				}
-			}
-			return retAccount;
-		} else {
-			//First disable account in the Region where account is created
-			Region region = _regionDao.findById(regionId);
-			Account retAccount = RegionsApiUtil.makeAccountAPICall(region, command, params);
-			if (retAccount != null) {
-				s_logger.debug("Successfully disabled account :"+accountUUID+" in source Region: "+region.getId());
-				return retAccount;
-			} else {
-				throw new CloudRuntimeException("Error while disabling account :"+accountUUID+" in source Region: "+region.getId());
-			}
-		}
-	}
+        _regionDao.update(id, region);
+        return _regionDao.findById(id);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public Account enableAccount(String accountName, Long domainId, Long accountId) {
-        // Check if account exists
-        Account account = null;
-        if (accountId != null) {
-            account = _accountDao.findById(accountId);
-        } else {
-            account = _accountDao.findActiveAccount(accountName, domainId);
+    @Override
+    public boolean removeRegion(int id) {
+        RegionVO region = _regionDao.findById(id);
+        if(region == null){
+            throw new InvalidParameterValueException("Failed to delete Region: " + id + ", Region not found");
         }
+        return _regionDao.remove(id);
+    }
 
-        if (account == null || account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
-            throw new InvalidParameterValueException("Unable to find account by accountId: " + accountId + " OR by name: " + accountName + " in domain " + domainId);
-        }	
-        
-        String accountUUID = account.getUuid();
-        
-        String command = "enableAccount";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, accountUUID));
-		params.add(new NameValuePair(ApiConstants.ACCOUNT, accountName));
-        DomainVO domain = _domainDao.findById(domainId);
-		if(domain != null){
-			params.add(new NameValuePair(ApiConstants.DOMAIN_ID, domain.getUuid()));
-		}
-		
-		int regionId = account.getRegionId();
-		if(getId() == regionId){
-			Account retAccount = _accountMgr.enableAccount(accountName, domainId, accountId);
-			if(retAccount != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully enabled account :"+accountUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while enabling account :"+accountUUID+" in Region: "+region.getId());
-					}
-				}
-			}
-			return retAccount;
-		} else {
-			//First disable account in the Region where account is created
-			Region region = _regionDao.findById(regionId);
-			Account retAccount = RegionsApiUtil.makeAccountAPICall(region, command, params);
-			if (retAccount != null) {
-				s_logger.debug("Successfully enabled account :"+accountUUID+" in source Region: "+region.getId());
-				return retAccount;
-			} else {
-				throw new CloudRuntimeException("Error while enabling account :"+accountUUID+" in source Region: "+region.getId());
-			}
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 	
-	@Override
-	public boolean deleteUser(DeleteUserCmd cmd) {
-        long id = cmd.getId();
-
-        UserVO user = _userDao.findById(id);
-
-        if (user == null) {
-            throw new InvalidParameterValueException("The specified user doesn't exist in the system");
-        }	
-        
-		String userUUID = user.getUuid();
-		int regionId = user.getRegionId();
-		
-		String command = "deleteUser";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, userUUID));
-		
-		if(getId() == regionId){
-			if(_accountMgr.deleteUser(cmd)){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully deleted user :"+userUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while deleting account :"+userUUID+" in Region: "+region.getId());
-					}
-				}
-				return true;
-			} else {
-				return false;
-			}
-		} else {
-			//First delete in the Region where account is created
-			Region region = _regionDao.findById(regionId);
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully deleted user :"+userUUID+" in source Region: "+region.getId());
-				return true;
-			} else {
-				s_logger.error("Error while deleting user :"+userUUID+" in source Region: "+region.getId());
-				return false;
-			}
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 	
-	@Override
-	public Domain updateDomain(UpdateDomainCmd cmd) {
-		long id = cmd.getId();
-		DomainVO domain = _domainDao.findById(id);
-		if(domain == null){
-			throw new InvalidParameterValueException("The specified domain doesn't exist in the system");
-		}	
-		
-		String domainUUID = domain.getUuid();
-		
-		String command = "updateDomain";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, domainUUID));
-		params.add(new NameValuePair(ApiConstants.NAME, cmd.getDomainName()));
-		params.add(new NameValuePair(ApiConstants.NETWORK_DOMAIN, cmd.getNetworkDomain()));
-		
-		int regionId = domain.getRegionId();
-		if(getId() == regionId){
-			Domain updatedDomain = _domainMgr.updateDomain(cmd);
-			if(updatedDomain != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully updated updatedDomain :"+domainUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while updating updatedDomain :"+domainUUID+" in Region: "+region.getId());
-					}
-				}
-			}
-			return updatedDomain;
-		} else {
-			//First update in the Region where domain was created
-			Region region = _regionDao.findById(regionId);
-			RegionDomain updatedDomain = RegionsApiUtil.makeDomainAPICall(region, command, params);
-			if (updatedDomain != null) {
-				Long parentId = _identityDao.getIdentityId("domain", updatedDomain.getParentUuid());
-				updatedDomain.setParent(parentId);
-				s_logger.debug("Successfully updated user :"+domainUUID+" in source Region: "+region.getId());
-				return (DomainVO)updatedDomain;
-			} else {
-				throw new CloudRuntimeException("Error while updating user :"+domainUUID+" in source Region: "+region.getId());
-			}
-		}
-	}
-	
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean deleteDomain(Long id, Boolean cleanup) {
-		DomainVO domain = _domainDao.findById(id);
-		if(domain == null){
-			throw new InvalidParameterValueException("The specified domain doesn't exist in the system");
-		}	
-		
-		String domainUUID = domain.getUuid();
-		
-		String command = "deleteDomain";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, domainUUID));
-		params.add(new NameValuePair(ApiConstants.CLEANUP, cleanup.toString()));
-		
-        int regionId = domain.getRegionId();
-		if(getId() == regionId){
-			if(_domainMgr.deleteDomain(id, cleanup)){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully deleted domain :"+domainUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while deleting domain :"+domainUUID+" in Region: "+region.getId());
-					}
-				}
-				return true;
-			} else {
-				return false;
-			}
-		} else {
-			//First delete in the Region where domain is created
-			Region region = _regionDao.findById(regionId);
-			if (RegionsApiUtil.makeAPICall(region, command, params)) {
-				s_logger.debug("Successfully deleted domain :"+domainUUID+" in Region: "+region.getId());
-				return true;
-			} else {
-				s_logger.error("Error while deleting domain :"+domainUUID+" in Region: "+region.getId());
-				return false;
-			}
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 	
-	@Override
-	public UserAccount updateUser(UpdateUserCmd cmd) {
-        long id = cmd.getId();
-
-        UserVO user = _userDao.findById(id);
-        if (user == null) {
-            throw new InvalidParameterValueException("The specified user doesn't exist in the system");
-        }	
-        
-		String userUUID = user.getUuid();
-		
-		String command = "updateUser";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, userUUID));
-		params.add(new NameValuePair(ApiConstants.API_KEY, cmd.getApiKey()));
-		params.add(new NameValuePair(ApiConstants.EMAIL, cmd.getEmail()));
-		params.add(new NameValuePair(ApiConstants.FIRSTNAME, cmd.getFirstname()));
-		params.add(new NameValuePair(ApiConstants.LASTNAME, cmd.getLastname()));
-		params.add(new NameValuePair(ApiConstants.PASSWORD, cmd.getPassword()));
-		params.add(new NameValuePair(ApiConstants.SECRET_KEY, cmd.getSecretKey()));
-		params.add(new NameValuePair(ApiConstants.TIMEZONE, cmd.getTimezone()));
-		params.add(new NameValuePair(ApiConstants.USERNAME, cmd.getUsername()));
-		
-		int regionId = user.getRegionId();
-		if(getId() == regionId){
-			UserAccount updateUser = _accountMgr.updateUser(cmd);
-			if(updateUser != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully updated user :"+userUUID+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while updating user :"+userUUID+" in Region: "+region.getId());
-					}
-				}
-			}
-			return updateUser;
-		} else {
-			//First update in the Region where user was created
-			Region region = _regionDao.findById(regionId);
-			UserAccount updateUser = RegionsApiUtil.makeUserAccountAPICall(region, command, params);
-			if (updateUser != null) {
-				s_logger.debug("Successfully updated user :"+userUUID+" in source Region: "+region.getId());
-				return updateUser;
-			} else {
-				throw new CloudRuntimeException("Error while updating user :"+userUUID+" in source Region: "+region.getId());
-			}
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 	
-	@Override
-	public UserAccount disableUser(Long userId) {
-        UserVO user = _userDao.findById(userId);
-        if (user == null || user.getRemoved() != null) {
-            throw new InvalidParameterValueException("Unable to find active user by id " + userId);
-        }        
-        
-        int regionId = user.getRegionId();
-        
-        String command = "disableUser";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, user.getUuid()));
-        
-		if(getId() == regionId){
-			UserAccount disabledUser = _accountMgr.disableUser(userId);
-			if(disabledUser != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully disabled user :"+user.getUuid()+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while disabling user :"+user.getUuid()+" in Region: "+region.getId());
-					}
-				}
-			}
-			return disabledUser;
-		} else {
-			//First disable in the Region where user was created
-			Region region = _regionDao.findById(regionId);
-			UserAccount disabledUser = RegionsApiUtil.makeUserAccountAPICall(region, command, params);
-			if (disabledUser != null) {
-				s_logger.debug("Successfully disabled user :"+user.getUuid()+" in source Region: "+region.getId());
-				return disabledUser;
-			} else {
-				throw new CloudRuntimeException("Error while disabling user :"+user.getUuid()+" in source Region: "+region.getId());
-			}
-		}
-	}
-
-    /**
-     * {@inheritDoc}
-     */ 	
-	@Override
-	public UserAccount enableUser(long userId) {
-        UserVO user = _userDao.findById(userId);
-        if (user == null || user.getRemoved() != null) {
-            throw new InvalidParameterValueException("Unable to find active user by id " + userId);
-        }		        
-        
-        int regionId = user.getRegionId();
-        
-        String command = "enableUser";
-		List<NameValuePair> params = new ArrayList<NameValuePair>();
-		params.add(new NameValuePair(ApiConstants.ID, user.getUuid()));
-        
-		if(getId() == regionId){
-			UserAccount enabledUser = _accountMgr.enableUser(userId);
-			if(enabledUser != null){
-				List<RegionVO> regions =  _regionDao.listAll();
-				for (Region region : regions){
-					if(region.getId() == getId()){
-						continue;
-					}
-					params.add(new NameValuePair(ApiConstants.IS_PROPAGATE, "true"));
-					if (RegionsApiUtil.makeAPICall(region, command, params)) {
-						s_logger.debug("Successfully enabled user :"+user.getUuid()+" in Region: "+region.getId());
-					} else {
-						s_logger.error("Error while disabling user :"+user.getUuid()+" in Region: "+region.getId());
-					}
-				}
-			}
-			return enabledUser;
-		} else {
-			//First enable in the Region where user was created
-			Region region = _regionDao.findById(regionId);
-			UserAccount enabledUser = RegionsApiUtil.makeUserAccountAPICall(region, command, params);
-			if (enabledUser != null) {
-				s_logger.debug("Successfully enabled user :"+user.getUuid()+" in source Region: "+region.getId());
-				return enabledUser;
-			} else {
-				throw new CloudRuntimeException("Error while enabling user :"+user.getUuid()+" in source Region: "+region.getId());
-			}
-		}
-	}
-
+    @Override
+    public List<RegionVO> listRegions(Integer id, String name) {
+        List<RegionVO> regions = new ArrayList<RegionVO>();
+        if(id != null){
+            RegionVO region = _regionDao.findById(id);
+            if(region != null){
+                regions.add(region);
+            }
+            return regions;
+        }
+        if(name != null){
+            RegionVO region = _regionDao.findByName(name);
+            if(region != null){
+                regions.add(region);
+            }
+            return regions;
+        }
+        return _regionDao.listAll();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionServiceImpl.java b/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
index 7aed881..62bf423 100755
--- a/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
+++ b/server/src/org/apache/cloudstack/region/RegionServiceImpl.java
@@ -57,7 +57,7 @@ import com.cloud.utils.component.ManagerBase;
 @Local(value = { RegionService.class })
 public class RegionServiceImpl extends ManagerBase implements RegionService, Manager {
     public static final Logger s_logger = Logger.getLogger(RegionServiceImpl.class);
-    
+
     @Inject
     private RegionDao _regionDao;
     @Inject
@@ -72,15 +72,15 @@ public class RegionServiceImpl extends ManagerBase implements RegionService, Man
     private AccountManager _accountMgr;
     @Inject
     private DomainManager _domainMgr;
-    
+
     private String _name;
-    
+
     @Override
     public boolean configure(final String name, final Map<String, Object> params) throws ConfigurationException {
         _name = name;
         return true;
     }
-    
+
     @Override
     public boolean start() {
         return true;
@@ -99,203 +99,121 @@ public class RegionServiceImpl extends ManagerBase implements RegionService, Man
     /**
      * {@inheritDoc}
      */    
-	@Override
-	public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
-		//Check for valid Name
-		//Check valid end_point url
-		return _regionMgr.addRegion(id, name, endPoint, apiKey, secretKey);
-	}
+    @Override
+    public Region addRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+        //Check for valid Name
+        //Check valid end_point url
+        return _regionMgr.addRegion(id, name, endPoint, apiKey, secretKey);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
-		//Check for valid Name
-		//Check valid end_point url		
-		return _regionMgr.updateRegion(id, name, endPoint, apiKey, secretKey);
-	}
+    @Override
+    public Region updateRegion(int id, String name, String endPoint, String apiKey, String secretKey) {
+        //Check for valid Name
+        //Check valid end_point url
+        return _regionMgr.updateRegion(id, name, endPoint, apiKey, secretKey);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean removeRegion(int id) {
-		return _regionMgr.removeRegion(id);
-	}
+    @Override
+    public boolean removeRegion(int id) {
+        return _regionMgr.removeRegion(id);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public List<? extends Region> listRegions(ListRegionsCmd cmd) {
-		return _regionMgr.listRegions(cmd.getId(), cmd.getName());
-	}
+    @Override
+    public List<? extends Region> listRegions(ListRegionsCmd cmd) {
+        return _regionMgr.listRegions(cmd.getId(), cmd.getName());
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean deleteUserAccount(DeleteAccountCmd cmd) {
-        boolean result = false;
-        if(checkIsPropagate(cmd.getIsPropagate())){
-        	result = _accountMgr.deleteUserAccount(cmd.getId());
-        } else {
-        	result = _regionMgr.deleteUserAccount(cmd.getId());
-        }
-		return result;
-	}
-	
+    @Override
+    public boolean deleteUserAccount(DeleteAccountCmd cmd) {
+        return _accountMgr.deleteUserAccount(cmd.getId());
+    }
+
     /**
      * {@inheritDoc}
-     */ 	
-	@Override
-	public Account updateAccount(UpdateAccountCmd cmd) {
-    	Account result = null;
-    	if(checkIsPropagate(cmd.getIsPropagate())){
-    		result = _accountMgr.updateAccount(cmd);
-        } else {
-        	result = _regionMgr.updateAccount(cmd);
-        }
-		
-		return result;
-	}
+     */
+    @Override
+    public Account updateAccount(UpdateAccountCmd cmd) {
+        return _accountMgr.updateAccount(cmd);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public Account disableAccount(DisableAccountCmd cmd) throws ConcurrentOperationException, ResourceUnavailableException {
-    	Account result = null;
-    	if(checkIsPropagate(cmd.getIsPropagate())){
-    		if(cmd.getLockRequested())
-    			result = _accountMgr.lockAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
-    		else
-    			result = _accountMgr.disableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
-    	} else {
-    		result = _regionMgr.disableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId(), cmd.getLockRequested());
-    	}
-		return result;
-	}
+    @Override
+    public Account disableAccount(DisableAccountCmd cmd) throws ConcurrentOperationException, ResourceUnavailableException {
+        Account result = null;
+        if(cmd.getLockRequested())
+            result = _accountMgr.lockAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
+        else
+            result = _accountMgr.disableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
+        return result;
+    }
 
     /**
      * {@inheritDoc}
-     */ 	
-	@Override
-	public Account enableAccount(EnableAccountCmd cmd) {
-    	Account result = null;
-    	if(checkIsPropagate(cmd.getIsPropagate())){
-    		result = _accountMgr.enableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
-    	} else {
-    		result = _regionMgr.enableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
-    	}
-		return result;
-	}
+     */
+    @Override
+    public Account enableAccount(EnableAccountCmd cmd) {
+        return _accountMgr.enableAccount(cmd.getAccountName(), cmd.getDomainId(), cmd.getId());
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean deleteUser(DeleteUserCmd cmd) {
-        boolean result = false;
-        if(checkIsPropagate(cmd.getIsPropagate())){
-        	result = _accountMgr.deleteUser(cmd);
-        } else {
-        	result = _regionMgr.deleteUser(cmd);
-        }		
-		return result;
-	}
-	
+    @Override
+    public boolean deleteUser(DeleteUserCmd cmd) {
+        return _accountMgr.deleteUser(cmd);
+    }
+
     /**
      * {@inheritDoc}
-     */ 	
-	@Override
-	public Domain updateDomain(UpdateDomainCmd cmd) {
-        Domain domain = null;
-        if(checkIsPropagate(cmd.getIsPropagate())){
-        	domain = _domainMgr.updateDomain(cmd);
-        } else {
-        	domain = _regionMgr.updateDomain(cmd);
-        }		
-		return domain;
-	}	
+     */
+    @Override
+    public Domain updateDomain(UpdateDomainCmd cmd) {
+        return _domainMgr.updateDomain(cmd);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public boolean deleteDomain(DeleteDomainCmd cmd) {
-		boolean result = false;
-		if(checkIsPropagate(cmd.isPropagate())){
-			result = _domainMgr.deleteDomain(cmd.getId(), cmd.getCleanup());
-		} else {
-			result = _regionMgr.deleteDomain(cmd.getId(), cmd.getCleanup());
-		}
-		return result;
-	}
+    @Override
+    public boolean deleteDomain(DeleteDomainCmd cmd) {
+        return _domainMgr.deleteDomain(cmd.getId(), cmd.getCleanup());
+    }
 
     /**
      * {@inheritDoc}
-     */ 	
-	@Override
-	public UserAccount updateUser(UpdateUserCmd cmd){
-        UserAccount user = null;
-        if(checkIsPropagate(cmd.getIsPropagate())){
-        	user = _accountMgr.updateUser(cmd);
-        } else {
-        	user = _regionMgr.updateUser(cmd);
-        }		
-		return user;
-	}
+     */
+    @Override
+    public UserAccount updateUser(UpdateUserCmd cmd){
+        return _accountMgr.updateUser(cmd);
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public UserAccount disableUser(DisableUserCmd cmd) {
-        UserAccount user = null;
-        if(checkIsPropagate(cmd.getIsPropagate())){
-    		user = _accountMgr.disableUser(cmd.getId());
-        } else {
-        	user = _regionMgr.disableUser(cmd.getId());
-        }
-		return user;
-	}
+    @Override
+    public UserAccount disableUser(DisableUserCmd cmd) {
+        return _accountMgr.disableUser(cmd.getId());
+    }
 
     /**
      * {@inheritDoc}
      */ 
-	@Override
-	public UserAccount enableUser(EnableUserCmd cmd) {
-		UserAccount user = null;
-		if(checkIsPropagate(cmd.getIsPropagate())){
-			user = _accountMgr.enableUser(cmd.getId());
-		} else {
-			user = _regionMgr.enableUser(cmd.getId());
-		}		
-		return user;
-	}
-	
-    private boolean isRootAdmin(short accountType) {
-        return (accountType == Account.ACCOUNT_TYPE_ADMIN);
-    }
-    
-    /**
-     * Check isPopagate flag, Only ROOT Admin can use this param
-     * @param isPopagate
-     * @return
-     */
-    private boolean checkIsPropagate(Boolean isPopagate){
-    	if(isPopagate == null || !isPopagate){
-    		return false;
-    	}
-		// Only Admin can use isPopagate flag
-    	UserContext ctx = UserContext.current();
-    	Account caller = ctx.getCaller();
-    	if(!isRootAdmin(caller.getType())){
-    		throw new PermissionDeniedException("isPropagate param cannot be used by non ROOT Admin");
-    	}          	
-    	return true;
+    @Override
+    public UserAccount enableUser(EnableUserCmd cmd) {
+        return _accountMgr.enableUser(cmd.getId());
     }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
----------------------------------------------------------------------
diff --git a/server/src/org/apache/cloudstack/region/RegionsApiUtil.java b/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
deleted file mode 100644
index c7625db..0000000
--- a/server/src/org/apache/cloudstack/region/RegionsApiUtil.java
+++ /dev/null
@@ -1,306 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package org.apache.cloudstack.region;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.log4j.Logger;
-
-import com.cloud.domain.DomainVO;
-import com.cloud.user.UserAccount;
-import com.cloud.user.UserAccountVO;
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.xml.DomDriver;
-
-/**
- * Utility class for making API calls between peer Regions
- *
- */
-public class RegionsApiUtil {
-	public static final Logger s_logger = Logger.getLogger(RegionsApiUtil.class);
-
-	/**
-	 * Makes an api call using region service end_point, api command and params
-	 * @param region
-	 * @param command
-	 * @param params
-	 * @return True, if api is successful
-	 */
-	protected static boolean makeAPICall(Region region, String command, List<NameValuePair> params){
-		try {
-			String apiParams = buildParams(command, params);
-			String url = buildUrl(apiParams, region);
-			HttpClient client = new HttpClient();
-			HttpMethod method = new GetMethod(url);
-			if( client.executeMethod(method) == 200){
-				return true;
-			} else {
-				return false;
-			}
-		} catch (HttpException e) {
-			s_logger.error(e.getMessage());
-			return false;
-		} catch (IOException e) {
-			s_logger.error(e.getMessage());
-			return false;
-		} 		
-	}
-
-	/**
-	 * Makes an api call using region service end_point, api command and params
-	 * Returns Account object on success
-	 * @param region
-	 * @param command
-	 * @param params
-	 * @return
-	 */
-	protected static RegionAccount makeAccountAPICall(Region region, String command, List<NameValuePair> params){
-		try {
-			String url = buildUrl(buildParams(command, params), region);
-			HttpClient client = new HttpClient();
-			HttpMethod method = new GetMethod(url);
-			if( client.executeMethod(method) == 200){
-				InputStream is = method.getResponseBodyAsStream();
-				//Translate response to Account object
-				XStream xstream = new XStream(new DomDriver());
-				xstream.alias("account", RegionAccount.class);
-				xstream.alias("user", RegionUser.class);
-				xstream.aliasField("id", RegionAccount.class, "uuid");
-				xstream.aliasField("name", RegionAccount.class, "accountName");
-				xstream.aliasField("accounttype", RegionAccount.class, "type");
-				xstream.aliasField("domainid", RegionAccount.class, "domainUuid");
-				xstream.aliasField("networkdomain", RegionAccount.class, "networkDomain");
-				xstream.aliasField("id", RegionUser.class, "uuid");
-				xstream.aliasField("accountId", RegionUser.class, "accountUuid");
-				ObjectInputStream in = xstream.createObjectInputStream(is);
-				return (RegionAccount)in.readObject();
-			} else {
-				return null;
-			}
-		} catch (HttpException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (IOException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (ClassNotFoundException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} 	
-	}
-
-	/**
-	 * Makes an api call using region service end_point, api command and params
-	 * Returns Domain object on success
-	 * @param region
-	 * @param command
-	 * @param params
-	 * @return
-	 */
-	protected static RegionDomain makeDomainAPICall(Region region, String command, List<NameValuePair> params){
-		try {
-			String url = buildUrl(buildParams(command, params), region);
-			HttpClient client = new HttpClient();
-			HttpMethod method = new GetMethod(url);
-			if( client.executeMethod(method) == 200){
-				InputStream is = method.getResponseBodyAsStream();
-				XStream xstream = new XStream(new DomDriver());
-				//Translate response to Domain object
-				xstream.alias("domain", RegionDomain.class);
-				xstream.aliasField("id", RegionDomain.class, "uuid");
-				xstream.aliasField("parentdomainid", RegionDomain.class, "parentUuid");
-				xstream.aliasField("networkdomain", DomainVO.class, "networkDomain");
-				ObjectInputStream in = xstream.createObjectInputStream(is);
-				return (RegionDomain)in.readObject();
-			} else {
-				return null;
-			}
-		} catch (HttpException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (IOException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (ClassNotFoundException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} 	
-	}
-
-	/**
-	 * Makes an api call using region service end_point, api command and params
-	 * Returns UserAccount object on success
-	 * @param region
-	 * @param command
-	 * @param params
-	 * @return
-	 */
-	protected static UserAccount makeUserAccountAPICall(Region region, String command, List<NameValuePair> params){
-		try {
-			String url = buildUrl(buildParams(command, params), region);
-			HttpClient client = new HttpClient();
-			HttpMethod method = new GetMethod(url);
-			if( client.executeMethod(method) == 200){
-				InputStream is = method.getResponseBodyAsStream();
-				XStream xstream = new XStream(new DomDriver());
-				xstream.alias("useraccount", UserAccountVO.class);
-				xstream.aliasField("id", UserAccountVO.class, "uuid");
-				ObjectInputStream in = xstream.createObjectInputStream(is);
-				return (UserAccountVO)in.readObject();
-			} else {
-				return null;
-			}
-		} catch (HttpException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (IOException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} catch (ClassNotFoundException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		} 	
-	}
-
-	/**
-	 * Builds parameters string with command and encoded param values 
-	 * @param command
-	 * @param params
-	 * @return
-	 */
-	protected static String buildParams(String command, List<NameValuePair> params) {
-		StringBuffer paramString = new StringBuffer("command="+command);
-		Iterator<NameValuePair> iter = params.iterator();
-		try {
-			while(iter.hasNext()){
-				NameValuePair param = iter.next();
-				if(param.getValue() != null && !(param.getValue().isEmpty())){
-					paramString.append("&"+param.getName()+"="+URLEncoder.encode(param.getValue(), "UTF-8"));
-				}
-			}
-		}
-		catch (UnsupportedEncodingException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		}
-		return paramString.toString();
-	}
-	
-	/**
-	 * Build URL for api call using region end_point
-	 * Parameters are sorted and signed using secret_key
-	 * @param apiParams
-	 * @param region
-	 * @return
-	 */
-	private static String buildUrl(String apiParams, Region region) {
-
-		String apiKey = region.getApiKey();
-		String secretKey = region.getSecretKey();
-
-
-		if (apiKey == null || secretKey == null) {
-			return region.getEndPoint() +"?"+ apiParams;
-		}
-
-		String encodedApiKey;
-		try {
-			encodedApiKey = URLEncoder.encode(apiKey, "UTF-8");
-
-			List<String> sortedParams = new ArrayList<String>();
-			sortedParams.add("apikey=" + encodedApiKey.toLowerCase());
-			StringTokenizer st = new StringTokenizer(apiParams, "&");
-			String url = null;
-			boolean first = true;
-			while (st.hasMoreTokens()) {
-				String paramValue = st.nextToken();
-				String param = paramValue.substring(0, paramValue.indexOf("="));
-				String value = paramValue.substring(paramValue.indexOf("=") + 1, paramValue.length());
-				if (first) {
-					url = param + "=" + value;
-					first = false;
-				} else {
-					url = url + "&" + param + "=" + value;
-				}
-				sortedParams.add(param.toLowerCase() + "=" + value.toLowerCase());
-			}
-			Collections.sort(sortedParams);
-
-
-			//Construct the sorted URL and sign and URL encode the sorted URL with your secret key
-			String sortedUrl = null;
-			first = true;
-			for (String param : sortedParams) {
-				if (first) {
-					sortedUrl = param;
-					first = false;
-				} else {
-					sortedUrl = sortedUrl + "&" + param;
-				}
-			}
-			String encodedSignature = signRequest(sortedUrl, secretKey);
-
-			String finalUrl = region.getEndPoint() +"?"+apiParams+ "&apiKey=" + apiKey + "&signature=" + encodedSignature;
-			
-			return finalUrl;
-
-		} catch (UnsupportedEncodingException e) {
-			s_logger.error(e.getMessage());
-			return null;
-		}
-	}
-
-	/**
-	 * 1. Signs a string with a secret key using SHA-1 2. Base64 encode the result 3. URL encode the final result
-	 * 
-	 * @param request
-	 * @param key
-	 * @return
-	 */
-	private static String signRequest(String request, String key) {
-		try {
-			Mac mac = Mac.getInstance("HmacSHA1");
-			SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "HmacSHA1");
-			mac.init(keySpec);
-			mac.update(request.getBytes());
-			byte[] encryptedBytes = mac.doFinal();
-			return URLEncoder.encode(Base64.encodeBase64String(encryptedBytes), "UTF-8");
-		} catch (Exception ex) {
-			s_logger.error(ex.getMessage());
-			return null;
-		}
-	}
-	
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/test/com/cloud/user/MockAccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java
index 5632070..8e0bb64 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -325,30 +325,28 @@ public class MockAccountManagerImpl extends ManagerBase implements Manager, Acco
     }
 
     @Override
-	public UserAccount createUserAccount(String userName, String password,
-			String firstName, String lastName, String email, String timezone,
-			String accountName, short accountType, Long domainId,
-			String networkDomain, Map<String, String> details,
-			String accountUUID, String userUUID, Integer regionId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public User createUser(String userName, String password, String firstName,
-			String lastName, String email, String timeZone, String accountName,
-			Long domainId, String userUUID, Integer regionId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public Account createAccount(String accountName, short accountType,
-			Long domainId, String networkDomain, Map details, String uuid,
-			int regionId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    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) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public User createUser(String userName, String password, String firstName,
+            String lastName, String email, String timeZone, String accountName,
+            Long domainId) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public Account createAccount(String accountName, short accountType,
+            Long domainId, String networkDomain, Map details) {
+        // TODO Auto-generated method stub
+        return null;
+    }
     @Override
     public RoleType getRoleType(Account account) {
         return null;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/test/com/cloud/user/MockDomainManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockDomainManagerImpl.java b/server/test/com/cloud/user/MockDomainManagerImpl.java
index b791f4c..bc92965 100644
--- a/server/test/com/cloud/user/MockDomainManagerImpl.java
+++ b/server/test/com/cloud/user/MockDomainManagerImpl.java
@@ -137,24 +137,24 @@ public class MockDomainManagerImpl extends ManagerBase implements DomainManager,
         return null;
     }
 
-	@Override
-	public Domain createDomain(String name, Long parentId,
-			String networkDomain, String domainUUID, Integer regionId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public Domain updateDomain(UpdateDomainCmd cmd) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	@Override
-	public Domain createDomain(String name, Long parentId, Long ownerId,
-			String networkDomain, String domainUUID, Integer regionId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    @Override
+    public Domain createDomain(String name, Long parentId,
+            String networkDomain) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public Domain updateDomain(UpdateDomainCmd cmd) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    @Override
+    public Domain createDomain(String name, Long parentId, Long ownerId,
+            String networkDomain) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/server/test/org/apache/cloudstack/region/RegionManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/org/apache/cloudstack/region/RegionManagerTest.java b/server/test/org/apache/cloudstack/region/RegionManagerTest.java
index 330f0b4..b8bde7d 100644
--- a/server/test/org/apache/cloudstack/region/RegionManagerTest.java
+++ b/server/test/org/apache/cloudstack/region/RegionManagerTest.java
@@ -43,32 +43,19 @@ public class RegionManagerTest extends TestCase {
     protected void setUp() {
 
     }
-    
+
     @Test
     public void testUniqueName() {
-    	RegionManagerImpl regionMgr = new RegionManagerImpl();
-    	RegionDao regionDao = Mockito.mock(RegionDao.class);
-    	RegionVO region = new RegionVO(2, "APAC", "", null, null);    	
-    	Mockito.when(regionDao.findByName(Mockito.anyString())).thenReturn(region);    	
-    	regionMgr._regionDao = regionDao;
-    	try {
-    		regionMgr.addRegion(2, "APAC", "", null, null);
-    	} catch (InvalidParameterValueException e){
-    		Assert.assertEquals("Region with name: APAC already exists", e.getMessage());
-    	}
-    }
-    
-    @Test
-    public void testUserDelete() {
-    	RegionManagerImpl regionMgr = new RegionManagerImpl();
-    	AccountDao accountDao = Mockito.mock(AccountDao.class);
-    	Mockito.when(accountDao.findById(Mockito.anyLong())).thenReturn(null);
-    	regionMgr._accountDao = accountDao;
-    	try {
-    		regionMgr.deleteUserAccount(5);
-    	} catch (InvalidParameterValueException e){
-    		Assert.assertEquals("The specified account does not exist in the system", e.getMessage());
-    	}    	
+        RegionManagerImpl regionMgr = new RegionManagerImpl();
+        RegionDao regionDao = Mockito.mock(RegionDao.class);
+        RegionVO region = new RegionVO(2, "APAC", "", null, null);
+        Mockito.when(regionDao.findByName(Mockito.anyString())).thenReturn(region);
+        regionMgr._regionDao = regionDao;
+        try {
+            regionMgr.addRegion(2, "APAC", "", null, null);
+        } catch (InvalidParameterValueException e){
+            Assert.assertEquals("Region with name: APAC already exists", e.getMessage());
+        }
     }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e37fdce1/setup/db/db/schema-40to410.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-40to410.sql b/setup/db/db/schema-40to410.sql
index 59b2a7d..6b59f68 100644
--- a/setup/db/db/schema-40to410.sql
+++ b/setup/db/db/schema-40to410.sql
@@ -260,15 +260,6 @@ CREATE TABLE  `cloud`.`region` (
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
-CREATE TABLE `cloud`.`region_sync` (
-  `id` bigint unsigned NOT NULL auto_increment,
-  `region_id` int unsigned NOT NULL,
-  `api` varchar(1024) NOT NULL,
-  `created` datetime NOT NULL COMMENT 'date created',
-  `processed` tinyint NOT NULL default '0',
-  PRIMARY KEY  (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 -- INSERT INTO `cloud`.`region` values ('1','Local','http://localhost:8080/client/api','','');
 ALTER TABLE `cloud`.`account` ADD COLUMN `region_id` int unsigned NOT NULL DEFAULT '1';
 ALTER TABLE `cloud`.`user` ADD COLUMN `region_id` int unsigned NOT NULL DEFAULT '1';


Mime
View raw message