Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: make EngineSession queriable
......................................................................

engine: make EngineSession queriable

Make EngineSession queriable through SearchQuery.

Change-Id: I9bbdd6e1828b9be5500ec2f998c62511f102deda
Bug-Url: https://bugzilla.redhat.com/1025796
Signed-off-by: Yevgeny Zaspitsky <yzasp...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EngineSession.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAO.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
5 files changed, 32 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/38378/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
index e680d7e..38c2648 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/SearchQuery.java
@@ -15,6 +15,7 @@
 import org.ovirt.engine.core.bll.quota.QuotaManager;
 import org.ovirt.engine.core.common.businessentities.AuditLog;
 import org.ovirt.engine.core.common.businessentities.Disk;
+import org.ovirt.engine.core.common.businessentities.EngineSession;
 import org.ovirt.engine.core.common.businessentities.IVdcQueryable;
 import org.ovirt.engine.core.common.businessentities.Provider;
 import org.ovirt.engine.core.common.businessentities.Quota;
@@ -137,6 +138,9 @@
             returnValue = searchVMTemplates();
             break;
         }
+        case Session:
+            returnValue = searchSessions();
+            break;
         default: {
             log.error("Search object type not handled: {}", 
getParameters().getSearchTypeValue());
             break;
@@ -311,6 +315,10 @@
         return genericSearch(getDbFacade().getProviderDao(), true);
     }
 
+    private List<EngineSession> searchSessions() {
+        return genericSearch(getDbFacade().getEngineSessionDao(), false);
+    }
+
     private QueryData initQueryData(boolean useCache) {
         QueryData data = null;
         boolean isExistsValue = false;
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EngineSession.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EngineSession.java
index db9ffed..aa30d11 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EngineSession.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/EngineSession.java
@@ -1,16 +1,17 @@
 package org.ovirt.engine.core.common.businessentities;
 
-import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
-import org.ovirt.engine.core.common.utils.ObjectUtils;
-import org.ovirt.engine.core.compat.Guid;
-
-import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
 
-public class EngineSession implements Serializable {
+import javax.validation.constraints.Size;
+
+import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
+import org.ovirt.engine.core.common.utils.ObjectUtils;
+import org.ovirt.engine.core.compat.Guid;
+
+public class EngineSession extends IVdcQueryable implements Serializable {
     private static final long serialVersionUID = 6964615561527013329L;
 
     private long id;
@@ -35,6 +36,11 @@
         setEngineSessionId(engineSessionId);
     }
 
+    @Override
+    public Object getQueryableId() {
+        return getId();
+    }
+
     /**
      * Session id assigned by engine for the user's session
      */
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java
index aae9e02..b650e89 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/interfaces/SearchType.java
@@ -22,7 +22,8 @@
     IscsiBond,
     Provider,
     InstanceType,
-    ImageType;
+    ImageType,
+    Session;
 
     public int getValue() {
         return this.ordinal();
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAO.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAO.java
index f4a3383..12c55ba 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAO.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAO.java
@@ -4,10 +4,8 @@
 
 /**
  * <code>EngineSessionDAO</code> defines a type which performs CRUD operations 
on instances of {@link 
org.ovirt.engine.core.common.businessentities.EngineSession}.
- *
- *
  */
-public interface EngineSessionDAO extends DAO {
+public interface EngineSessionDAO extends DAO, SearchDAO<EngineSession> {
     /**
      * Retrieves the session with the specified id.
      *
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
index eb81a4d..f1eac5b 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/EngineSessionDAODbFacadeImpl.java
@@ -1,5 +1,10 @@
 package org.ovirt.engine.core.dao;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.EngineSession;
 import org.ovirt.engine.core.compat.Guid;
@@ -9,10 +14,6 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.RowMapper;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.LinkedList;
 
 /**
  * <code>EngineSessionDAODbFacadeImpl</code> provides an implementation of 
{@link org.ovirt.engine.core.dao.EngineSessionDAO} using code refactored from
@@ -101,4 +102,8 @@
         return 
getCallsHandler().executeModificationReturnResult("DeleteAllFromEngineSessions",
 parameterSource);
     }
 
+    @Override
+    public List<EngineSession> getAllWithQuery(String query) {
+        return jdbcTemplate.query(query, EngineSessionRowMapper.instance);
+    }
 }


-- 
To view, visit https://gerrit.ovirt.org/38378
To unsubscribe, visit https://gerrit.ovirt.org/settings

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

Reply via email to