You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by ql...@apache.org on 2016/08/17 16:03:15 UTC

incubator-unomi git commit: UNOMI-50 add entry point to query sessions in ProfileServiceEndPoint

Repository: incubator-unomi
Updated Branches:
  refs/heads/master 7e372f3ac -> eee8d6f55


UNOMI-50 add entry point to query sessions in ProfileServiceEndPoint


Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/eee8d6f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/eee8d6f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/eee8d6f5

Branch: refs/heads/master
Commit: eee8d6f5585dc58b96462217cec4abe4f6cb71ba
Parents: 7e372f3
Author: dgaillard <dg...@jahia.com>
Authored: Wed Aug 17 17:56:01 2016 +0200
Committer: dgaillard <dg...@jahia.com>
Committed: Wed Aug 17 17:56:01 2016 +0200

----------------------------------------------------------------------
 .../org/apache/unomi/api/services/ProfileService.java    |  8 ++++++++
 .../org/apache/unomi/rest/ProfileServiceEndPoint.java    | 11 +++++++++++
 .../unomi/services/services/ProfileServiceImpl.java      |  8 ++++++++
 3 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/eee8d6f5/api/src/main/java/org/apache/unomi/api/services/ProfileService.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/unomi/api/services/ProfileService.java b/api/src/main/java/org/apache/unomi/api/services/ProfileService.java
index ff48abf..c13036a 100644
--- a/api/src/main/java/org/apache/unomi/api/services/ProfileService.java
+++ b/api/src/main/java/org/apache/unomi/api/services/ProfileService.java
@@ -46,6 +46,14 @@ public interface ProfileService {
     <T extends Profile> PartialList<T> search(Query query, Class<T> clazz);
 
     /**
+     * Retrieves sessions matching the specified query.
+     *
+     * @param query a {@link Query} specifying which elements to retrieve
+     * @return a {@link PartialList} of sessions matching the specified query
+     */
+    PartialList<Session> searchSessions(Query query);
+
+    /**
      * Creates a String containing comma-separated values (CSV) formatted version of profiles matching the specified query.
      *
      * @param query the query specifying which profiles to export

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/eee8d6f5/rest/src/main/java/org/apache/unomi/rest/ProfileServiceEndPoint.java
----------------------------------------------------------------------
diff --git a/rest/src/main/java/org/apache/unomi/rest/ProfileServiceEndPoint.java b/rest/src/main/java/org/apache/unomi/rest/ProfileServiceEndPoint.java
index 43028fe..b806378 100644
--- a/rest/src/main/java/org/apache/unomi/rest/ProfileServiceEndPoint.java
+++ b/rest/src/main/java/org/apache/unomi/rest/ProfileServiceEndPoint.java
@@ -516,4 +516,15 @@ public class ProfileServiceEndPoint {
         return profileService.deletePropertyType(propertyId);
     }
 
+    /**
+     * Retrieves sessions matching the specified query.
+     *
+     * @param query a {@link Query} specifying which elements to retrieve
+     * @return a {@link PartialList} of sessions matching the specified query
+     */
+    @POST
+    @Path("/search/sessions")
+    public PartialList<Session> searchSession(Query query) {
+        return profileService.searchSessions(query);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/eee8d6f5/services/src/main/java/org/apache/unomi/services/services/ProfileServiceImpl.java
----------------------------------------------------------------------
diff --git a/services/src/main/java/org/apache/unomi/services/services/ProfileServiceImpl.java b/services/src/main/java/org/apache/unomi/services/services/ProfileServiceImpl.java
index 432e1f6..521826e 100644
--- a/services/src/main/java/org/apache/unomi/services/services/ProfileServiceImpl.java
+++ b/services/src/main/java/org/apache/unomi/services/services/ProfileServiceImpl.java
@@ -256,6 +256,14 @@ public class ProfileServiceImpl implements ProfileService, SynchronousBundleList
     }
 
     public <T extends Profile> PartialList<T> search(Query query, final Class<T> clazz) {
+        return doSearch(query, clazz);
+    }
+
+    public PartialList<Session> searchSessions(Query query) {
+        return doSearch(query, Session.class);
+    }
+
+    private <T extends Item> PartialList<T> doSearch(Query query, Class<T> clazz) {
         if (query.getCondition() != null && definitionsService.resolveConditionType(query.getCondition())) {
             if (StringUtils.isNotBlank(query.getText())) {
                 return persistenceService.queryFullText(query.getText(), query.getCondition(), query.getSortby(), clazz, query.getOffset(), query.getLimit());