Allon Mureinik has uploaded a new change for review.

Change subject: core: Remove user_sessions table
......................................................................

core: Remove user_sessions table

The user_sessions table is part of the old login/logout mechanism,
which is no longer in use.

Before this patch, the table still existed, as well as code that
queries it and deletes from it, but no occurrences of inserting or
updating it, which means it was effectively useless.

This patch drops it from the database, and removes any remnants of code
that still reference it, including the session_count column of the
users table (and the corresponding members of the DbUser class).

Change-Id: I46952752950dcfeb4f917d532b80f15df7ff19c6
Signed-off-by: Allon Mureinik <[email protected]>
---
A backend/manager/dbscripts/upgrade/03_02_0420_remove_user_session.sql
M backend/manager/dbscripts/user_sp.sql
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DbUserCacheManager.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/session/SessionDataContainer.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/session/SessionDataContainerTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
D 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions.java
D 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions_id.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/DbUserDAOTest.java
M backend/manager/modules/dal/src/test/resources/fixtures.xml
12 files changed, 18 insertions(+), 647 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/11886/1

diff --git 
a/backend/manager/dbscripts/upgrade/03_02_0420_remove_user_session.sql 
b/backend/manager/dbscripts/upgrade/03_02_0420_remove_user_session.sql
new file mode 100644
index 0000000..21a7aa2
--- /dev/null
+++ b/backend/manager/dbscripts/upgrade/03_02_0420_remove_user_session.sql
@@ -0,0 +1,2 @@
+select fn_db_drop_column ('session_count', 'users');
+DROP TABLE user_sessions;
diff --git a/backend/manager/dbscripts/user_sp.sql 
b/backend/manager/dbscripts/user_sp.sql
index b08de2d..26cb5e4 100644
--- a/backend/manager/dbscripts/user_sp.sql
+++ b/backend/manager/dbscripts/user_sp.sql
@@ -38,14 +38,13 @@
        v_surname VARCHAR(255) ,
        v_user_icon_path VARCHAR(255) ,
        v_user_id UUID,
-    v_session_count INTEGER,
        v_username VARCHAR(255),
        v_group_ids VARCHAR(2048))
 RETURNS VOID
    AS $procedure$
 BEGIN
-INSERT INTO users(department, desktop_device, domain, email, groups, name, 
note, role, status, surname, user_icon_path, user_id, session_count, username, 
group_ids)
-       VALUES(v_department, v_desktop_device, v_domain, v_email, v_groups, 
v_name, v_note, v_role, v_status, v_surname, v_user_icon_path, v_user_id, 
v_session_count, v_username, v_group_ids);
+INSERT INTO users(department, desktop_device, domain, email, groups, name, 
note, role, status, surname, user_icon_path, user_id, username, group_ids)
+       VALUES(v_department, v_desktop_device, v_domain, v_email, v_groups, 
v_name, v_note, v_role, v_status, v_surname, v_user_icon_path, v_user_id, 
v_username, v_group_ids);
 END; $procedure$
 LANGUAGE plpgsql;
 
@@ -65,7 +64,6 @@
        v_surname VARCHAR(255) ,
        v_user_icon_path VARCHAR(255) ,
        v_user_id UUID,
-    v_session_count INTEGER,
        v_username VARCHAR(255),
        v_last_admin_check_status BOOLEAN,
        v_group_ids VARCHAR(2048))
@@ -78,7 +76,7 @@
       SET department = v_department,desktop_device = v_desktop_device,domain = 
v_domain,
       email = v_email,groups = v_groups,name = v_name,note = v_note,
       role = v_role,status = v_status,surname = v_surname,user_icon_path = 
v_user_icon_path,
-      username = v_username,session_count = v_session_count,
+      username = v_username,
       last_admin_check_status = v_last_admin_check_status,
       group_ids = v_group_ids
       WHERE user_id = v_user_id;
@@ -157,128 +155,6 @@
       and      permissions.object_id = v_vm_guid;
 END; $procedure$
 LANGUAGE plpgsql;
-
-
-
-
-----------------------------------------------------------------
--- [user_sessions] Table
-----------------------------------------------------------------
-
-
-Create or replace FUNCTION Insertuser_sessions(v_browser CHAR(10) ,
-       v_client_type CHAR(10) ,
-       v_login_time TIMESTAMP WITH TIME ZONE ,
-       v_os CHAR(10) ,
-       v_session_id CHAR(32),
-       v_user_id UUID)
-RETURNS VOID
-   AS $procedure$
-BEGIN
-      if (not exists(select session_id from user_sessions
-      where session_id = v_session_id and user_id = v_user_id)) then
-
-INSERT INTO user_sessions(browser, client_type, login_time, os, session_id, 
user_id)
-                               VALUES(v_browser, v_client_type, v_login_time, 
v_os, v_session_id, v_user_id);
-
-         UPDATE users
-         SET session_count = session_count+1
-         WHERE
-         user_id = v_user_id;
-      end if;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-Create or replace FUNCTION Deleteuser_sessions(v_session_id CHAR(32),
-       v_user_id UUID)
-RETURNS VOID
-   AS $procedure$
-   DECLARE
-   v_counter  INTEGER;
-   SWV_RowCount INTEGER;
-BEGIN
-      DELETE FROM user_sessions
-      WHERE session_id = v_session_id AND user_id = v_user_id;
-      GET DIAGNOSTICS SWV_RowCount = ROW_COUNT;
-      if (SWV_RowCount > 0) then
-         select   session_count INTO v_counter from users WHERE
-         user_id = v_user_id;
-         if (v_counter > 0) then
-            UPDATE users
-            SET session_count = session_count -1
-            WHERE
-            user_id = v_user_id;
-         end if;
-      end if;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-Create or replace FUNCTION Deleteuser_sessionsByuser_id(v_user_id UUID)
-RETURNS VOID
-   AS $procedure$
-BEGIN
-      DELETE FROM user_sessions
-      WHERE user_id = v_user_id;
-      UPDATE users
-      SET session_count = 0
-      WHERE
-      user_id = v_user_id;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-
-Create or replace FUNCTION GetAllFromuser_sessions() RETURNS SETOF 
user_sessions
-   AS $procedure$
-BEGIN
-      RETURN QUERY SELECT user_sessions.*
-      FROM user_sessions;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-Create or replace FUNCTION 
Getuser_sessionsBysession_idAndByuser_id(v_session_id CHAR(32),
-       v_user_id UUID) RETURNS SETOF user_sessions
-   AS $procedure$
-BEGIN
-      RETURN QUERY SELECT user_sessions.*
-      FROM user_sessions
-      WHERE session_id = v_session_id AND user_id = v_user_id;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
-
-
-Create or replace FUNCTION DeleteAlluser_sessions()
-RETURNS VOID
-   AS $procedure$
-BEGIN
-      TRUNCATE TABLE user_sessions;
-      UPDATE users
-      SET session_count = 0
-      WHERE
-      session_count > 0;
-END; $procedure$
-LANGUAGE plpgsql;
-
-
-
 
 
 
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DbUserCacheManager.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DbUserCacheManager.java
index 69c9e75..d2da67c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DbUserCacheManager.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/DbUserCacheManager.java
@@ -12,19 +12,19 @@
 import org.ovirt.engine.core.bll.adbroker.LdapSearchByIdParameters;
 import org.ovirt.engine.core.bll.adbroker.LdapSearchByUserIdListParameters;
 import org.ovirt.engine.core.bll.adbroker.UsersDomainsCacheManagerService;
-import org.ovirt.engine.core.common.businessentities.LdapUser;
-import org.ovirt.engine.core.common.businessentities.LdapRefStatus;
 import org.ovirt.engine.core.common.businessentities.AsyncTaskStatusEnum;
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.common.businessentities.LdapGroup;
+import org.ovirt.engine.core.common.businessentities.LdapRefStatus;
+import org.ovirt.engine.core.common.businessentities.LdapUser;
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.utils.log.Log;
-import org.ovirt.engine.core.utils.log.LogFactory;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
 import org.ovirt.engine.core.utils.linq.LinqUtils;
 import org.ovirt.engine.core.utils.linq.Predicate;
+import org.ovirt.engine.core.utils.log.Log;
+import org.ovirt.engine.core.utils.log.LogFactory;
 import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation;
 import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl;
 
@@ -63,8 +63,6 @@
     public void init() {
         if (!initialized) {
             log.info("Start initializing " + getClass().getSimpleName());
-            // clean all user sessions in DB
-            DbFacade.getInstance().getDbUserDao().removeAllSessions();
 
             int mRefreshRate = Config.<Integer> 
GetValue(ConfigValues.UserRefreshRate);
             jobId = 
SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, "OnTimer", 
new Class[] {},
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/session/SessionDataContainer.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/session/SessionDataContainer.java
index 1899a22..640817d 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/session/SessionDataContainer.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/session/SessionDataContainer.java
@@ -1,15 +1,11 @@
 package org.ovirt.engine.core.bll.session;
 
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.interfaces.IVdcUser;
-import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.DbFacade;
-import org.ovirt.engine.core.dao.DbUserDAO;
 import org.ovirt.engine.core.utils.ThreadLocalParamsContainer;
 import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation;
 
@@ -153,28 +149,11 @@
     }
 
     /**
-     * Will run the process of cleaning expired sessions. At case when session
-     * connected to user, it will be also deleted from DB
+     * Will run the process of cleaning expired sessions.
      */
     @OnTimerMethodAnnotation("cleanExpiredUsersSessions")
     public final void cleanExpiredUsersSessions() {
-        Map<String, Map<String, Object>> map = deleteOldGeneration();
-        if (map != null && !map.isEmpty()) {
-            Map<String, Guid> userSessionMap = new HashMap<String, Guid>();
-            for (Map.Entry<String, Map<String, Object>> entry : 
map.entrySet()) {
-                IVdcUser user = (IVdcUser) 
entry.getValue().get(VDC_USER_PARAMETER_NAME);
-                if (user != null) {
-                    userSessionMap.put(entry.getKey(), user.getUserId());
-                }
-            }
-            if (!userSessionMap.isEmpty()) {
-                getDbUserDAO().removeUserSessions(userSessionMap);
-            }
-        }
-    }
-
-    protected DbUserDAO getDbUserDAO() {
-        return DbFacade.getInstance().getDbUserDao();
+        deleteOldGeneration();
     }
 
     /**
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/session/SessionDataContainerTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/session/SessionDataContainerTest.java
index 9986c62..c445213 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/session/SessionDataContainerTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/session/SessionDataContainerTest.java
@@ -5,18 +5,13 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyMap;
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.ovirt.engine.core.common.interfaces.IVdcUser;
-import org.ovirt.engine.core.dao.DbUserDAO;
 import org.ovirt.engine.core.utils.ThreadLocalParamsContainer;
 
 /**
@@ -135,7 +130,7 @@
 
     @Test
     public void testCleanNotExpiredUsersSessionsNoUsers() {
-        DbUserDAO dbUserDAOMcok = initDataForClearTest(TEST_KEY);
+        initDataForClearTest(TEST_KEY);
 
         // Clear expired sessions - data is moved to older generation
         // nothing should happen as far as the user is concerned
@@ -143,12 +138,11 @@
 
         assertNotNull("Get should return the value since the session was not 
removed",
                 container.GetData(TEST_SESSION_ID, TEST_KEY, false));
-        verifyZeroInteractions(dbUserDAOMcok);
     }
 
     @Test
     public void testCleanExpiredUsersSessionsNoUsers() {
-        DbUserDAO dbUserDAOMcok = initDataForClearTest(TEST_KEY);
+        initDataForClearTest(TEST_KEY);
 
         // Clear expired sessions twice - data is moved to older generation, 
then removed
         container.cleanExpiredUsersSessions();
@@ -156,12 +150,11 @@
 
         assertNull("Get should return null since the session was removed",
                 container.GetData(TEST_SESSION_ID, TEST_KEY, false));
-        verifyZeroInteractions(dbUserDAOMcok);
     }
 
     @Test
     public void testCleanNotExpiredUsersSessionsWithUsers() {
-        DbUserDAO dbUserDAOMcok = initDataForClearTest(USER);
+        initDataForClearTest(USER);
 
         // Clear expired sessions - data is moved to older generation
         // nothing should happen as far as the user is concerned
@@ -171,13 +164,11 @@
                 container.GetData(TEST_SESSION_ID, USER, false));
         assertNotNull("Get should return the value since the session was not 
removed",
                 container.getUser(TEST_SESSION_ID, false));
-        verifyZeroInteractions(dbUserDAOMcok);
     }
 
-    @SuppressWarnings("unchecked")
     @Test
     public void testCleanExpiredUsersSessionsWithUsers() {
-        DbUserDAO dbUserDAOMcok = initDataForClearTest(USER);
+        initDataForClearTest(USER);
 
         // Clear expired sessions twice - data is moved to older generation, 
then removed
         container.cleanExpiredUsersSessions();
@@ -187,16 +178,11 @@
                 container.GetData(TEST_SESSION_ID, USER, false));
         assertNull("Get should return null since the session was removed",
                 container.getUser(TEST_SESSION_ID, false));
-        verify(dbUserDAOMcok).removeUserSessions(anyMap());
     }
 
-    private DbUserDAO initDataForClearTest(String key) {
-        DbUserDAO dbUserDAOMcok = mock(DbUserDAO.class);
-        doReturn(dbUserDAOMcok).when(container).getDbUserDAO();
-
-        // Set some data
+    /** Initializes the {@link #key} data */
+    private void initDataForClearTest(String key) {
         container.SetData(TEST_SESSION_ID, key, mock(IVdcUser.class));
-        return dbUserDAOMcok;
     }
 
     @Test
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
index df66f3f..9711e21 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/DbUser.java
@@ -45,10 +45,6 @@
 
     private int status;
 
-    private int sessionCount;
-
-    private boolean isLoggedIn;
-
     /**
      * GUI flag only. Do not use for internal logic. The sole purpose of 
calculating this field is for the GUI user to
      * understand who is admin in a snap on the user-grid
@@ -66,7 +62,7 @@
 
     public DbUser(String department, String desktop_device, String domain, 
String email, String groups, String name,
             String note, String role, int status, String surname, String 
user_icon_path, Guid user_id, String username,
-            int sessionCount, String groupIds) {
+            String groupIds) {
         this.department = department;
         this.desktopDevice = desktop_device;
         this.domain = domain;
@@ -80,7 +76,6 @@
         this.userIconPath = user_icon_path;
         this.id = user_id;
         this.username = username;
-        this.sessionCount = sessionCount;
         this.setGroupIds(groupIds);
     }
 
@@ -100,7 +95,6 @@
                 + ((email == null) ? 0 : email.hashCode());
         result = prime * result
                 + ((groups == null) ? 0 : groups.hashCode());
-        result = prime * result + (isLoggedIn ? 1231 : 1237);
         result = prime * result + (lastAdminCheckStatus ? 1231 : 1237);
         result = prime * result
                 + ((name == null) ? 0 : name.hashCode());
@@ -108,7 +102,6 @@
                 + ((note == null) ? 0 : note.hashCode());
         result = prime * result
                 + ((role == null) ? 0 : role.hashCode());
-        result = prime * result + sessionCount;
         result = prime * result + status;
         result = prime * result
                 + ((surname == null) ? 0 : surname.hashCode());
@@ -157,8 +150,6 @@
                 return false;
         } else if (!groups.equals(other.groups))
             return false;
-        if (isLoggedIn != other.isLoggedIn)
-            return false;
         if (lastAdminCheckStatus != other.lastAdminCheckStatus)
             return false;
         if (name == null) {
@@ -175,8 +166,6 @@
             if (other.role != null)
                 return false;
         } else if (!role.equals(other.role))
-            return false;
-        if (sessionCount != other.sessionCount)
             return false;
         if (status != other.status)
             return false;
@@ -305,23 +294,6 @@
 
     public void setusername(String value) {
         this.username = value;
-    }
-
-    public int getsession_count() {
-        return sessionCount;
-    }
-
-    public void setsession_count(int value) {
-        sessionCount = value;
-        setIsLogedin((sessionCount > 0));
-    }
-
-    public boolean getIsLogedin() {
-        return isLoggedIn;
-    }
-
-    public void setIsLogedin(boolean value) {
-        isLoggedIn = value;
     }
 
     public DbUser(LdapUser ldapUser) {
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions.java
deleted file mode 100644
index a260101..0000000
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.ovirt.engine.core.dal.dbbroker;
-
-import org.ovirt.engine.core.compat.Guid;
-
-public class user_sessions {
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((browser == null) ? 0 : browser.hashCode());
-        result = prime * result + ((clientType == null) ? 0 : 
clientType.hashCode());
-        result = prime * result + ((id == null) ? 0 : id.hashCode());
-        result = prime * result + ((loginTime == null) ? 0 : 
loginTime.hashCode());
-        result = prime * result + ((os == null) ? 0 : os.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        user_sessions other = (user_sessions) obj;
-        if (browser == null) {
-            if (other.browser != null)
-                return false;
-        } else if (!browser.equals(other.browser))
-            return false;
-        if (clientType == null) {
-            if (other.clientType != null)
-                return false;
-        } else if (!clientType.equals(other.clientType))
-            return false;
-        if (id == null) {
-            if (other.id != null)
-                return false;
-        } else if (!id.equals(other.id))
-            return false;
-        if (loginTime == null) {
-            if (other.loginTime != null)
-                return false;
-        } else if (loginTime != null && other.loginTime == null)
-            return false;
-        else if (loginTime != null && other.loginTime != null) {
-            // TODO remvoe this when moving to Hibernate
-            long thisLoginTimeNoMillis = loginTime.getTime();
-            thisLoginTimeNoMillis -= thisLoginTimeNoMillis % 1000l;
-
-            long thatLoginTimeNoMillis = other.loginTime.getTime();
-            thatLoginTimeNoMillis -= thatLoginTimeNoMillis % 1000l;
-
-            if (thisLoginTimeNoMillis != thatLoginTimeNoMillis)
-                return false;
-        }
-        if (os == null) {
-            if (other.os != null)
-                return false;
-        } else if (!os.equals(other.os))
-            return false;
-        return true;
-    }
-
-    private user_sessions_id id = new user_sessions_id();
-
-    public user_sessions() {
-    }
-
-    public user_sessions(String browser, String client_type, java.util.Date 
login_time, String os, String session_id,
-            Guid user_id) {
-        this.browser = browser;
-        this.clientType = client_type;
-        this.loginTime = login_time;
-        this.os = os;
-        this.id.sessionId = session_id;
-        this.id.userId = user_id;
-    }
-
-    private String browser;
-
-    public String getbrowser() {
-        return this.browser;
-    }
-
-    public void setbrowser(String value) {
-        this.browser = value;
-    }
-
-    private String clientType;
-
-    public String getclient_type() {
-        return this.clientType;
-    }
-
-    public void setclient_type(String value) {
-        this.clientType = value;
-    }
-
-    private java.util.Date loginTime;
-
-    public java.util.Date getlogin_time() {
-        return this.loginTime;
-    }
-
-    public void setlogin_time(java.util.Date value) {
-        this.loginTime = value;
-    }
-
-    private String os;
-
-    public String getos() {
-        return this.os;
-    }
-
-    public void setos(String value) {
-        this.os = value;
-    }
-
-    public String getsession_id() {
-        return this.id.sessionId;
-    }
-
-    public void setsession_id(String value) {
-        this.id.sessionId = value;
-    }
-
-    public Guid getuser_id() {
-        return this.id.userId;
-    }
-
-    public void setuser_id(Guid value) {
-        this.id.userId = value;
-    }
-}
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions_id.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions_id.java
deleted file mode 100644
index cffbc08..0000000
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/user_sessions_id.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.ovirt.engine.core.dal.dbbroker;
-
-import java.io.Serializable;
-
-import org.ovirt.engine.core.compat.Guid;
-
-public class user_sessions_id implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    public Guid getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Guid userId) {
-        this.userId = userId;
-    }
-
-    public String getSessionId() {
-        return sessionId;
-    }
-
-    public void setSessionId(String sessionId) {
-        this.sessionId = sessionId;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((sessionId == null) ? 0 : 
sessionId.hashCode());
-        result = prime * result + ((userId == null) ? 0 : userId.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        user_sessions_id other = (user_sessions_id) obj;
-        if (sessionId == null) {
-            if (other.sessionId != null)
-                return false;
-        } else if (!sessionId.equals(other.sessionId))
-            return false;
-        if (userId == null) {
-            if (other.userId != null)
-                return false;
-        } else if (!userId.equals(other.userId))
-            return false;
-        return true;
-    }
-
-    Guid userId;
-
-    String sessionId;
-
-    public user_sessions_id() {
-    }
-
-    public user_sessions_id(Guid userId, String sessionId) {
-        this.userId = userId;
-        this.sessionId = sessionId;
-    }
-
-}
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 2828aed..02891f2 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
@@ -1,11 +1,9 @@
 package org.ovirt.engine.core.dao;
 
 import java.util.List;
-import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.user_sessions;
 
 /**
  * <code>DbUserDAO</code> defines a type for performing CRUD operations on 
instances of {@link DbUser}.
@@ -58,27 +56,12 @@
     List<DbUser> getAll();
 
     /**
-     * Retrieves all sessions.
-     *
-     * @return the list of sessions
-     */
-    List<user_sessions> getAllUserSessions();
-
-    /**
      * Saves the user.
      *
      * @param user
      *            the user
      */
     void save(DbUser user);
-
-    /**
-     * Saves the specified user session. Admin users, though, are not saved.
-     *
-     * @param session
-     *            the session
-     */
-    void saveSession(user_sessions session);
 
     /**
      * Updates the specified user in the database.
@@ -95,27 +78,4 @@
      *            the user id
      */
     void remove(Guid user);
-
-    /**
-     * Removes the specified session for the specified user.
-     *
-     * @param session
-     *            the session
-     * @param user
-     *            the user
-     */
-    void removeUserSession(String session, Guid user);
-
-    /**
-     * Removes the specified user sessions.
-     *
-     * @param sessionmap
-     *            the session map
-     */
-    void removeUserSessions(Map<String, Guid> sessionmap);
-
-    /**
-     * Removes all user sessions.
-     */
-    void removeAllSessions();
 }
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 2d2c3c6..56b5aa8 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
@@ -3,13 +3,10 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.dal.dbbroker.CustomMapSqlParameterSource;
-import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils;
-import org.ovirt.engine.core.dal.dbbroker.user_sessions;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
 import org.springframework.jdbc.core.simple.SimpleJdbcCall;
@@ -40,7 +37,6 @@
             entity.setsurname(rs.getString("surname"));
             entity.setuser_icon_path(rs.getString("user_icon_path"));
             
entity.setuser_id(Guid.createGuidFromString(rs.getString("user_id")));
-            entity.setsession_count(rs.getInt("session_count"));
             entity.setusername(rs.getString("username"));
             
entity.setLastAdminCheckStatus(rs.getBoolean("last_admin_check_status"));
             entity.setGroupIds(rs.getString("group_ids"));
@@ -64,7 +60,6 @@
             addValue("surname", user.getsurname());
             addValue("user_icon_path", user.getuser_icon_path());
             addValue("user_id", user.getuser_id());
-            addValue("session_count", user.getsession_count());
             addValue("username", user.getusername());
             addValue("last_admin_check_status", 
user.getLastAdminCheckStatus());
             addValue("group_ids", user.getGroupIds());
@@ -111,30 +106,6 @@
     }
 
     @Override
-    public List<user_sessions> getAllUserSessions() {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource();
-
-        ParameterizedRowMapper<user_sessions> mapper = new 
ParameterizedRowMapper<user_sessions>() {
-            @Override
-            public user_sessions mapRow(ResultSet rs, int rowNum)
-                    throws SQLException {
-                user_sessions entity = new user_sessions();
-                entity.setbrowser(rs.getString("browser"));
-                entity.setclient_type(rs.getString("client_type"));
-                entity.setlogin_time(DbFacadeUtils.fromDate(rs
-                        .getTimestamp("login_time")));
-                entity.setos(rs.getString("os"));
-                entity.setsession_id(rs.getString("session_id"));
-                entity.setuser_id(Guid.createGuidFromString(rs
-                        .getString("user_id")));
-                return entity;
-            }
-        };
-
-        return getCallsHandler().executeReadList("GetAllFromuser_sessions", 
mapper, parameterSource);
-    }
-
-    @Override
     public List<DbUser> getAll() {
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource();
 
@@ -144,21 +115,6 @@
     @Override
     public void save(DbUser user) {
         new 
SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertUser").execute(new 
DbUserMapSqlParameterSource(user));
-    }
-
-    @Override
-    public void saveSession(user_sessions session) {
-        if (!"".equals(session.getsession_id())) {
-            MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
-                    .addValue("browser", session.getbrowser())
-                    .addValue("client_type", session.getclient_type())
-                    .addValue("login_time", session.getlogin_time())
-                    .addValue("os", session.getos())
-                    .addValue("session_id", session.getsession_id())
-                    .addValue("user_id", session.getuser_id());
-
-            getCallsHandler().executeModification("Insertuser_sessions", 
parameterSource);
-        }
     }
 
     @Override
@@ -172,27 +128,5 @@
                 .addValue("user_id", id);
 
         getCallsHandler().executeModification("DeleteUser", parameterSource);
-    }
-
-    @Override
-    public void removeUserSession(String sessionid, Guid userid) {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
-                .addValue("session_id", sessionid).addValue("user_id", userid);
-
-        new 
SimpleJdbcCall(jdbcTemplate).withProcedureName("Deleteuser_sessions").execute(parameterSource);
-    }
-
-    @Override
-    public void removeUserSessions(Map<String, Guid> sessionmap) {
-        for (Map.Entry<String, Guid> entry : sessionmap.entrySet()) {
-            removeUserSession(entry.getKey(), entry.getValue());
-        }
-    }
-
-    @Override
-    public void removeAllSessions() {
-        MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource();
-
-        new 
SimpleJdbcCall(jdbcTemplate).withProcedureName("DeleteAlluser_sessions").execute(parameterSource);
     }
 }
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 2c41c9a..2d484e8 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
@@ -5,9 +5,7 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
-import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
@@ -15,17 +13,13 @@
 import org.junit.Test;
 import org.ovirt.engine.core.common.businessentities.DbUser;
 import org.ovirt.engine.core.compat.Guid;
-import org.ovirt.engine.core.dal.dbbroker.user_sessions;
 
 public class DbUserDAOTest extends BaseDAOTestCase {
-    private static final int USER_SESSION_COUNT = 5;
-    private static final String SESSION_ID = 
"21098765432109876543210987654321";
     private DbUserDAO dao;
     private DbUser existingUser;
     private DbUser deletableUser;
     private DbUser newUser;
     private Guid vm;
-    private user_sessions newSession;
 
     @Override
     @Before
@@ -47,13 +41,6 @@
         newUser.setemail("[email protected]");
         newUser.setdomain("domain");
         newUser.setgroups("groups");
-
-        newSession = new user_sessions();
-        newSession.setsession_id(SESSION_ID);
-        newSession.setuser_id(existingUser.getuser_id());
-        Date now = new Date();
-        now.setTime(System.currentTimeMillis());
-        newSession.setlogin_time(now);
     }
 
     /**
@@ -145,18 +132,6 @@
     }
 
     /**
-     * Ensures that the right number of sessions are returned.
-     */
-    @Test
-    public void testGetAllUserSessions() {
-        List<user_sessions> result = dao.getAllUserSessions();
-
-        assertNotNull(result);
-        assertFalse(result.isEmpty());
-        assertEquals(USER_SESSION_COUNT, result.size());
-    }
-
-    /**
      * Ensures that saving a user works as expected.
      */
     @Test
@@ -191,27 +166,6 @@
     }
 
     /**
-     * Ensures that saving a user session works as expected.
-     */
-    @Test
-    public void testSaveSession() {
-        List<user_sessions> before = dao.getAllUserSessions();
-
-        dao.saveSession(newSession);
-
-        List<user_sessions> after = dao.getAllUserSessions();
-        assertTrue(after.size() > before.size());
-
-        boolean itWorked = false;
-
-        for (user_sessions session : after) {
-            itWorked |= newSession.equals(session);
-        }
-
-        assertTrue(itWorked);
-    }
-
-    /**
      * Ensures that updating a user works as expected.
      */
     @Test
@@ -236,37 +190,5 @@
         DbUser result = dao.get(deletableUser.getuser_id());
 
         assertNull(result);
-    }
-
-    /**
-     * Ensures that removing a single session works as expected.
-     */
-    @Test
-    public void testRemoveUserSession() {
-        List<user_sessions> before = dao.getAllUserSessions();
-        user_sessions deadSession = before.get(0);
-
-        dao.removeUserSession(deadSession.getsession_id(), 
deadSession.getuser_id());
-
-        List<user_sessions> after = dao.getAllUserSessions();
-
-        assertTrue(after.size() < before.size());
-        for (user_sessions session : after) {
-            if (deadSession.equals(session))
-                fail("The session should have been deleted.");
-        }
-    }
-
-    /**
-     * Ensures that removing all sessions works as expected.
-     */
-    @Test
-    public void testRemoveAllSessions() {
-        dao.removeAllSessions();
-
-        List<user_sessions> result = dao.getAllUserSessions();
-
-        assertNotNull(result);
-        assertTrue(result.isEmpty());
     }
 }
diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml 
b/backend/manager/modules/dal/src/test/resources/fixtures.xml
index 1bc7b63..9a0d805 100644
--- a/backend/manager/modules/dal/src/test/resources/fixtures.xml
+++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml
@@ -2637,7 +2637,6 @@
       <column>email</column>
       <column>note</column>
       <column>status</column>
-      <column>session_count</column>
       <column>last_admin_check_status</column>
       <column>group_ids</column>
       <row>
@@ -2654,7 +2653,6 @@
           <null />
           <null />
           <value>2</value>
-          <value>0</value>
           <value>0</value>
           
<value>35487601-05ef-43b0-932d-8663ea4c9495,fa63c7e0-d9d4-492f-9e4e-6ed8c4719364</value>
       </row>
@@ -2673,58 +2671,8 @@
           <null />
           <value>2</value>
           <value>0</value>
-          <value>0</value>
           
<value>26df4393-659b-4b8a-b0f6-3ee94d32e82f,08963ba9-b1c8-498d-989f-75cf8142eab7</value>
       </row>
-    </table>
-
-    <table name="user_sessions">
-        <column>session_id</column>
-        <column>user_id</column>
-        <column>os</column>
-        <column>browser</column>
-        <column>client_type</column>
-        <column>login_time</column>
-        <row>
-            <value>12345678901234567890123456789012</value>
-            <value>9bf7c640-b620-456f-a550-0348f366544a</value>
-            <value></value>
-            <value></value>
-            <value></value>
-            <value>2010-12-31 07:33</value>
-        </row>
-        <row>
-            <value>12345678901234567890123456789013</value>
-            <value>9bf7c640-b620-456f-a550-0348f366544a</value>
-            <value></value>
-            <value></value>
-            <value></value>
-            <value>2010-12-31 07:33</value>
-        </row>
-        <row>
-            <value>12345678901234567890123456789014</value>
-            <value>9bf7c640-b620-456f-a550-0348f366544a</value>
-            <value></value>
-            <value></value>
-            <value></value>
-            <value>2010-12-31 07:33</value>
-        </row>
-        <row>
-            <value>12345678901234567890123456789015</value>
-            <value>9bf7c640-b620-456f-a550-0348f366544a</value>
-            <value></value>
-            <value></value>
-            <value></value>
-            <value>2010-12-31 07:33</value>
-        </row>
-        <row>
-            <value>12345678901234567890123456789016</value>
-            <value>9bf7c640-b620-456f-a550-0348f366544a</value>
-            <value></value>
-            <value></value>
-            <value></value>
-            <value>2010-12-31 07:33</value>
-        </row>
     </table>
 
     <table name="tags_user_map">


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I46952752950dcfeb4f917d532b80f15df7ff19c6
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to