Ori Liel has uploaded a new change for review.

Change subject: restapi - Fix Display VM Session Info (#894027)
......................................................................

restapi - Fix Display VM Session Info (#894027)

Display VM Sesion info was broken due to changes in the way session info is
stored in the database. This patch fixes that.

Bug-Url: https://bugzilla.redhat.com/894027
Change-Id: I034c93fe0c5037771dc9ed12d64ca5deea10957f
Signed-off-by: Ori Liel <ol...@redhat.com>
---
A 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameAndDomainQuery.java
D 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameQuery.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetDbUserByUserNameAndDomainQueryParameters.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUserResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResourceTest.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
M 
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
M packaging/dbscripts/user_sp.sql
15 files changed, 150 insertions(+), 61 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/06/29506/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameAndDomainQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameAndDomainQuery.java
new file mode 100644
index 0000000..601c450
--- /dev/null
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameAndDomainQuery.java
@@ -0,0 +1,18 @@
+package org.ovirt.engine.core.bll;
+
+import 
org.ovirt.engine.core.common.queries.GetDbUserByUserNameAndDomainQueryParameters;
+import org.ovirt.engine.core.dal.dbbroker.DbFacade;
+
+public class GetDbUserByUserNameAndDomainQuery<P extends 
GetDbUserByUserNameAndDomainQueryParameters> extends QueriesCommandBase<P> {
+
+    public GetDbUserByUserNameAndDomainQuery(P parameters) {
+        super(parameters);
+    }
+
+    @Override
+    protected void executeQueryCommand() {
+        getQueryReturnValue().setReturnValue(DbFacade.getInstance()
+                .getDbUserDao()
+                .getByUsernameAndDomain(getParameters().getUserName(), 
getParameters().getDomainName()));
+    }
+}
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameQuery.java
deleted file mode 100644
index 1ddb608..0000000
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetDbUserByUserNameQuery.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.ovirt.engine.core.bll;
-
-import org.ovirt.engine.core.common.queries.NameQueryParameters;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
-
-public class GetDbUserByUserNameQuery<P extends NameQueryParameters> extends 
QueriesCommandBase<P> {
-
-    public GetDbUserByUserNameQuery(P parameters) {
-        super(parameters);
-    }
-
-    @Override
-    protected void executeQueryCommand() {
-        getQueryReturnValue().setReturnValue(DbFacade.getInstance()
-                .getDbUserDao()
-                .getByUsername(getParameters().getName()));
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetDbUserByUserNameAndDomainQueryParameters.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetDbUserByUserNameAndDomainQueryParameters.java
new file mode 100644
index 0000000..7f7093c
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/GetDbUserByUserNameAndDomainQueryParameters.java
@@ -0,0 +1,40 @@
+package org.ovirt.engine.core.common.queries;
+
+public class GetDbUserByUserNameAndDomainQueryParameters extends 
VdcQueryParametersBase {
+
+    public GetDbUserByUserNameAndDomainQueryParameters() {
+        super();
+    }
+
+    public GetDbUserByUserNameAndDomainQueryParameters(String sessionId) {
+        super(sessionId);
+    }
+
+    public GetDbUserByUserNameAndDomainQueryParameters(String userName, String 
domainName) {
+        super();
+        this.userName = userName;
+        this.domainName = domainName;
+    }
+
+    private static final long serialVersionUID = 5204792601949266874L;
+
+
+    private String userName;
+    private String domainName;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getDomainName() {
+        return domainName;
+    }
+
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
index d937ef6..f698660 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java
@@ -150,7 +150,7 @@
     GetUserVmsByUserIdAndGroups(VdcQueryAuthType.User),
     GetAllDbUsers(VdcQueryAuthType.User),
     GetDbUserByUserId(VdcQueryAuthType.User),
-    GetDbUserByUserName(VdcQueryAuthType.User),
+    GetDbUserByUserNameAndDomain(VdcQueryAuthType.User),
     GetUserBySessionId(VdcQueryAuthType.User),
 
     // Directory queries:
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
index ccb5a33..e1db8a6 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAO.java
@@ -28,7 +28,7 @@
      *            the username
      * @return the user
      */
-    DbUser getByUsername(String username);
+    DbUser getByUsernameAndDomain(String username, String domainName);
 
     /**
      * Retrieves a user by domain name and external identifier.
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
index bf247ac..ebbdeed 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/DbUserDAODbFacadeImpl.java
@@ -87,11 +87,12 @@
     }
 
     @Override
-    public DbUser getByUsername(String username) {
+    public DbUser getByUsernameAndDomain(String username, String domainName) {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
-                .addValue("username", username);
+                .addValue("username", username)
+                .addValue("domain", domainName);
 
-        return getCallsHandler().executeRead("GetUserByUserName", 
DbUserRowMapper.instance, parameterSource);
+        return getCallsHandler().executeRead("GetUserByUserNameAndDomain", 
DbUserRowMapper.instance, parameterSource);
     }
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
index 4df4141..334e79d 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbFacadeDAOTest.java
@@ -129,7 +129,9 @@
     public void testUpdateLastAdminCheckStatus() {
 
         // Getting a nonAdmin user that is defined in the fixtures
-        DbUser nonAdminUser = 
dbFacade.getDbUserDao().getByUsername("userport...@testportal.redhat.com");
+        DbUser nonAdminUser =
+                
dbFacade.getDbUserDao().getByUsernameAndDomain("userport...@testportal.redhat.com",
+                        "testportal.redhat.com");
 
         assertNotNull(nonAdminUser);
         assertFalse(nonAdminUser.isAdmin());
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
index 2b6f5a91..b25326b 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/DbUserDAOTest.java
@@ -100,7 +100,7 @@
      */
     @Test
     public void testGetByUsernameWithInvalidName() {
-        DbUser result = dao.getByUsername("IdoNoExist");
+        DbUser result = dao.getByUsernameAndDomain("IdoNoExist", 
existingUser.getDomain());
 
         assertNull(result);
     }
@@ -110,7 +110,7 @@
      */
     @Test
     public void testGetByUsername() {
-        DbUser result = dao.getByUsername(existingUser.getLoginName());
+        DbUser result = 
dao.getByUsernameAndDomain(existingUser.getLoginName(), 
existingUser.getDomain());
 
         assertNotNull(result);
         assertEquals(existingUser, result);
@@ -178,7 +178,7 @@
     public void testSave() {
         dao.save(newUser);
 
-        DbUser result = dao.getByUsername(newUser.getLoginName());
+        DbUser result = dao.getByUsernameAndDomain(newUser.getLoginName(), 
newUser.getDomain());
 
         assertEquals(newUser, result);
     }
@@ -215,7 +215,7 @@
     public void testSaveOrUpdateNew() {
         int sizeBeforeSave = dao.getAll().size();
         dao.saveOrUpdate(newUser);
-        DbUser result = dao.getByUsername(newUser.getLoginName());
+        DbUser result = dao.getByUsernameAndDomain(newUser.getLoginName(), 
newUser.getDomain());
         int sizeAfterSave = dao.getAll().size();
         assertEquals(newUser, result);
         assertEquals(1, sizeAfterSave - sizeBeforeSave);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUserResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUserResource.java
index bb8bec5..8442f9c 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUserResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendUserResource.java
@@ -9,8 +9,8 @@
 import org.ovirt.engine.api.resource.AssignedTagsResource;
 import org.ovirt.engine.api.resource.UserResource;
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import 
org.ovirt.engine.core.common.queries.GetDbUserByUserNameAndDomainQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
-import org.ovirt.engine.core.common.queries.NameQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 
 /**
@@ -64,7 +64,9 @@
         return model;
     }
 
-    public User getUserByName(String name) {
-        return performGet(VdcQueryType.GetDbUserByUserName, new 
NameQueryParameters(name), BaseResource.class);
+    public User getUserByNameAndDomain(String userName, String domainName) {
+        return performGet(VdcQueryType.GetDbUserByUserNameAndDomain,
+                new GetDbUserByUserNameAndDomainQueryParameters(userName, 
domainName),
+                BaseResource.class);
     }
 }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResource.java
index 248e874..075a48e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResource.java
@@ -4,6 +4,7 @@
 import javax.ws.rs.PathParam;
 import javax.ws.rs.core.Response;
 
+import org.ovirt.engine.api.model.Domain;
 import org.ovirt.engine.api.model.Session;
 import org.ovirt.engine.api.model.Sessions;
 import org.ovirt.engine.api.model.User;
@@ -38,11 +39,27 @@
             for (Session session : sessions.getSessions()) {
                 setSessionId(session);
                 setSessionVmId(vmModel, session);
-                setSessionUser(session);
-                addLinks(session, org.ovirt.engine.api.model.VM.class);
+                // only console user assumed to be an ovirt user, and only an 
ovirt-user has an ID & href
+                if (session.isSetConsoleUser() && session.isConsoleUser()) {
+                    addLinksIncludingUser(session);
+                } else {
+                    addLinks(session, org.ovirt.engine.api.model.VM.class);
+                }
             }
         }
         return sessions;
+    }
+
+    /**
+     * Special handling of adding links to the user and domain of the session.
+     */
+    private void addLinksIncludingUser(Session session) {
+        String domainName = session.getUser().getDomain().getName();
+        addLinks(session, org.ovirt.engine.api.model.VM.class);
+        session.getUser().setDomain(new Domain());
+        session.getUser().getDomain().setName(domainName);
+        setSessionUser(session);
+        // setSessionUserDomain(session);
     }
 
     private void setSessionVmId(org.ovirt.engine.api.model.VM vmModel, Session 
session) {
@@ -69,11 +86,13 @@
      * inside the user object, inside the session.
      */
     private void setSessionUser(Session session) {
-        if (session.isSetConsoleUser() && session.isConsoleUser()) { // (only 
console user assumed to be an ovirt user).
-            User user = 
getUserResource().getUserByName(session.getUser().getName());
-            session.getUser().setId(user.getId());
-            session.getUser().setHref(user.getHref());
-        }
+        User user =
+                
getUserResource().getUserByNameAndDomain(session.getUser().getUserName(),
+                        session.getUser().getDomain().getName());
+        session.getUser().setId(user.getId());
+        session.getUser().setHref(user.getHref());
+        session.getUser().getDomain().setId(user.getDomain().getId());
+        session.getUser().getDomain().setHref(user.getDomain().getHref());
     }
 
     private BackendUserResource getUserResource() {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
index 684ffe3..37d33b6 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendUserResourceTest.java
@@ -9,8 +9,8 @@
 import org.ovirt.engine.api.model.Group;
 import org.ovirt.engine.api.model.User;
 import org.ovirt.engine.core.common.businessentities.DbUser;
+import 
org.ovirt.engine.core.common.queries.GetDbUserByUserNameAndDomainQueryParameters;
 import org.ovirt.engine.core.common.queries.IdQueryParameters;
-import org.ovirt.engine.core.common.queries.NameQueryParameters;
 import org.ovirt.engine.core.common.queries.VdcQueryType;
 
 public class BackendUserResourceTest
@@ -61,12 +61,13 @@
     @Test
     public void testGetUserByName() throws Exception {
         setUriInfo(setUpBasicUriExpectations());
-        setUpGetEntityExpectations(VdcQueryType.GetDbUserByUserName,
-                NameQueryParameters.class,
-                new String[] { "Name" },
-                new Object[] { "admin" }, getEntity(0));
+        setUpGetEntityExpectations(VdcQueryType.GetDbUserByUserNameAndDomain,
+                GetDbUserByUserNameAndDomainQueryParameters.class,
+                new String[] { "UserName", "DomainName" },
+                new Object[] { "admin", "internal" },
+                getEntity(0));
         control.replay();
-        verifyModel(resource.getUserByName("admin"), 0);
+        verifyModel(resource.getUserByNameAndDomain("admin", "internal"), 0);
     }
 
     protected void setUpGetEntityExpectations() throws Exception {
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResourceTest.java
index 310e6e4..637d801 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmSessionsResourceTest.java
@@ -1,6 +1,7 @@
 package org.ovirt.engine.api.restapi.resource;
 
 import org.junit.Test;
+import org.ovirt.engine.api.model.Domain;
 import org.ovirt.engine.api.model.Session;
 import org.ovirt.engine.api.model.Sessions;
 import org.ovirt.engine.api.model.User;
@@ -18,7 +19,7 @@
     protected VM getEntity(int index) {
         org.ovirt.engine.core.common.businessentities.VM vm = new 
org.ovirt.engine.core.common.businessentities.VM();
         VmDynamic vmDynamic = new VmDynamic();
-        vmDynamic.setConsoleCurrentUserName("admin");
+        vmDynamic.setConsoleCurrentUserName("admin@internal");
         vmDynamic.setClientIp("1.1.1.1");
         vmDynamic.setGuestCurrentUserName("Ori");
         vm.setDynamicData(vmDynamic);
@@ -38,7 +39,7 @@
     @Test
     public void testList() throws Exception {
         BackendUserResource userResourceMock = 
control.createMock(BackendUserResource.class);
-        
expect(userResourceMock.getUserByName("admin")).andReturn(getUser()).anyTimes();
+        expect(userResourceMock.getUserByNameAndDomain("admin", 
"internal")).andReturn(getUser()).anyTimes();
         resource.setUserResource(userResourceMock);
         resource.setUriInfo(setUpBasicUriExpectations());
         setUpGetEntityExpectations(VdcQueryType.GetVmByVmId,
@@ -52,16 +53,15 @@
         assertNotNull(sessions.getSessions().get(1).getVm());
         assertNotNull(sessions.getSessions().get(0).getId());
         assertNotNull(sessions.getSessions().get(1).getId());
-        Session consoleSession =
-                
sessions.getSessions().get(0).getUser().getName().equals("admin") ? 
sessions.getSessions().get(0)
-                        : sessions.getSessions().get(1);
-        assertEquals(consoleSession.getUser().getHref(), 
"/ovirt-engine/api/users/11111111-1111-1111-1111-111111111111");
     }
 
     private User getUser() {
         User user = new User();
-        user.setName("admin");
+        user.setUserName("admin");
         user.setId(GUIDS[1].toString());
+        Domain domain = new Domain();
+        domain.setName("internal");
+        user.setDomain(domain);
         return user;
     }
 }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index 46b0ca8..ee1752e 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -1474,11 +1474,16 @@
      * protocol used in the session (spice/vnc).
      */
     private static Sessions 
mapConsoleSession(org.ovirt.engine.core.common.businessentities.VM vm, Sessions 
sessions) {
-        String consoleUserName = vm.getConsoleCurentUserName();
+        String consoleUserName = vm.getConsoleCurentUserName(); // currently 
in format user@domain, so needs to be
+                                                                // parsed.
         if (consoleUserName != null && !consoleUserName.isEmpty()) {
-            Session consoleSession = new Session();
+            String userName = parseUserName(consoleUserName);
+            String domainName = parseDomainName(consoleUserName);
             User consoleUser = new User();
-            consoleUser.setName(consoleUserName);
+            consoleUser.setUserName(userName);
+            consoleUser.setDomain(new Domain());
+            consoleUser.getDomain().setName(domainName);
+            Session consoleSession = new Session();
             consoleSession.setUser(consoleUser);
             if (vm.getClientIp()!=null && !vm.getClientIp().isEmpty()) {
                 IP ip = new IP();
@@ -1493,6 +1498,25 @@
     }
 
     /**
+     * Parse the user name out of the provided string. Expects 'user@domain', 
but if no '@' found, will assume that
+     * domain was omitted and that the whole String is the user-name.
+     */
+    private static String parseDomainName(String consoleUserName) {
+        return consoleUserName.contains("@") ?
+                consoleUserName.substring(consoleUserName.indexOf("@") + 1, 
consoleUserName.length()) : null;
+    }
+
+    /**
+     * Parse the domain name out of the provided string. Expects 
'user@domain'. If no '@' found, will assume that domain
+     * name was omitted and return null.
+     */
+    private static String parseUserName(String consoleUserName) {
+        return consoleUserName.contains("@") ?
+                consoleUserName.substring(0, consoleUserName.indexOf("@")) :
+                consoleUserName;
+    }
+
+    /**
      * This method maps the sessions of users who are connected to the VM, but 
are not the 'logged-in'/'console' user.
      * Currently the information that engine supplies about these users is 
only a string, which contains the name of
      * only one such user, if exists (the user is not necessarily an ovirt 
user). In the future the engine may pass
@@ -1504,7 +1528,7 @@
         if (guestUserName != null && !guestUserName.isEmpty()) {
             Session guestSession = new Session();
             User user = new User();
-            user.setName(guestUserName);
+            user.setUserName(guestUserName);
             guestSession.setUser(user);
             // TODO: in the future, map the user-IP and connection protocol as 
well
             sessions.getSessions().add(guestSession);
diff --git 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
index 53d4949..bb1ac1b 100644
--- 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
+++ 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/VmMapperTest.java
@@ -579,14 +579,14 @@
         assertNotNull(sessions);
         assertEquals(sessions.getSessions().size(), 2);
         Session consoleSession =
-                
sessions.getSessions().get(0).getUser().getName().equals("admin") ? 
sessions.getSessions().get(0)
+                
sessions.getSessions().get(0).getUser().getUserName().equals("admin") ? 
sessions.getSessions().get(0)
                         : sessions.getSessions().get(1);
         Session guestSession =
-                
sessions.getSessions().get(0).getUser().getName().equals("Ori") ? 
sessions.getSessions().get(0)
+                
sessions.getSessions().get(0).getUser().getUserName().equals("Ori") ? 
sessions.getSessions().get(0)
                         : sessions.getSessions().get(1);
-        assertEquals(consoleSession.getUser().getName(), "admin");
+        assertEquals(consoleSession.getUser().getUserName(), "admin");
         assertEquals(consoleSession.getIp().getAddress(), "1.1.1.1");
         assertTrue(consoleSession.isConsoleUser());
-        assertEquals(guestSession.getUser().getName(), "Ori");
+        assertEquals(guestSession.getUser().getUserName(), "Ori");
     }
 }
diff --git a/packaging/dbscripts/user_sp.sql b/packaging/dbscripts/user_sp.sql
index 04c88f0..5b49e4f 100644
--- a/packaging/dbscripts/user_sp.sql
+++ b/packaging/dbscripts/user_sp.sql
@@ -187,12 +187,12 @@
 
 
 
-Create or replace FUNCTION GetUserByUserName(v_username VARCHAR(255)) RETURNS 
SETOF users STABLE
+Create or replace FUNCTION GetUserByUserNameAndDomain(v_username VARCHAR(255), 
v_domain VARCHAR(255)) RETURNS SETOF users STABLE
    AS $procedure$
 BEGIN
       RETURN QUERY SELECT users.*
       FROM users
-      WHERE username = v_username;
+      WHERE username = v_username AND domain = v_domain;
 END; $procedure$
 LANGUAGE plpgsql;
 


-- 
To view, visit http://gerrit.ovirt.org/29506
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I034c93fe0c5037771dc9ed12d64ca5deea10957f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ori Liel <ol...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to