First part of MOB-452: Full IBATIS Integration: Refactor Existing iBatis Usage and Test

- iBatis resources loaded according to Hibernate dialect class hierarchy
 - No longer need overrides for activities iBatis configurations
 - Moved PostgreSQL, Oracle and SQLServer iBatis configs into Enterprise projects
 - Removed HSQL configurations
 - Split INSERT statements into DB-specific config

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-03-20 21:07:41 +00:00
parent b64489e53a
commit a6e50e1fd1
32 changed files with 207 additions and 1348 deletions

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- note: dialect property must be set in properties passed to SqlMapClientFactoryBean -->
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityPost.xml"/>
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityFeed.xml"/>
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityFeedControl.xml"/>
</sqlMapConfig>

View File

@@ -14,42 +14,16 @@
<property name="maxFeedItems" value="100"/>
</bean>
<bean id="iBatisDataSource" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>javax.sql.DataSource</value>
</property>
<property name="target"><ref bean="dataSource"/></property>
<property name="interceptorNames">
<list>
<idref local="iBatisDataSource_autcommit" />
</list>
</property>
</bean>
<bean id="iBatisDataSource_autcommit" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<bean class="org.alfresco.util.AutoCommitInterceptor" />
</property>
<property name="mappedName">
<value>getConnection</value>
</property>
</bean>
<bean id="sqlMapClient" class="org.alfresco.repo.domain.ibatis.AlfrescoSqlMapClientFactoryBean" singleton="true">
<property name="configLocation"><value>classpath:alfresco/activities/activities-SqlMapConfig.xml</value></property>
<property name="dataSource" ref="iBatisDataSource"/>
</bean>
<bean id="postDaoService" class="org.alfresco.repo.activities.ibatis.IBatisActivityPostDaoServiceImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
</bean>
<bean id="feedDaoService" class="org.alfresco.repo.activities.ibatis.IBatisActivityFeedDaoServiceImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
</bean>
<bean id="feedControlDaoService" class="org.alfresco.repo.activities.ibatis.IBatisFeedControlDaoServiceImpl">
<property name="sqlMapClient" ref="sqlMapClient"/>
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
</bean>
<!-- cleans out-of-date feed entries -->
@@ -95,7 +69,7 @@
<bean id="feedTaskProcessor" class="org.alfresco.repo.activities.feed.local.LocalFeedTaskProcessor">
<!-- NOTE: assumes same sqlMapClient is also configured for postDaoService and feedDaoService -->
<property name="sqlMapClient" ref="sqlMapClient"/>
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
<property name="postDaoService" ref="postDaoService"/>
<property name="feedDaoService" ref="feedDaoService"/>
<property name="feedControlDaoService" ref="feedControlDaoService"/>

View File

@@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.activities.feed.ActivityFeedDAO"/>
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="postId" column="post_id"/> <!-- not an explicit FK constraint, can dangle if and when activity post is deleted -->
<result property="siteNetwork" column="site_network"/>
<result property="activityType" column="activity_type"/>
<result property="activitySummary" column="activity_summary"/>
<result property="activitySummaryFormat" column="activity_format"/>
<result property="feedDate" column="feed_date"/>
</resultMap>
<select id="select.activity.feed.for.feeduser" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.feeduser.and.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![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 postDate
from alf_activity_feed
where (feed_user_id = '' or feed_user_id is null)
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_feed_seq.nextval as value from dual
</selectKey>
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#)
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
]]>
</delete>
</sqlMap>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<typeAlias alias="FeedControl" type="org.alfresco.repo.activities.feed.control.FeedControlDAO"/>
<resultMap id="FeedControlResult" class="FeedControl">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.feedcontrols.for.user" parameterClass="FeedControl" resultClass="FeedControl">
<![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control
where feed_user_id = #feedUserId#
]]>
</select>
<select id="select.activity.feedcontrol" parameterClass="FeedControl" resultClass="long">
<![CDATA[
select id as id
from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_feed_control_seq.nextval as value from dual
</selectKey>
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</delete>
</sqlMap>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<typeAlias alias="ActivityPost" type="org.alfresco.repo.activities.post.ActivityPostDAO"/>
<resultMap id="ActivityPostResult" class="ActivityPost">
<result property="id" column="sequence_id"/>
<result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/>
<result property="userId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="jobTaskNode" column="job_task_node"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="status" column="status"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.posts" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
job_task_node = #jobTaskNode# and
sequence_id >= #minId# and
sequence_id <= #maxId# and
status = #status#
]]>
</select>
<select id="select.activity.posts.by.status.only" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
status = #status#
]]>
</select>
<select id="select.activity.post.max.seq" resultClass="long">
select max(sequence_id) as maxId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.min.seq" resultClass="long">
select min(sequence_id) as minId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.max.jobtasknode" resultClass="int">
select max(job_task_node) as maxJobTaskNode
from alf_activity_post
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_post_seq.nextval as value from dual
</selectKey>
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#)
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post
where post_date < #postDate#
and status = #status#
]]>
</delete>
<update id="update.activity.post.data" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
<update id="update.activity.post.status" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
</sqlMap>

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.activities.feed.ActivityFeedDAO"/>
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="postId" column="post_id"/> <!-- not an explicit FK constraint, can dangle if and when activity post is deleted -->
<result property="siteNetwork" column="site_network"/>
<result property="activityType" column="activity_type"/>
<result property="activitySummary" column="activity_summary"/>
<result property="activitySummaryFormat" column="activity_format"/>
<result property="feedDate" column="feed_date"/>
</resultMap>
<select id="select.activity.feed.for.feeduser" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.feeduser.and.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![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 postDate
from alf_activity_feed
where feed_user_id = ''
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
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 (DEFAULT, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
]]>
</delete>
</sqlMap>

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<typeAlias alias="FeedControl" type="org.alfresco.repo.activities.feed.control.FeedControlDAO"/>
<resultMap id="FeedControlResult" class="FeedControl">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.feedcontrols.for.user" parameterClass="FeedControl" resultClass="FeedControl">
<![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control
where feed_user_id = #feedUserId#
]]>
</select>
<select id="select.activity.feedcontrol" parameterClass="FeedControl" resultClass="long">
<![CDATA[
select id as id
from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (DEFAULT, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</delete>
</sqlMap>

View File

@@ -1,113 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<typeAlias alias="ActivityPost" type="org.alfresco.repo.activities.post.ActivityPostDAO"/>
<resultMap id="ActivityPostResult" class="ActivityPost">
<result property="id" column="sequence_id"/>
<result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/>
<result property="userId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="jobTaskNode" column="job_task_node"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="status" column="status"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.posts" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
job_task_node = #jobTaskNode# and
sequence_id >= #minId# and
sequence_id <= #maxId# and
status = #status#
]]>
</select>
<select id="select.activity.posts.by.status.only" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
status = #status#
]]>
</select>
<select id="select.activity.post.max.seq" resultClass="long">
select max(sequence_id) as maxId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.min.seq" resultClass="long">
select min(sequence_id) as minId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.max.jobtasknode" resultClass="int">
select max(job_task_node) as maxJobTaskNode
from alf_activity_post
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
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 (DEFAULT, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post
where post_date < #postDate#
and status = #status#
]]>
</delete>
<update id="update.activity.post.data" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
<update id="update.activity.post.status" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
</sqlMap>

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.activities.feed.ActivityFeedDAO"/>
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="postId" column="post_id"/> <!-- not an explicit FK constraint, can dangle if and when activity post is deleted -->
<result property="siteNetwork" column="site_network"/>
<result property="activityType" column="activity_type"/>
<result property="activitySummary" column="activity_summary"/>
<result property="activitySummaryFormat" column="activity_format"/>
<result property="feedDate" column="feed_date"/>
</resultMap>
<select id="select.activity.feed.for.feeduser" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.feeduser.and.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![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 postDate
from alf_activity_feed
where feed_user_id = ''
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
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#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
CALL IDENTITY()
</selectKey>
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
]]>
</delete>
</sqlMap>

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<typeAlias alias="FeedControl" type="org.alfresco.repo.activities.feed.control.FeedControlDAO"/>
<resultMap id="FeedControlResult" class="FeedControl">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.feedcontrols.for.user" parameterClass="FeedControl" resultClass="FeedControl">
<![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control
where feed_user_id = #feedUserId#
]]>
</select>
<select id="select.activity.feedcontrol" parameterClass="FeedControl" resultClass="long">
<![CDATA[
select id as id
from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
CALL IDENTITY()
</selectKey>
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</delete>
</sqlMap>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<typeAlias alias="ActivityPost" type="org.alfresco.repo.activities.post.ActivityPostDAO"/>
<resultMap id="ActivityPostResult" class="ActivityPost">
<result property="id" column="sequence_id"/>
<result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/>
<result property="userId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="jobTaskNode" column="job_task_node"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="status" column="status"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.posts" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
job_task_node = #jobTaskNode# and
sequence_id >= #minId# and
sequence_id <= #maxId# and
status = #status#
]]>
</select>
<select id="select.activity.posts.by.status.only" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
status = #status#
]]>
</select>
<select id="select.activity.post.max.seq" resultClass="long">
select max(sequence_id) as maxId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.min.seq" resultClass="long">
select min(sequence_id) as minId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.max.jobtasknode" resultClass="int">
select max(job_task_node) as maxJobTaskNode
from alf_activity_post
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
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#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
CALL IDENTITY()
</selectKey>
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post
where post_date < #postDate#
and status = #status#
]]>
</delete>
<update id="update.activity.post.data" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
<update id="update.activity.post.status" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
</sqlMap>

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.activities.feed.ActivityFeedDAO"/>
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="postId" column="post_id"/> <!-- not an explicit FK constraint, can dangle if and when activity post is deleted -->
<result property="siteNetwork" column="site_network"/>
<result property="activityType" column="activity_type"/>
<result property="activitySummary" column="activity_summary"/>
<result property="activitySummaryFormat" column="activity_format"/>
<result property="feedDate" column="feed_date"/>
</resultMap>
<select id="select.activity.feed.for.feeduser" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.feeduser.and.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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 postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![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 postDate
from alf_activity_feed
where feed_user_id = ''
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
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#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
select LAST_INSERT_ID() AS value
</selectKey>
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
]]>
</delete>
</sqlMap>

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<typeAlias alias="FeedControl" type="org.alfresco.repo.activities.feed.control.FeedControlDAO"/>
<resultMap id="FeedControlResult" class="FeedControl">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.feedcontrols.for.user" parameterClass="FeedControl" resultClass="FeedControl">
<![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control
where feed_user_id = #feedUserId#
]]>
</select>
<select id="select.activity.feedcontrol" parameterClass="FeedControl" resultClass="long">
<![CDATA[
select id as id
from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
select LAST_INSERT_ID() AS value
</selectKey>
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</delete>
</sqlMap>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<typeAlias alias="ActivityPost" type="org.alfresco.repo.activities.post.ActivityPostDAO"/>
<resultMap id="ActivityPostResult" class="ActivityPost">
<result property="id" column="sequence_id"/>
<result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/>
<result property="userId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="jobTaskNode" column="job_task_node"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="status" column="status"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.posts" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
job_task_node = #jobTaskNode# and
sequence_id >= #minId# and
sequence_id <= #maxId# and
status = #status#
]]>
</select>
<select id="select.activity.posts.by.status.only" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
status = #status#
]]>
</select>
<select id="select.activity.post.max.seq" resultClass="long">
select max(sequence_id) as maxId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.min.seq" resultClass="long">
select min(sequence_id) as minId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.max.jobtasknode" resultClass="int">
select max(job_task_node) as maxJobTaskNode
from alf_activity_post
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
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#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
select LAST_INSERT_ID() AS value
</selectKey>
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post
where post_date < #postDate#
and status = #status#
]]>
</delete>
<update id="update.activity.post.data" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
<update id="update.activity.post.status" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
</sqlMap>

View File

@@ -1,75 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.activities.feed.ActivityFeedDAO"/>
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="postUserId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="postId" column="post_id"/> <!-- not an explicit FK constraint, can dangle if and when activity post is deleted -->
<result property="siteNetwork" column="site_network"/>
<result property="activityType" column="activity_type"/>
<result property="activitySummary" column="activity_summary"/>
<result property="activitySummaryFormat" column="activity_format"/>
<result property="feedDate" column="feed_date"/>
</resultMap>
<select id="select.activity.feed.for.feeduser" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.feeduser.and.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![CDATA[
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
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<select id="select.activity.feed.for.site" parameterClass="ActivityFeed" resultClass="ActivityFeed">
<![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
from alf_activity_feed
where feed_user_id = ''
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_feed_seq')
</selectKey>
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#)
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
]]>
</delete>
</sqlMap>

View File

@@ -1,57 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<typeAlias alias="FeedControl" type="org.alfresco.repo.activities.feed.control.FeedControlDAO"/>
<resultMap id="FeedControlResult" class="FeedControl">
<result property="id" column="id"/>
<result property="feedUserId" column="feed_user_id"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.feedcontrols.for.user" parameterClass="FeedControl" resultClass="FeedControl">
<![CDATA[
select id as id, feed_user_id as feedUserId, site_network as siteNetwork, app_tool as appTool
from alf_activity_feed_control
where feed_user_id = #feedUserId#
]]>
</select>
<select id="select.activity.feedcontrol" parameterClass="FeedControl" resultClass="long">
<![CDATA[
select id as id
from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_feed_control_seq')
</selectKey>
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control
where feed_user_id = #feedUserId#
and site_network = #siteNetwork#
and app_tool = #appTool#
]]>
</delete>
</sqlMap>

View File

@@ -1,114 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<typeAlias alias="ActivityPost" type="org.alfresco.repo.activities.post.ActivityPostDAO"/>
<resultMap id="ActivityPostResult" class="ActivityPost">
<result property="id" column="sequence_id"/>
<result property="activityData" column="activity_data"/>
<result property="activityType" column="activity_type"/>
<result property="userId" column="post_user_id"/>
<result property="postDate" column="post_date"/>
<result property="jobTaskNode" column="job_task_node"/>
<result property="siteNetwork" column="site_network"/>
<result property="appTool" column="app_tool"/>
<result property="status" column="status"/>
<result property="lastModified" column="last_modified"/>
</resultMap>
<select id="select.activity.posts" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
job_task_node = #jobTaskNode# and
sequence_id >= #minId# and
sequence_id <= #maxId# and
status = #status#
]]>
</select>
<select id="select.activity.posts.by.status.only" parameterClass="ActivityPost" resultClass="ActivityPost">
<![CDATA[
select
sequence_id as id,
activity_data as activityData,
activity_type as activityType,
post_user_id as userId,
post_date as postDate,
job_task_node as jobTaskNode,
site_network as siteNetwork,
app_tool as appTool,
status as status
from
alf_activity_post
where
status = #status#
]]>
</select>
<select id="select.activity.post.max.seq" resultClass="long">
select max(sequence_id) as maxId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.min.seq" resultClass="long">
select min(sequence_id) as minId
from alf_activity_post
where status = 'POSTED'
</select>
<select id="select.activity.post.max.jobtasknode" resultClass="int">
select max(job_task_node) as maxJobTaskNode
from alf_activity_post
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_post_seq')
</selectKey>
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#)
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post
where post_date < #postDate#
and status = #status#
]]>
</delete>
<update id="update.activity.post.data" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
<update id="update.activity.post.status" parameterClass="ActivityPost">
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
</update>
</sqlMap>

View File

@@ -13,13 +13,14 @@
<import resource="classpath:alfresco/action-services-context.xml" />
<import resource="classpath:alfresco/rule-services-context.xml" />
<import resource="classpath:alfresco/node-services-context.xml" />
<import resource="classpath:alfresco/activities/activities-feed-context.xml" />
<import resource="classpath:alfresco/scheduled-jobs-context.xml" />
<import resource="classpath:alfresco/network-protocol-context.xml" />
<import resource="classpath:alfresco/emailserver/email-service-context.xml" />
<import resource="classpath:alfresco/content-services-context.xml" />
<import resource="classpath:alfresco/mt/st-admin-context.xml"/>
<import resource="classpath:alfresco/hibernate-context.xml" />
<import resource="classpath:alfresco/ibatis/ibatis-context.xml" />
<import resource="classpath:alfresco/activities/activities-feed-context.xml" />
<import resource="classpath:alfresco/ownable-services-context.xml" />
<import resource="classpath:alfresco/template-services-context.xml" />
<import resource="classpath:alfresco/script-services-context.xml" />

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<!-- NOTE: although we use iBatis here rather than Hibernate, for consistency we make use of single SQL dialect property (hibernate.dialect) for consistency -->
<properties resource="alfresco/extension/custom-hibernate-dialect.properties" />
<!-- SQL Map XML files loaded from the classpath -->
<!-- note: dialect property is set in properties resource above -->
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityPost.xml"/>
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityFeed.xml"/>
<sqlMap resource="alfresco/activities/${hibernate.dialect}/ActivityFeedControl.xml"/>
</sqlMapConfig>

View File

@@ -1,11 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" singleton="true">
<property name="configLocation"><value>classpath:alfresco/extension/custom-activities-SqlMapConfig.xml</value></property>
<property name="dataSource" ref="iBatisDataSource"/>
</bean>
</beans>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityPost-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityFeed-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityFeedControl-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityPost-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityFeed-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/ActivityFeedControl-insert-SqlMap.xml"/>
</sqlMapConfig>

View File

@@ -0,0 +1,48 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Beans common to iBatis infrastructure
-->
<beans>
<!-- Hierarchical Resource Loader -->
<bean id="dialectResourceLoader" class="org.alfresco.util.resource.HierarchicalResourceLoader">
<property name="dialectBaseClass">
<value>org.hibernate.dialect.Dialect</value>
</property>
<property name="dialectClass">
<value>${hibernate.dialect}</value>
</property>
</bean>
<bean id="iBatisDataSource" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>javax.sql.DataSource</value>
</property>
<property name="target"><ref bean="dataSource"/></property>
<property name="interceptorNames">
<list>
<idref local="activitiesDataSource_autoCommit" />
</list>
</property>
</bean>
<bean id="activitiesDataSource_autoCommit" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<bean class="org.alfresco.util.AutoCommitInterceptor" />
</property>
<property name="mappedName">
<value>getConnection</value>
</property>
</bean>
<bean id="activitiesSqlMapClient" class="org.alfresco.repo.domain.ibatis.AlfrescoSqlMapClientFactoryBean" singleton="true">
<property name="dataSource" ref="iBatisDataSource"/>
<property name="resourceLoader" ref="dialectResourceLoader" />
<property name="configLocation">
<value>classpath:alfresco/ibatis/activities-SqlMapConfig.xml</value>
</property>
</bean>
</beans>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
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 (DEFAULT, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (DEFAULT, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<insert id="insert.activity.post" parameterClass="ActivityPost">
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 (DEFAULT, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
<!-- optionally return auto-generated primary key - only required for debug (can be commented out) -->
<selectKey resultClass="long" keyProperty="id" type="post">
values IDENTITY_VAL_LOCAL()
</selectKey>
</insert>
</sqlMap>

View File

@@ -48,23 +48,13 @@
<![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 postDate
from alf_activity_feed
where feed_user_id = ''
where (feed_user_id = '' or feed_user_id is null)
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
</select>
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
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#)
<selectKey resultClass="long" keyProperty="id" type="post">
select @@identity
</selectKey>
</insert>
<delete id="delete.activity.feed.entries.older.than.date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#

View File

@@ -34,16 +34,6 @@
]]>
</select>
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<selectKey resultClass="long" keyProperty="id" type="post">
select @@identity
</selectKey>
</insert>
<delete id="delete.activity.feedcontrol" parameterClass="FeedControl">
<![CDATA[
delete from alf_activity_feed_control

View File

@@ -80,17 +80,6 @@
where status = 'POSTED'
</select>
<insert id="insert.activity.post" parameterClass="ActivityPost">
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#)
<selectKey resultClass="long" keyProperty="id" type="post">
select @@identity
</selectKey>
</insert>
<delete id="delete.activity.posts.older.than.date" parameterClass="ActivityPost">
<![CDATA[
delete from alf_activity_post

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeed">
<insert id="insert.activity.feed" parameterClass="ActivityFeed">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_feed_seq.nextval as value from dual
</selectKey>
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#)
</insert>
</sqlMap>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityFeedControl">
<insert id="insert.activity.feedcontrol" parameterClass="FeedControl">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_feed_control_seq.nextval as value from dual
</selectKey>
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
</insert>
</sqlMap>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="ActivityPost">
<insert id="insert.activity.post" parameterClass="ActivityPost">
<selectKey resultClass="long" keyProperty="id" type="pre">
select alf_activity_post_seq.nextval as value from dual
</selectKey>
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#)
</insert>
</sqlMap>

View File

@@ -3,9 +3,9 @@ package org.alfresco.repo.domain.ibatis;
import java.io.IOException;
import java.util.Properties;
import org.alfresco.ibatis.HierarchicalSqlMapClientFactoryBean;
import org.hibernate.cfg.Environment;
import org.springframework.core.io.Resource;
import org.springframework.orm.ibatis.SqlMapClientFactoryBean;
import com.ibatis.sqlmap.client.SqlMapClient;
@@ -21,7 +21,7 @@ import com.ibatis.sqlmap.client.SqlMapClient;
* @author Derek Hulley
* @since 3.1
*/
public class AlfrescoSqlMapClientFactoryBean extends SqlMapClientFactoryBean
public class AlfrescoSqlMapClientFactoryBean extends HierarchicalSqlMapClientFactoryBean
{
@Override