Alan Davis 2b5e64a359 Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud)
84121: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud)
      82508: Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.4)
         82319: Merged DEV to V4.1-BUG-FIX (4.1.10)
            81073 : MNT-9532 : SQL performance issue - WHERE ... IS NULL statements
               - Initial commit to revert fixes for MNT-8527 (r48757) and MNT-9483 (r56137) as this fixes causes performance issue for Oracle.
            81966 : MNT-9532 : SQL performance issue - WHERE ... IS NULL statements
               - Default value for feed_user_id and site_network is now @@NULL@@.
               - IS NULL clause was completly removed from activities queries.
               - Upgrade sql script was added to replace nulls for Oracle (empty strings for other dialect) with @@NULL@@.
               - Version schema was incremented by 1.
            82278 : MNT-9532 : SQL performance issue - WHERE ... IS NULL statements
               - Fixed unit test failure. 
      83431: MNT-9532 : SQL performance issue - WHERE ... IS NULL statements
         - Fixed build failure
      84115: MNT-9532/MNT-11871: with the revert of MNT-11871 patch, MNT-9532 should be using a lower schema number.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84632 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2014-09-18 17:26:23 +00:00

141 lines
3.9 KiB
Java

/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package org.alfresco.repo.domain.activities;
import java.util.Date;
import org.alfresco.service.cmr.activities.FeedControl;
/**
* Activity Feed Control DAO
*/
public class FeedControlEntity
{
private Long id; // internal DB-generated id
private String feedUserId = ActivitiesDAO.KEY_ACTIVITY_NULL_VALUE;
private String siteNetwork = ActivitiesDAO.KEY_ACTIVITY_NULL_VALUE;
private String appTool;
private Date lastModified; // when inserted
// TODO - review - deleted feed controls are not kept and available feed controls are currently retrieved during generation, hence
// it is possible for a feed control to be applied even if lastModified is greater than postDate - could check the date !
// it is also possible for a feed control to not be applied if it is deleted just after the post - would need to keep, at least until next generation
public FeedControlEntity()
{
}
public FeedControlEntity(String feedUserId)
{
if (feedUserId != null && feedUserId.length() > 0)
{
this.feedUserId = feedUserId;
}
}
public FeedControlEntity(String feedUserId, FeedControl feedControl)
{
if (feedUserId != null && feedUserId.length() > 0)
{
this.feedUserId = feedUserId;
}
if (feedControl.getSiteId() != null && feedControl.getSiteId().length() > 0)
{
this.siteNetwork = feedControl.getSiteId();
}
this.appTool = feedControl.getAppToolId();
this.lastModified = new Date();
}
public FeedControl getFeedControl()
{
return new FeedControl(this.siteNetwork, this.appTool);
}
public Long getId()
{
return id;
}
public void setId(Long id)
{
this.id = id;
}
public String getSiteNetwork()
{
return siteNetwork;
}
public void setSiteNetwork(String siteNetwork)
{
if (siteNetwork != null && siteNetwork.length() > 0)
{
this.siteNetwork = siteNetwork;
}
}
public String getAppTool()
{
return appTool;
}
public void setAppTool(String appTool)
{
this.appTool = appTool;
}
public String getFeedUserId()
{
return feedUserId;
}
public void setFeedUserId(String feedUserId)
{
if (feedUserId != null && feedUserId.length() > 0)
{
this.feedUserId = feedUserId;
}
}
public Date getLastModified()
{
return lastModified;
}
public void setLastModified(Date lastModified)
{
this.lastModified = lastModified;
}
// for debug only
public String toString()
{
StringBuffer sb = new StringBuffer();
sb.append("FeedControlEntity\n[");
sb.append("id=").append(id).append(",");
sb.append("feedUserId=").append(feedUserId).append(",");
sb.append("siteNetwork=").append(siteNetwork).append(",");
sb.append("appTool=").append(appTool).append(",");
sb.append("lastModified=").append(lastModified).append("\n]");
return sb.toString();
}
}