Merged DEV/SWIFT to HEAD

25466: ALF-5260 - MyBatis: partial - initially Activities (-> MySQL)
   Note: Subsystem changes and new feed methods resolved


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28001 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2011-05-24 03:36:53 +00:00
parent 00b8f4a002
commit a42c7cf11a
13 changed files with 238 additions and 271 deletions

View File

@@ -30,15 +30,15 @@
</bean> </bean>
<bean id="postDAO" class="org.alfresco.repo.domain.activities.ibatis.ActivityPostDAOImpl"> <bean id="postDAO" class="org.alfresco.repo.domain.activities.ibatis.ActivityPostDAOImpl">
<property name="sqlMapClient" ref="activitiesSqlMapClient"/> <property name="sqlSessionTemplate" ref="activitiesSqlSessionTemplate"/>
</bean> </bean>
<bean id="feedDAO" class="org.alfresco.repo.domain.activities.ibatis.ActivityFeedDAOImpl"> <bean id="feedDAO" class="org.alfresco.repo.domain.activities.ibatis.ActivityFeedDAOImpl">
<property name="sqlMapClient" ref="activitiesSqlMapClient"/> <property name="sqlSessionTemplate" ref="activitiesSqlSessionTemplate"/>
</bean> </bean>
<bean id="feedControlDAO" class="org.alfresco.repo.domain.activities.ibatis.FeedControlDAOImpl"> <bean id="feedControlDAO" class="org.alfresco.repo.domain.activities.ibatis.FeedControlDAOImpl">
<property name="sqlMapClient" ref="activitiesSqlMapClient"/> <property name="sqlSessionTemplate" ref="activitiesSqlSessionTemplate"/>
</bean> </bean>
<bean id="patchDAO" class="org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl"> <bean id="patchDAO" class="org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl">

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig> <configuration>
<settings useStatementNamespaces="true" <typeAliases>
lazyLoadingEnabled="false" <typeAlias alias="ActivityFeedQuery" type="org.alfresco.repo.domain.activities.ActivityFeedQueryEntity"/>
enhancementEnabled="false" <typeAlias alias="ActivityFeed" type="org.alfresco.repo.domain.activities.ActivityFeedEntity"/>
maxTransactions="500" <typeAlias alias="FeedControl" type="org.alfresco.repo.domain.activities.FeedControlEntity"/>
maxSessions="500" <typeAlias alias="ActivityPost" type="org.alfresco.repo.domain.activities.ActivityPostEntity"/>
/> </typeAliases>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/activities-common-SqlMap.xml"/> <mappers>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/activities-insert-SqlMap.xml"/> <mapper resource="alfresco/ibatis/#resource.dialect#/activities-common-SqlMap.xml"/>
<mapper resource="alfresco/ibatis/#resource.dialect#/activities-insert-SqlMap.xml"/>
</mappers>
</sqlMapConfig> </configuration>

View File

@@ -41,21 +41,27 @@
</property> </property>
</bean> </bean>
<!-- iBatis config for Activities domain -->
<bean id="activitiesSqlMapClient" class="org.alfresco.ibatis.HierarchicalSqlMapClientFactoryBean"> <!-- MyBatis config for Activities domain -->
<bean id="activitiesSqlSessionFactory" class="org.alfresco.ibatis.HierarchicalSqlSessionFactoryBean">
<property name="resourceLoader" ref="dialectResourceLoader"/>
<property name="dataSource" ref="activitiesDataSource"/> <property name="dataSource" ref="activitiesDataSource"/>
<property name="resourceLoader" ref="dialectResourceLoader" />
<property name="useTransactionAwareDataSource" value="false" />
<property name="configLocation"> <property name="configLocation">
<value>classpath:alfresco/ibatis/activities-SqlMapConfig.xml</value> <value>classpath:alfresco/ibatis/activities-SqlMapConfig.xml</value>
</property> </property>
</bean> </bean>
<!-- MyBatis-Spring sqlSessionTemplate -->
<bean id="activitiesSqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="activitiesSqlSessionFactory"/>
</bean>
<!-- iBatis config for Alfresco (using common datasource) --> <!-- iBatis config for Alfresco (using common datasource) -->
<bean id="alfrescoSqlMapClient" class="org.alfresco.ibatis.HierarchicalSqlMapClientFactoryBean"> <bean id="alfrescoSqlMapClient" class="org.alfresco.ibatis.HierarchicalSqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource"/> <property name="dataSource" ref="dataSource"/>
<property name="resourceLoader" ref="dialectResourceLoader" /> <property name="resourceLoader" ref="dialectResourceLoader" />
<property name="useTransactionAwareDataSource" value="false" />
<property name="configLocation"> <property name="configLocation">
<value>classpath:alfresco/ibatis/alfresco-SqlMapConfig.xml</value> <value>classpath:alfresco/ibatis/alfresco-SqlMapConfig.xml</value>
</property> </property>

View File

@@ -1,26 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.activities"> <mapper namespace="alfresco.activities">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.domain.activities.ActivityFeedEntity"/>
<typeAlias alias="FeedControl" type="org.alfresco.repo.domain.activities.FeedControlEntity"/>
<typeAlias alias="ActivityPost" type="org.alfresco.repo.domain.activities.ActivityPostEntity"/>
<typeAlias alias="ActivityFeedQuery" type="org.alfresco.repo.domain.activities.ActivityFeedQueryEntity"/>
<!-- --> <!-- -->
<!-- Result Maps --> <!-- Result Maps -->
<!-- --> <!-- -->
<resultMap id="ActivityFeedResult" class="ActivityFeed"> <resultMap id="ActivityFeedResult" type="ActivityFeed">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="feedUserId" column="feed_user_id"/> <result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/> <result property="postUserId" column="post_user_id"/>
@@ -33,7 +21,7 @@
<result property="feedDate" column="feed_date"/> <result property="feedDate" column="feed_date"/>
</resultMap> </resultMap>
<resultMap id="FeedControlResult" class="FeedControl"> <resultMap id="FeedControlResult" type="FeedControl">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="feedUserId" column="feed_user_id"/> <result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/> <result property="siteNetwork" column="site_network"/>
@@ -41,7 +29,7 @@
<result property="lastModified" column="last_modified"/> <result property="lastModified" column="last_modified"/>
</resultMap> </resultMap>
<resultMap id="ActivityPostResult" class="ActivityPost"> <resultMap id="ActivityPostResult" type="ActivityPost">
<result property="id" column="sequence_id" jdbcType="BIGINT" javaType="java.lang.Long"/> <result property="id" column="sequence_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="activityData" column="activity_data"/> <result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/> <result property="activityType" column="activity_type"/>
@@ -60,32 +48,32 @@
<sql id="insert_ActivityFeedControl_AutoIncrement"> <sql id="insert_ActivityFeedControl_AutoIncrement">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified) insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#) values (#{feedUserId}, #{siteNetwork}, #{appTool}, #{lastModified})
</sql> </sql>
<sql id="insert_ActivityFeedControl_Sequence"> <sql id="insert_ActivityFeedControl_Sequence">
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified) insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#) values (#{id}, #{feedUserId}, #{siteNetwork}, #{appTool}, #{lastModified})
</sql> </sql>
<sql id="insert_ActivityFeed_AutoIncrement"> <sql id="insert_ActivityFeed_AutoIncrement">
insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date) insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#) values (#{activityType}, #{activitySummary}, #{activitySummaryFormat}, #{feedUserId}, #{postUserId}, #{postDate}, #{postId}, #{siteNetwork}, #{appTool}, #{feedDate})
</sql> </sql>
<sql id="insert_ActivityFeed_Sequence"> <sql id="insert_ActivityFeed_Sequence">
insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date) insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#id#, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#) values (#{id}, #{activityType}, #{activitySummary}, #{activitySummaryFormat}, #{feedUserId}, #{postUserId}, #{postDate}, #{postId}, #{siteNetwork}, #{appTool}, #{feedDate})
</sql> </sql>
<sql id="insert_ActivityPost_AutoIncrement"> <sql id="insert_ActivityPost_AutoIncrement">
insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified) insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#) values (#{status}, #{activityData}, #{userId}, #{postDate}, #{activityType}, #{siteNetwork}, #{appTool}, #{jobTaskNode}, #{lastModified})
</sql> </sql>
<sql id="insert_ActivityPost_Sequence"> <sql id="insert_ActivityPost_Sequence">
insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified) insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#id#, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#) values (#{id}, #{status}, #{activityData}, #{userId}, #{postDate}, #{activityType}, #{siteNetwork}, #{appTool}, #{jobTaskNode}, #{lastModified})
</sql> </sql>
<!-- --> <!-- -->
@@ -97,92 +85,90 @@
<!-- --> <!-- -->
<!-- select feeds for cleaning --> <!-- select feeds for cleaning -->
<select id="select_activity_feed_greater_than_max" parameterClass="int" resultClass="ActivityFeed"> <select id="select_activity_feed_greater_than_max" parameterType="int" resultType="ActivityFeed">
<![CDATA[ <![CDATA[
select site_network as siteNetwork, feed_user_id as feedUserId, activity_format as activitySummaryFormat select site_network as siteNetwork, feed_user_id as feedUserId, activity_format as activitySummaryFormat
from alf_activity_feed from alf_activity_feed
group by site_network, feed_user_id, activity_format group by site_network, feed_user_id, activity_format
having count(*) > #maxFeedSize# having count(*) > #{maxFeedSize}
]]> ]]>
</select> </select>
<!-- user feed - all sites - everyone --> <!-- user feed - all sites - everyone -->
<select id="select_activity_feed_for_feeduser" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- user feed - all sites - others (not me) --> <!-- user feed - all sites - others (not me) -->
<select id="select_activity_feed_for_feeduser_others" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser_others" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
<![CDATA[ and post_user_id <> #feedUserId# ]]> <![CDATA[ and post_user_id <> #{feedUserId} ]]>
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- user feed - all sites - me only (not others) --> <!-- user feed - all sites - me only (not others) -->
<select id="select_activity_feed_for_feeduser_me" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser_me" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and post_user_id = #feedUserId# and post_user_id = #{feedUserId}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- user feed - given site - everyone --> <!-- user feed - given site - everyone -->
<select id="select_activity_feed_for_feeduser_and_site" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser_and_site" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and site_network = #siteNetwork# and site_network = #{siteNetwork}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- user feed - given site - others (not me) --> <!-- user feed - given site - others (not me) -->
<select id="select_activity_feed_for_feeduser_others_and_site" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser_others_and_site" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
<![CDATA[ and post_user_id <> #feedUserId# ]]> <![CDATA[ and post_user_id <> #{feedUserId} ]]>
and site_network = #siteNetwork# and site_network = #{siteNetwork}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- user feed - given site - me only (not others) --> <!-- user feed - given site - me only (not others) -->
<select id="select_activity_feed_for_feeduser_me_and_site" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_feeduser_me_and_site" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and post_user_id = #feedUserId# and post_user_id = #{feedUserId}
and site_network = #siteNetwork# and site_network = #{siteNetwork}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
<isNotNull property="minId"><![CDATA[ and id >= #minId# ]]></isNotNull> <if test="minId != null"><![CDATA[ and id >= #{minId} ]]></if>
order by post_date desc order by post_date desc
</select> </select>
<!-- site feed - given site --> <!-- site feed - given site -->
<select id="select_activity_feed_for_site" parameterClass="ActivityFeedQuery" resultClass="ActivityFeed"> <select id="select_activity_feed_for_site" parameterType="ActivityFeedQuery" resultType="ActivityFeed">
<![CDATA[ <![CDATA[
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed from alf_activity_feed
where (feed_user_id = '' or feed_user_id is null) where (feed_user_id = '' or feed_user_id is null)
and site_network = #siteNetwork# and site_network = #{siteNetwork}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
order by post_date desc order by post_date desc
]]> ]]>
</select> </select>
@@ -191,68 +177,68 @@
<!-- Deletes --> <!-- Deletes -->
<!-- --> <!-- -->
<delete id="delete_activity_feed_entries_older_than_date" parameterClass="Date"> <delete id="delete_activity_feed_entries_older_than_date" parameterType="Date">
<![CDATA[ <![CDATA[
delete from alf_activity_feed where post_date < #keepdate# delete from alf_activity_feed where post_date < #{keepdate}
]]> ]]>
</delete> </delete>
<delete id="delete_activity_feed_for_site_entries_older_than_date" parameterClass="ActivityFeed"> <delete id="delete_activity_feed_for_site_entries_older_than_date" parameterType="ActivityFeed">
<![CDATA[ <![CDATA[
delete from alf_activity_feed delete from alf_activity_feed
where post_date < #postDate# where post_date < #{postDate}
and site_network = #siteNetwork# and site_network = #{siteNetwork}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
]]> ]]>
</delete> </delete>
<delete id="delete_activity_feed_for_site_entries" parameterClass="ActivityFeed"> <delete id="delete_activity_feed_for_site_entries" parameterType="ActivityFeed">
delete from alf_activity_feed delete from alf_activity_feed
where site_network = #siteNetwork# where site_network = #{siteNetwork}
</delete> </delete>
<delete id="delete_activity_feed_for_feeduser_entries_older_than_date" parameterClass="ActivityFeed"> <delete id="delete_activity_feed_for_feeduser_entries_older_than_date" parameterType="ActivityFeed">
<![CDATA[ <![CDATA[
delete from alf_activity_feed delete from alf_activity_feed
where post_date < #postDate# where post_date < #{postDate}
and feed_user_id = #feedUserId# and feed_user_id = #{feedUserId}
and activity_format = #activitySummaryFormat# and activity_format = #{activitySummaryFormat}
]]> ]]>
</delete> </delete>
<delete id="delete_activity_feed_for_feeduser_entries" parameterClass="ActivityFeed"> <delete id="delete_activity_feed_for_feeduser_entries" parameterType="ActivityFeed">
delete from alf_activity_feed delete from alf_activity_feed
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
</delete> </delete>
<select id="select_activity_feedcontrols_for_user" parameterClass="FeedControl" resultClass="FeedControl"> <select id="select_activity_feedcontrols_for_user" parameterType="FeedControl" resultType="FeedControl">
<![CDATA[ <![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control from alf_activity_feed_control
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
]]> ]]>
</select> </select>
<select id="select_activity_feedcontrol" parameterClass="FeedControl" resultClass="long"> <select id="select_activity_feedcontrol" parameterType="FeedControl" resultType="long">
<![CDATA[ <![CDATA[
select id as id select id as id
from alf_activity_feed_control from alf_activity_feed_control
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and ((site_network = #siteNetwork#) or ((#siteNetwork# is null) and (site_network is null))) and ((site_network = #{siteNetwork}) or ((#{siteNetwork} is null) and (site_network is null)))
and ((app_tool = #appTool#) or ((#appTool# is null) and (app_tool is null))) and ((app_tool = #{appTool}) or ((#{appTool} is null) and (app_tool is null)))
]]> ]]>
</select> </select>
<delete id="delete_activity_feedcontrol" parameterClass="FeedControl"> <delete id="delete_activity_feedcontrol" parameterType="FeedControl">
<![CDATA[ <![CDATA[
delete from alf_activity_feed_control delete from alf_activity_feed_control
where feed_user_id = #feedUserId# where feed_user_id = #{feedUserId}
and ((site_network = #siteNetwork#) or ((#siteNetwork# is null) and (site_network is null))) and ((site_network = #{siteNetwork}) or ((#{siteNetwork} is null) and (site_network is null)))
and ((app_tool = #appTool#) or ((#appTool# is null) and (app_tool is null))) and ((app_tool = #{appTool}) or ((#{appTool} is null) and (app_tool is null)))
]]> ]]>
</delete> </delete>
<select id="select_activity_posts" parameterClass="ActivityPost" resultClass="ActivityPost"> <select id="select_activity_posts" parameterType="ActivityPost" resultType="ActivityPost">
<![CDATA[ <![CDATA[
select select
sequence_id as id, sequence_id as id,
@@ -267,14 +253,14 @@
from from
alf_activity_post alf_activity_post
where where
job_task_node = #jobTaskNode# and job_task_node = #{jobTaskNode} and
sequence_id >= #minId# and sequence_id >= #{minId} and
sequence_id <= #maxId# and sequence_id <= #{maxId} and
status = #status# status = #{status}
]]> ]]>
</select> </select>
<select id="select_activity_posts_by_status_only" parameterClass="ActivityPost" resultClass="ActivityPost"> <select id="select_activity_posts_by_status_only" parameterType="ActivityPost" resultType="ActivityPost">
<![CDATA[ <![CDATA[
select select
sequence_id as id, sequence_id as id,
@@ -289,50 +275,50 @@
from from
alf_activity_post alf_activity_post
where where
status = #status# status = #{status}
]]> ]]>
</select> </select>
<select id="select_activity_post_max_seq" resultClass="long"> <select id="select_activity_post_max_seq" resultType="long">
select max(sequence_id) as maxId select max(sequence_id) as maxId
from alf_activity_post from alf_activity_post
where status = 'POSTED' where status = 'POSTED'
</select> </select>
<select id="select_activity_post_min_seq" resultClass="long"> <select id="select_activity_post_min_seq" resultType="long">
select min(sequence_id) as minId select min(sequence_id) as minId
from alf_activity_post from alf_activity_post
where status = 'POSTED' where status = 'POSTED'
</select> </select>
<select id="select_activity_post_max_jobtasknode" resultClass="int"> <select id="select_activity_post_max_jobtasknode" resultType="int">
select max(job_task_node) as maxJobTaskNode select max(job_task_node) as maxJobTaskNode
from alf_activity_post from alf_activity_post
where status = 'POSTED' where status = 'POSTED'
</select> </select>
<delete id="delete_activity_posts_older_than_date" parameterClass="ActivityPost"> <delete id="delete_activity_posts_older_than_date" parameterType="ActivityPost">
<![CDATA[ <![CDATA[
delete from alf_activity_post delete from alf_activity_post
where post_date < #postDate# where post_date < #{postDate}
and status = #status# and status = #{status}
]]> ]]>
</delete> </delete>
<update id="update_activity_post_data" parameterClass="ActivityPost"> <update id="update_activity_post_data" parameterType="ActivityPost">
<![CDATA[ <![CDATA[
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified# update alf_activity_post set status = #{status}, activity_data=#{activityData}, site_network=#{siteNetwork}, last_modified=#{lastModified}
where sequence_id = #id# where sequence_id = #{id}
and status <> #status# and status <> #{status}
]]> ]]>
</update> </update>
<update id="update_activity_post_status" parameterClass="ActivityPost"> <update id="update_activity_post_status" parameterType="ActivityPost">
<![CDATA[ <![CDATA[
update alf_activity_post set status = #status#, last_modified=#lastModified# update alf_activity_post set status = #{status}, last_modified=#{lastModified}
where sequence_id = #id# where sequence_id = #{id}
and status <> #status# and status <> #{status}
]]> ]]>
</update> </update>
</sqlMap> </mapper>

View File

@@ -1,33 +1,22 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.activities"> <mapper namespace="alfresco.activities.insert">
<insert id="insert_activity_feedcontrol" parameterClass="FeedControl"> <insert id="insert_activity_feedcontrol" parameterType="FeedControl" useGeneratedKeys="true" keyProperty="id">
<include refid="alfresco.activities.insert_ActivityFeedControl_AutoIncrement"/> <include refid="alfresco.activities.insert_ActivityFeedControl_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert> </insert>
<insert id="insert_activity_feed" parameterClass="ActivityFeed"> <insert id="insert_activity_feed" parameterType="ActivityFeed" useGeneratedKeys="true" keyProperty="id">
<include refid="alfresco.activities.insert_ActivityFeed_AutoIncrement"/> <include refid="alfresco.activities.insert_ActivityFeed_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert> </insert>
<insert id="insert_activity_post" parameterClass="ActivityPost"> <insert id="insert_activity_post" parameterType="ActivityPost" useGeneratedKeys="true" keyProperty="id">
<include refid="alfresco.activities.insert_ActivityPost_AutoIncrement"/> <include refid="alfresco.activities.insert_ActivityPost_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert> </insert>
</sqlMap> </mapper>

View File

@@ -74,8 +74,6 @@
</bean> </bean>
<bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor"> <bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor">
<!-- NOTE: assumes same sqlMapClient is also configured for postDAO and feedDAO -->
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
<property name="postDAO" ref="postDAO"/> <property name="postDAO" ref="postDAO"/>
<property name="feedDAO" ref="feedDAO"/> <property name="feedDAO" ref="feedDAO"/>
<property name="feedControlDAO" ref="feedControlDAO"/> <property name="feedControlDAO" ref="feedControlDAO"/>

View File

@@ -386,6 +386,8 @@ public abstract class FeedTaskProcessor
public abstract void commitTransaction() throws SQLException; public abstract void commitTransaction() throws SQLException;
public abstract void rollbackTransaction() throws SQLException;
public abstract void endTransaction() throws SQLException; public abstract void endTransaction() throws SQLException;
public abstract List<ActivityPostEntity> selectPosts(ActivityPostEntity selector) throws SQLException; public abstract List<ActivityPostEntity> selectPosts(ActivityPostEntity selector) throws SQLException;

View File

@@ -55,8 +55,6 @@ import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver;
import com.ibatis.sqlmap.client.SqlMapClient;
import freemarker.template.Configuration; import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper; import freemarker.template.DefaultObjectWrapper;
@@ -82,10 +80,6 @@ public class LocalFeedTaskProcessor extends FeedTaskProcessor implements Applica
private boolean useRemoteCallbacks; private boolean useRemoteCallbacks;
private ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); private ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
// used to start/end/commit transaction
// note: currently assumes that all dao services are configured with this mapper / data source
private SqlMapClient sqlMapper;
public void setPostDAO(ActivityPostDAO postDAO) public void setPostDAO(ActivityPostDAO postDAO)
{ {
this.postDAO = postDAO; this.postDAO = postDAO;
@@ -136,11 +130,6 @@ public class LocalFeedTaskProcessor extends FeedTaskProcessor implements Applica
this.useRemoteCallbacks = useRemoteCallbacks; this.useRemoteCallbacks = useRemoteCallbacks;
} }
public void setSqlMapClient(SqlMapClient sqlMapper)
{
this.sqlMapper = sqlMapper;
}
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{ {
this.resolver = applicationContext; this.resolver = applicationContext;
@@ -148,17 +137,22 @@ public class LocalFeedTaskProcessor extends FeedTaskProcessor implements Applica
public void startTransaction() throws SQLException public void startTransaction() throws SQLException
{ {
sqlMapper.startTransaction(); // NOOP
} }
public void commitTransaction() throws SQLException public void commitTransaction() throws SQLException
{ {
sqlMapper.commitTransaction(); // NOOP
}
public void rollbackTransaction() throws SQLException
{
// NOOP
} }
public void endTransaction() throws SQLException public void endTransaction() throws SQLException
{ {
sqlMapper.endTransaction(); // NOOP
} }
public List<ActivityPostEntity> selectPosts(ActivityPostEntity selector) throws SQLException public List<ActivityPostEntity> selectPosts(ActivityPostEntity selector) throws SQLException

View File

@@ -29,5 +29,7 @@ public interface ActivitiesDAO
public void commitTransaction() throws SQLException; public void commitTransaction() throws SQLException;
public void rollbackTransaction() throws SQLException;
public void endTransaction() throws SQLException; public void endTransaction() throws SQLException;
} }

View File

@@ -21,35 +21,27 @@ package org.alfresco.repo.domain.activities.ibatis;
import java.sql.SQLException; import java.sql.SQLException;
import org.alfresco.repo.domain.activities.ActivitiesDAO; import org.alfresco.repo.domain.activities.ActivitiesDAO;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import com.ibatis.sqlmap.client.SqlMapClient; public class ActivitiesSqlSessionDaoSupport extends SqlSessionDaoSupport implements ActivitiesDAO
public class IBatisSqlMapper implements ActivitiesDAO
{ {
private SqlMapClient sqlMapper;
public void setSqlMapClient(SqlMapClient sqlMapper)
{
this.sqlMapper = sqlMapper;
}
public SqlMapClient getSqlMapClient()
{
return this.sqlMapper;
}
public void startTransaction() throws SQLException public void startTransaction() throws SQLException
{ {
sqlMapper.startTransaction(); // NOOP
} }
public void commitTransaction() throws SQLException public void commitTransaction() throws SQLException
{ {
sqlMapper.commitTransaction(); // NOOP
}
public void rollbackTransaction() throws SQLException
{
// NOOP
} }
public void endTransaction() throws SQLException public void endTransaction() throws SQLException
{ {
sqlMapper.endTransaction(); // NOOP
} }
} }

View File

@@ -27,20 +27,20 @@ import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.domain.activities.ActivityFeedDAO; import org.alfresco.repo.domain.activities.ActivityFeedDAO;
import org.alfresco.repo.domain.activities.ActivityFeedEntity; import org.alfresco.repo.domain.activities.ActivityFeedEntity;
import org.alfresco.repo.domain.activities.ActivityFeedQueryEntity; import org.alfresco.repo.domain.activities.ActivityFeedQueryEntity;
import org.apache.ibatis.session.RowBounds;
import com.ibatis.sqlmap.engine.execution.SqlExecutor; public class ActivityFeedDAOImpl extends ActivitiesSqlSessionDaoSupport implements ActivityFeedDAO
public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeedDAO
{ {
public long insertFeedEntry(ActivityFeedEntity activityFeed) throws SQLException public long insertFeedEntry(ActivityFeedEntity activityFeed) throws SQLException
{ {
Long id = (Long)getSqlMapClient().insert("alfresco.activities.insert_activity_feed", activityFeed); getSqlSession().insert("alfresco.activities.insert.insert_activity_feed", activityFeed);
Long id = activityFeed.getId();
return (id != null ? id : -1); return (id != null ? id : -1);
} }
public int deleteFeedEntries(Date keepDate) throws SQLException public int deleteFeedEntries(Date keepDate) throws SQLException
{ {
return getSqlMapClient().delete("alfresco.activities.delete_activity_feed_entries_older_than_date", keepDate); return getSqlSession().delete("alfresco.activities.delete_activity_feed_entries_older_than_date", keepDate);
} }
public int deleteSiteFeedEntries(String siteId) throws SQLException public int deleteSiteFeedEntries(String siteId) throws SQLException
@@ -48,7 +48,7 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
ActivityFeedEntity params = new ActivityFeedEntity(); ActivityFeedEntity params = new ActivityFeedEntity();
params.setSiteNetwork(siteId); params.setSiteNetwork(siteId);
return getSqlMapClient().delete("alfresco.activities.delete_activity_feed_for_site_entries", params); return getSqlSession().delete("alfresco.activities.delete_activity_feed_for_site_entries", params);
} }
public int deleteSiteFeedEntries(String siteId, String format, Date keepDate) throws SQLException public int deleteSiteFeedEntries(String siteId, String format, Date keepDate) throws SQLException
@@ -58,7 +58,7 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
params.setActivitySummaryFormat(format); params.setActivitySummaryFormat(format);
params.setPostDate(keepDate); params.setPostDate(keepDate);
return getSqlMapClient().delete("alfresco.activities.delete_activity_feed_for_site_entries_older_than_date", params); return getSqlSession().delete("alfresco.activities.delete_activity_feed_for_site_entries_older_than_date", params);
} }
@@ -69,7 +69,7 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
params.setActivitySummaryFormat(format); params.setActivitySummaryFormat(format);
params.setPostDate(keepDate); params.setPostDate(keepDate);
return getSqlMapClient().delete("alfresco.activities.delete_activity_feed_for_feeduser_entries_older_than_date", params); return getSqlSession().delete("alfresco.activities.delete_activity_feed_for_feeduser_entries_older_than_date", params);
} }
public int deleteUserFeedEntries(String feedUserId) throws SQLException public int deleteUserFeedEntries(String feedUserId) throws SQLException
@@ -77,13 +77,13 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
ActivityFeedEntity params = new ActivityFeedEntity(); ActivityFeedEntity params = new ActivityFeedEntity();
params.setFeedUserId(feedUserId); params.setFeedUserId(feedUserId);
return getSqlMapClient().delete("alfresco.activities.delete_activity_feed_for_feeduser_entries", params); return getSqlSession().delete("alfresco.activities.delete_activity_feed_for_feeduser_entries", params);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<ActivityFeedEntity> selectFeedsToClean(int maxFeedSize) throws SQLException public List<ActivityFeedEntity> selectFeedsToClean(int maxFeedSize) throws SQLException
{ {
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_greater_than_max", maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_greater_than_max", maxFeedSize);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@@ -98,10 +98,8 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
params.setMinId(minFeedId); params.setMinId(minFeedId);
} }
if (maxFeedSize < 0) int rowLimit = maxFeedSize < 0 ? RowBounds.NO_ROW_LIMIT : maxFeedSize;
{ RowBounds rowBounds = new RowBounds(RowBounds.NO_ROW_OFFSET, rowLimit);
maxFeedSize = SqlExecutor.NO_MAXIMUM_RESULTS;
}
if (siteId != null) if (siteId != null)
{ {
@@ -116,17 +114,17 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
if ((!excludeThisUser) && (!excludeOtherUsers)) if ((!excludeThisUser) && (!excludeOtherUsers))
{ {
// no excludes => everyone => where feed user is me // no excludes => everyone => where feed user is me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser_and_site", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser_and_site", params, rowBounds);
} }
else if ((excludeThisUser) && (!excludeOtherUsers)) else if ((excludeThisUser) && (!excludeOtherUsers))
{ {
// exclude feed user => others => where feed user is me and post user is not me // exclude feed user => others => where feed user is me and post user is not me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser_others_and_site", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser_others_and_site", params, rowBounds);
} }
else if ((excludeOtherUsers) && (!excludeThisUser)) else if ((excludeOtherUsers) && (!excludeThisUser))
{ {
// exclude others => me => where feed user is me and post user is me // exclude others => me => where feed user is me and post user is me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser_me_and_site", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser_me_and_site", params, rowBounds);
} }
} }
else else
@@ -141,17 +139,17 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
if (!excludeThisUser && !excludeOtherUsers) if (!excludeThisUser && !excludeOtherUsers)
{ {
// no excludes => everyone => where feed user is me // no excludes => everyone => where feed user is me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser", params, rowBounds);
} }
else if (excludeThisUser) else if (excludeThisUser)
{ {
// exclude feed user => others => where feed user is me and post user is not me // exclude feed user => others => where feed user is me and post user is not me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser_others", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser_others", params, rowBounds);
} }
else if (excludeOtherUsers) else if (excludeOtherUsers)
{ {
// exclude others => me => where feed user is me and post user is me // exclude others => me => where feed user is me and post user is me
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_feeduser_me", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_feeduser_me", params, rowBounds);
} }
} }
@@ -166,12 +164,10 @@ public class ActivityFeedDAOImpl extends IBatisSqlMapper implements ActivityFeed
params.setSiteNetwork(siteId); params.setSiteNetwork(siteId);
params.setActivitySummaryFormat(format); params.setActivitySummaryFormat(format);
if (maxFeedSize < 0) int rowLimit = maxFeedSize < 0 ? RowBounds.NO_ROW_LIMIT : maxFeedSize;
{ RowBounds rowBounds = new RowBounds(RowBounds.NO_ROW_OFFSET, rowLimit);
maxFeedSize = SqlExecutor.NO_MAXIMUM_RESULTS;
}
// for given site // for given site
return (List<ActivityFeedEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feed_for_site", params, 0, maxFeedSize); return (List<ActivityFeedEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feed_for_site", params, rowBounds);
} }
} }

View File

@@ -26,7 +26,7 @@ import java.util.List;
import org.alfresco.repo.domain.activities.ActivityPostDAO; import org.alfresco.repo.domain.activities.ActivityPostDAO;
import org.alfresco.repo.domain.activities.ActivityPostEntity; import org.alfresco.repo.domain.activities.ActivityPostEntity;
public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPostDAO public class ActivityPostDAOImpl extends ActivitiesSqlSessionDaoSupport implements ActivityPostDAO
{ {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public List<ActivityPostEntity> selectPosts(ActivityPostEntity activityPost) throws SQLException public List<ActivityPostEntity> selectPosts(ActivityPostEntity activityPost) throws SQLException
@@ -36,11 +36,11 @@ public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPost
(activityPost.getMaxId() != -1) && (activityPost.getMaxId() != -1) &&
(activityPost.getStatus() != null)) (activityPost.getStatus() != null))
{ {
return (List<ActivityPostEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_posts", activityPost); return (List<ActivityPostEntity>)getSqlSession().selectList("alfresco.activities.select_activity_posts", activityPost);
} }
else if (activityPost.getStatus() != null) else if (activityPost.getStatus() != null)
{ {
return (List<ActivityPostEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_posts_by_status_only", activityPost); return (List<ActivityPostEntity>)getSqlSession().selectList("alfresco.activities.select_activity_posts_by_status_only", activityPost);
} }
else else
{ {
@@ -50,17 +50,17 @@ public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPost
public Long getMaxActivitySeq() throws SQLException public Long getMaxActivitySeq() throws SQLException
{ {
return (Long)getSqlMapClient().queryForObject("alfresco.activities.select_activity_post_max_seq"); return (Long)getSqlSession().selectOne("alfresco.activities.select_activity_post_max_seq");
} }
public Long getMinActivitySeq() throws SQLException public Long getMinActivitySeq() throws SQLException
{ {
return (Long)getSqlMapClient().queryForObject("alfresco.activities.select_activity_post_min_seq"); return (Long)getSqlSession().selectOne("alfresco.activities.select_activity_post_min_seq");
} }
public Integer getMaxNodeHash() throws SQLException public Integer getMaxNodeHash() throws SQLException
{ {
return (Integer)getSqlMapClient().queryForObject("alfresco.activities.select_activity_post_max_jobtasknode"); return (Integer)getSqlSession().selectOne("alfresco.activities.select_activity_post_max_jobtasknode");
} }
public int updatePost(long id, String siteNetwork, String activityData, ActivityPostEntity.STATUS status) throws SQLException public int updatePost(long id, String siteNetwork, String activityData, ActivityPostEntity.STATUS status) throws SQLException
@@ -72,7 +72,7 @@ public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPost
post.setStatus(status.toString()); post.setStatus(status.toString());
post.setLastModified(new Date()); post.setLastModified(new Date());
return getSqlMapClient().update("alfresco.activities.update_activity_post_data", post); return getSqlSession().update("alfresco.activities.update_activity_post_data", post);
} }
public int updatePostStatus(long id, ActivityPostEntity.STATUS status) throws SQLException public int updatePostStatus(long id, ActivityPostEntity.STATUS status) throws SQLException
@@ -82,7 +82,7 @@ public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPost
post.setStatus(status.toString()); post.setStatus(status.toString());
post.setLastModified(new Date()); post.setLastModified(new Date());
return getSqlMapClient().update("alfresco.activities.update_activity_post_status", post); return getSqlSession().update("alfresco.activities.update_activity_post_status", post);
} }
public int deletePosts(Date keepDate, ActivityPostEntity.STATUS status) throws SQLException public int deletePosts(Date keepDate, ActivityPostEntity.STATUS status) throws SQLException
@@ -91,12 +91,13 @@ public class ActivityPostDAOImpl extends IBatisSqlMapper implements ActivityPost
params.setPostDate(keepDate); params.setPostDate(keepDate);
params.setStatus(status.toString()); params.setStatus(status.toString());
return getSqlMapClient().delete("alfresco.activities.delete_activity_posts_older_than_date", params); return getSqlSession().delete("alfresco.activities.delete_activity_posts_older_than_date", params);
} }
public long insertPost(ActivityPostEntity activityPost) throws SQLException public long insertPost(ActivityPostEntity activityPost) throws SQLException
{ {
Long id = (Long)getSqlMapClient().insert("alfresco.activities.insert_activity_post", activityPost); getSqlSession().insert("alfresco.activities.insert.insert_activity_post", activityPost);
Long id = activityPost.getId();
return (id != null ? id : -1); return (id != null ? id : -1);
} }
} }

View File

@@ -24,17 +24,18 @@ import java.util.List;
import org.alfresco.repo.domain.activities.FeedControlDAO; import org.alfresco.repo.domain.activities.FeedControlDAO;
import org.alfresco.repo.domain.activities.FeedControlEntity; import org.alfresco.repo.domain.activities.FeedControlEntity;
public class FeedControlDAOImpl extends IBatisSqlMapper implements FeedControlDAO public class FeedControlDAOImpl extends ActivitiesSqlSessionDaoSupport implements FeedControlDAO
{ {
public long insertFeedControl(FeedControlEntity activityFeedControl) throws SQLException public long insertFeedControl(FeedControlEntity activityFeedControl) throws SQLException
{ {
Long id = (Long)getSqlMapClient().insert("alfresco.activities.insert_activity_feedcontrol", activityFeedControl); getSqlSession().insert("alfresco.activities.insert.insert_activity_feedcontrol", activityFeedControl);
Long id = activityFeedControl.getId();
return (id != null ? id : -1); return (id != null ? id : -1);
} }
public int deleteFeedControl(FeedControlEntity activityFeedControl) throws SQLException public int deleteFeedControl(FeedControlEntity activityFeedControl) throws SQLException
{ {
return getSqlMapClient().delete("alfresco.activities.delete_activity_feedcontrol", activityFeedControl); return getSqlSession().delete("alfresco.activities.delete_activity_feedcontrol", activityFeedControl);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@@ -42,12 +43,12 @@ public class FeedControlDAOImpl extends IBatisSqlMapper implements FeedControlDA
{ {
FeedControlEntity params = new FeedControlEntity(feedUserId); FeedControlEntity params = new FeedControlEntity(feedUserId);
return (List<FeedControlEntity>)getSqlMapClient().queryForList("alfresco.activities.select_activity_feedcontrols_for_user", params); return (List<FeedControlEntity>)getSqlSession().selectList("alfresco.activities.select_activity_feedcontrols_for_user", params);
} }
public long selectFeedControl(FeedControlEntity activityFeedControl) throws SQLException public long selectFeedControl(FeedControlEntity activityFeedControl) throws SQLException
{ {
Long id = (Long)getSqlMapClient().queryForObject("alfresco.activities.select_activity_feedcontrol", activityFeedControl); Long id = (Long)getSqlSession().selectOne("alfresco.activities.select_activity_feedcontrol", activityFeedControl);
return (id != null ? id : -1); return (id != null ? id : -1);
} }
} }