introducing an embedded user obj anytime we create an account, as a response

This commit is contained in:
abhishek 2011-01-21 16:00:12 -08:00
parent 52c3edcfe2
commit 067811475f
2 changed files with 30 additions and 1 deletions

View File

@ -80,6 +80,7 @@ import com.cloud.user.AccountManager;
import com.cloud.user.AccountVO;
import com.cloud.user.User;
import com.cloud.user.UserStatisticsVO;
import com.cloud.user.UserVO;
import com.cloud.user.dao.AccountDao;
import com.cloud.user.dao.UserDao;
import com.cloud.user.dao.UserStatisticsDao;
@ -190,7 +191,7 @@ public class ApiDBUtils {
/////////////////////////////////////////////////////////////
// ManagementServer methods //
/////////////////////////////////////////////////////////////
public static VMInstanceVO findVMInstanceById(long vmId) {
return _ms.findVMInstanceById(vmId);
}
@ -430,6 +431,10 @@ public class ApiDBUtils {
public static VolumeVO findVolumeById(Long volumeId) {
return _volumeDao.findByIdIncludingRemoved(volumeId);
}
public static List<UserVO> listUsersByAccount(long accountId) {
return _userDao.listByAccount(accountId);
}
public static DataCenterVO findZoneById(Long zoneId) {
return _zoneDao.findById(zoneId);

View File

@ -142,6 +142,7 @@ import com.cloud.user.User;
import com.cloud.user.UserAccount;
import com.cloud.user.UserContext;
import com.cloud.user.UserStatisticsVO;
import com.cloud.user.UserVO;
import com.cloud.uservm.UserVm;
import com.cloud.utils.Pair;
import com.cloud.utils.net.NetUtils;
@ -309,6 +310,29 @@ public class ApiResponseHelper implements ResponseGenerator {
accountResponse.setVmRunning(vmRunning);
accountResponse.setObjectName("account");
List<UserVO> usersForAccount = ApiDBUtils.listUsersByAccount(account.getAccountId());
List<UserResponse> userResponseList = new ArrayList<UserResponse>();
for(UserVO user : usersForAccount) {
UserResponse userResponse = new UserResponse();
userResponse.setAccountName(account.getAccountName());
userResponse.setAccountType(account.getType());
userResponse.setApiKey(user.getApiKey());
userResponse.setCreated(user.getCreated());
userResponse.setDomainId(account.getDomainId());
userResponse.setDomainName(ApiDBUtils.findDomainById(account.getDomainId()).getName());
userResponse.setEmail(user.getEmail());
userResponse.setFirstname(user.getFirstname());
userResponse.setId(user.getId());
userResponse.setSecretKey(user.getSecretKey());
userResponse.setLastname(user.getLastname());
userResponse.setState(user.getState().toString());
userResponse.setTimezone(user.getTimezone());
userResponse.setUsername(user.getUsername());
userResponseList.add(userResponse);
}
accountResponse.setUsers(userResponseList);
return accountResponse;
}