1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.workflow.modules.state.business;
35
36 import fr.paris.lutece.plugins.workflowcore.business.config.ITaskConfigDAO;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 public class ChangeStateTaskConfigDao implements ITaskConfigDAO<ChangeStateTaskConfig>
40 {
41
42
43 private static final String SQL_INSERT = "INSERT INTO workflow_task_change_state_config (id_task, id_next_state) VALUES (?, ?)";
44 private static final String SQL_UPDATE = "UPDATE workflow_task_change_state_config SET id_next_state = ? WHERE id_task = ?";
45 private static final String SQL_DELETE = "DELETE FROM workflow_task_change_state_config WHERE id_task = ?";
46 private static final String SQL_SELECT = "SELECT id_task, id_next_state FROM workflow_task_change_state_config WHERE id_task = ?";
47
48 @Override
49 public void insert( ChangeStateTaskConfig config )
50 {
51 try ( DAOUtil daoUtil = new DAOUtil( SQL_INSERT ) )
52 {
53 int nPos = 0;
54 daoUtil.setInt( ++nPos, config.getIdTask( ) );
55 daoUtil.setInt( ++nPos, config.getIdNextState( ) );
56 daoUtil.executeUpdate( );
57 }
58
59 }
60
61 @Override
62 public void store( ChangeStateTaskConfig config )
63 {
64 try ( DAOUtil daoUtil = new DAOUtil( SQL_UPDATE ) )
65 {
66 int nPos = 0;
67 daoUtil.setInt( ++nPos, config.getIdNextState( ) );
68 daoUtil.setInt( ++nPos, config.getIdTask( ) );
69
70 daoUtil.executeUpdate( );
71 }
72
73 }
74
75 @Override
76 public ChangeStateTaskConfig load( int nIdTask )
77 {
78 ChangeStateTaskConfig config = null;
79 try ( DAOUtil daoUtil = new DAOUtil( SQL_SELECT ) )
80 {
81 daoUtil.setInt( 1, nIdTask );
82 daoUtil.executeQuery( );
83
84 if ( daoUtil.next( ) )
85 {
86 int nIndex = 0;
87 config = new ChangeStateTaskConfig( );
88 config.setIdTask( daoUtil.getInt( ++nIndex ) );
89 config.setIdNextState( daoUtil.getInt( ++nIndex ) );
90 }
91 }
92 return config;
93 }
94
95 @Override
96 public void delete( int nIdTask )
97 {
98 try ( DAOUtil daoUtil = new DAOUtil( SQL_DELETE ) )
99 {
100 daoUtil.setInt( 1, nIdTask );
101
102 daoUtil.executeUpdate( );
103 }
104 }
105
106 }