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.document.business.workflow;
35
36 import fr.paris.lutece.plugins.document.business.Document;
37 import fr.paris.lutece.util.sql.DAOUtil;
38
39 import java.util.ArrayList;
40 import java.util.List;
41
42
43
44
45 public class DocumentActionDAO implements IDocumentActionDAO
46 {
47 private static final String SQL_QUERY_FIND_BY_PRIMARY_KEY = "SELECT a.id_action,a.name_key, a.description_key, a.action_url, a.icon_url, a.action_permission, a.id_finish_state "
48 + " FROM document_workflow_action a WHERE id_action=? ";
49 private static final String SQL_QUERY_SELECT_ACTIONS = "SELECT a.id_action,a.name_key, a.description_key, a.action_url, a.icon_url, a.action_permission"
50 + " FROM document_workflow_action a, document_workflow_transition b " + " WHERE a.id_action = b.id_action AND b.id_state = ? ";
51
52
53
54
55
56
57
58
59 public DocumentAction load( int nIdAction )
60 {
61 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_BY_PRIMARY_KEY );
62 daoUtil.setInt( 1, nIdAction );
63 daoUtil.executeQuery( );
64
65 DocumentAction action = null;
66 DocumentState finishState = null;
67
68 if ( daoUtil.next( ) )
69 {
70 action = new DocumentAction( );
71 action.setIdAction( daoUtil.getInt( 1 ) );
72 action.setNameKey( daoUtil.getString( 2 ) );
73 action.setDescriptionKey( daoUtil.getString( 3 ) );
74 action.setUrl( daoUtil.getString( 4 ) );
75 action.setIconUrl( daoUtil.getString( 5 ) );
76 action.setPermission( daoUtil.getString( 6 ) );
77
78 if ( daoUtil.getObject( 7 ) != null )
79 {
80 finishState = new DocumentState( );
81 finishState.setId( daoUtil.getInt( 7 ) );
82 action.setFinishDocumentState( finishState );
83 }
84 }
85
86 daoUtil.free( );
87
88 return action;
89 }
90
91
92
93
94
95
96
97
98 public List<DocumentAction> selectActions( Document document )
99 {
100 List<DocumentAction> listActions = new ArrayList<DocumentAction>( );
101 DocumentAction action = null;
102 DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_ACTIONS );
103 daoUtil.setInt( 1, document.getStateId( ) );
104 daoUtil.executeQuery( );
105
106 while ( daoUtil.next( ) )
107 {
108 action = new DocumentAction( );
109 action.setIdAction( daoUtil.getInt( 1 ) );
110 action.setNameKey( daoUtil.getString( 2 ) );
111 action.setDescriptionKey( daoUtil.getString( 3 ) );
112 action.setUrl( daoUtil.getString( 4 ) );
113 action.setIconUrl( daoUtil.getString( 5 ) );
114 action.setPermission( daoUtil.getString( 6 ) );
115 listActions.add( action );
116 }
117
118 daoUtil.free( );
119
120 return listActions;
121 }
122 }