mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
MOB-594 - user activities feed now returns all activities (including own) - also have optional filters to either exclude own or exclude others
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2008 Alfresco Software Limited.
|
||||
* Copyright (C) 2005-2009 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
@@ -25,9 +25,11 @@
|
||||
package org.alfresco.repo.activities.ibatis;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.activities.feed.ActivityFeedDAO;
|
||||
import org.alfresco.repo.activities.feed.ActivityFeedDaoService;
|
||||
|
||||
@@ -45,27 +47,66 @@ public class IBatisActivityFeedDaoServiceImpl extends IBatisSqlMapper implements
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<ActivityFeedDAO> selectUserFeedEntries(String feedUserId, String format) throws SQLException
|
||||
public List<ActivityFeedDAO> selectUserFeedEntries(String feedUserId, String format, String siteId, boolean excludeThisUser, boolean excludeOtherUsers) throws SQLException
|
||||
{
|
||||
ActivityFeedDAO params = new ActivityFeedDAO();
|
||||
params.setFeedUserId(feedUserId);
|
||||
params.setActivitySummaryFormat(format);
|
||||
|
||||
// where feed user is me and post user is not me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser", params);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<ActivityFeedDAO> selectUserFeedEntries(String feedUserId, String format, String siteId) throws SQLException
|
||||
{
|
||||
ActivityFeedDAO params = new ActivityFeedDAO();
|
||||
params.setFeedUserId(feedUserId);
|
||||
params.setPostUserId(feedUserId);
|
||||
params.setActivitySummaryFormat(format);
|
||||
params.setSiteNetwork(siteId);
|
||||
if (siteId != null)
|
||||
{
|
||||
// given site
|
||||
params.setSiteNetwork(siteId);
|
||||
|
||||
if (excludeThisUser && excludeOtherUsers)
|
||||
{
|
||||
// effectively NOOP - return empty feed
|
||||
return new ArrayList<ActivityFeedDAO>(0);
|
||||
}
|
||||
if ((!excludeThisUser) && (!excludeOtherUsers))
|
||||
{
|
||||
// no excludes => everyone => where feed user is me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.and.site", params);
|
||||
}
|
||||
else if ((excludeThisUser) && (!excludeOtherUsers))
|
||||
{
|
||||
// exclude feed user => others => where feed user is me and post user is not me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.others.and.site", params);
|
||||
}
|
||||
else if ((excludeOtherUsers) && (!excludeThisUser))
|
||||
{
|
||||
// exclude others => me => where feed user is me and post user is me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.me.and.site", params);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// all sites
|
||||
|
||||
if (excludeThisUser && excludeOtherUsers)
|
||||
{
|
||||
// effectively NOOP - return empty feed
|
||||
return new ArrayList<ActivityFeedDAO>(0);
|
||||
}
|
||||
if (!excludeThisUser && !excludeOtherUsers)
|
||||
{
|
||||
// no excludes => everyone => where feed user is me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser", params);
|
||||
}
|
||||
else if (excludeThisUser)
|
||||
{
|
||||
// exclude feed user => others => where feed user is me and post user is not me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.others", params);
|
||||
}
|
||||
else if (excludeOtherUsers)
|
||||
{
|
||||
// exclude others => me => where feed user is me and post user is me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.me", params);
|
||||
}
|
||||
}
|
||||
|
||||
// where feed user is me and post user is not me
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.feeduser.and.site", params);
|
||||
// belts-and-braces
|
||||
throw new AlfrescoRuntimeException("Unexpected: invalid arguments");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -75,7 +116,7 @@ public class IBatisActivityFeedDaoServiceImpl extends IBatisSqlMapper implements
|
||||
params.setSiteNetwork(siteId);
|
||||
params.setActivitySummaryFormat(format);
|
||||
|
||||
// where feed user is me and post user is not me
|
||||
// for given site
|
||||
return (List<ActivityFeedDAO>)getSqlMapClient().queryForList("select.activity.feed.for.site", params);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user