diff options
Diffstat (limited to 'sonar-db/src/main/resources/org/sonar/db/issue/ActionPlanMapper.xml')
-rw-r--r-- | sonar-db/src/main/resources/org/sonar/db/issue/ActionPlanMapper.xml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/sonar-db/src/main/resources/org/sonar/db/issue/ActionPlanMapper.xml b/sonar-db/src/main/resources/org/sonar/db/issue/ActionPlanMapper.xml new file mode 100644 index 00000000000..49174ddad74 --- /dev/null +++ b/sonar-db/src/main/resources/org/sonar/db/issue/ActionPlanMapper.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mappei.dtd"> + +<mapper namespace="org.sonar.db.issue.ActionPlanMapper"> + + <sql id="actionPlanColumns"> + ap.id, + ap.kee as kee, + ap.name as name, + ap.description as description, + ap.user_login as userLogin, + ap.project_id as projectId, + ap.status as status, + ap.deadline as deadLine, + ap.created_at as createdAt, + ap.updated_at as updatedAt, + p.kee as projectKey + </sql> + + <insert id="insert" parameterType="ActionPlanIssue" keyColumn="id" useGeneratedKeys="true" keyProperty="id"> + INSERT INTO action_plans (kee, name, description, user_login, project_id, status, deadline, created_at, updated_at) + VALUES (#{kee}, #{name}, #{description}, #{userLogin}, #{projectId}, #{status}, #{deadLine}, #{createdAt}, + #{updatedAt}) + </insert> + + <update id="update" parameterType="ActionPlanIssue"> + update action_plans set + name=#{name}, + description=#{description}, + user_login=#{userLogin}, + project_id=#{projectId}, + status=#{status}, + deadline=#{deadLine}, + updated_at=current_timestamp + where kee = #{kee} + </update> + + <delete id="delete" parameterType="String"> + delete from action_plans where kee=#{key} + </delete> + + <select id="findByKey" parameterType="long" resultType="ActionPlanIssue"> + select + <include refid="actionPlanColumns"/> + from action_plans ap, projects p + <where> + and ap.kee=#{key} + and ap.project_id=p.id + </where> + </select> + + <select id="findByKeys" parameterType="long" resultType="ActionPlanIssue"> + select + <include refid="actionPlanColumns"/> + from action_plans ap, projects p + <where> + and ap.kee in + <foreach collection="keys" open="(" close=")" item="key" separator=","> + #{key} + </foreach> + and ap.project_id=p.id + </where> + </select> + + <select id="findOpenByProjectId" parameterType="long" resultType="ActionPlanIssue"> + select + <include refid="actionPlanColumns"/> + from action_plans ap, projects p + <where> + and ap.project_id=#{projectId} + and ap.status='OPEN' + and ap.project_id=p.id + </where> + </select> + + <select id="findByNameAndProjectId" parameterType="long" resultType="ActionPlanIssue"> + select + <include refid="actionPlanColumns"/> + from action_plans ap, projects p + <where> + and ap.project_id=#{projectId} + and ap.name=#{name} + and ap.project_id=p.id + </where> + </select> + +</mapper> |