CLOUDSTACK-7908: UserVmResponse returns userid/username information of the 
creator

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2580edbc
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2580edbc
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2580edbc

Branch: refs/heads/hotfix/scp-exception
Commit: 2580edbcfbf7ff784209de2930df8926178801e2
Parents: 2b7073c
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
Authored: Mon Feb 16 16:12:22 2015 +0530
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Mon Feb 16 16:12:22 2015 +0530

----------------------------------------------------------------------
 .../cloudstack/api/response/UserVmResponse.java | 24 ++++++++++++++++++++
 .../cloud/api/query/dao/UserVmJoinDaoImpl.java  |  9 ++++++++
 2 files changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2580edbc/api/src/org/apache/cloudstack/api/response/UserVmResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/UserVmResponse.java 
b/api/src/org/apache/cloudstack/api/response/UserVmResponse.java
index 1f55f5b..36d82de 100644
--- a/api/src/org/apache/cloudstack/api/response/UserVmResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/UserVmResponse.java
@@ -52,6 +52,14 @@ public class UserVmResponse extends BaseResponse implements 
ControlledEntityResp
     @Param(description = "the account associated with the virtual machine")
     private String accountName;
 
+    @SerializedName(ApiConstants.USER_ID)
+    @Param(description = "the user's ID who deployed the virtual machine")
+    private String userId;
+
+    @SerializedName(ApiConstants.USERNAME)
+    @Param(description = "the user's name who deployed the virtual machine")
+    private String userName;
+
     @SerializedName(ApiConstants.PROJECT_ID)
     @Param(description = "the project id of the vm")
     private String projectId;
@@ -315,6 +323,14 @@ public class UserVmResponse extends BaseResponse 
implements ControlledEntityResp
         return accountName;
     }
 
+    public String getUserId() {
+        return userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
     public String getProjectId() {
         return projectId;
     }
@@ -535,6 +551,14 @@ public class UserVmResponse extends BaseResponse 
implements ControlledEntityResp
         this.accountName = accountName;
     }
 
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
     @Override
     public void setDomainId(String domainId) {
         this.domainId = domainId;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2580edbc/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java 
b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
index 890b4bc..9d88334 100644
--- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java
@@ -48,6 +48,8 @@ import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.service.ServiceOfferingDetailsVO;
 import com.cloud.user.Account;
 import com.cloud.user.AccountManager;
+import com.cloud.user.User;
+import com.cloud.user.dao.UserDao;
 import com.cloud.uservm.UserVm;
 import com.cloud.utils.db.GenericDaoBase;
 import com.cloud.utils.db.SearchBuilder;
@@ -70,6 +72,8 @@ public class UserVmJoinDaoImpl extends 
GenericDaoBase<UserVmJoinVO, Long> implem
     public AccountManager _accountMgr;
     @Inject
     private UserVmDetailsDao _userVmDetailsDao;
+    @Inject
+    private UserDao _userDao;
 
     private final SearchBuilder<UserVmJoinVO> VmDetailSearch;
     private final SearchBuilder<UserVmJoinVO> activeVmByIsoSearch;
@@ -121,6 +125,11 @@ public class UserVmJoinDaoImpl extends 
GenericDaoBase<UserVmJoinVO, Long> implem
             userVmResponse.setAccountName(userVm.getAccountName());
         }
 
+        User user = _userDao.getUser(userVm.getUserId());
+        if (user != null) {
+            userVmResponse.setUserId(user.getUuid());
+            userVmResponse.setUserName(user.getUsername());
+        }
         userVmResponse.setDomainId(userVm.getDomainUuid());
         userVmResponse.setDomainName(userVm.getDomainName());
 

Reply via email to