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.mylutece.modules.database.authentication.business;
35
36 import fr.paris.lutece.portal.service.plugin.Plugin;
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 GroupRoleDAO implements IGroupRoleDAO
46 {
47 public static final String SQL_QUERY_FIND_ROLES_FROM_GROUP_ID = "SELECT role_key FROM mylutece_database_group_role WHERE group_key like ? ";
48 public static final String SQL_QUERY_FIND_GROUPS_FROM_ROLE_ID = "SELECT group_key FROM mylutece_database_group_role WHERE role_key = ? ";
49 private static final String SQL_QUERY_DELETE_ROLES_FOR_GROUP = "DELETE FROM mylutece_database_group_role WHERE group_key like ?";
50 private static final String SQL_QUERY_INSERT_ROLE_FOR_GROUP = "INSERT INTO mylutece_database_group_role ( group_key, role_key ) VALUES ( ?, ? ) ";
51
52
53
54
55
56
57
58
59
60
61 @Override
62 public List<String> selectGroupRoles( String strGroupKey, Plugin plugin )
63 {
64 ArrayList<String> arrayRoles = new ArrayList<>( );
65 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_ROLES_FROM_GROUP_ID, plugin ) )
66 {
67 daoUtil.setString( 1, strGroupKey );
68 daoUtil.executeQuery( );
69
70 while ( daoUtil.next( ) )
71 {
72 int nParam = 0;
73 arrayRoles.add( daoUtil.getString( ++nParam ) );
74 }
75 }
76 return arrayRoles;
77 }
78
79
80
81
82
83
84
85
86
87
88 @Override
89 public List<String> selectGroupRolesByRoleKey( String strRoleKey, Plugin plugin )
90 {
91 ArrayList<String> arrayGroup = new ArrayList<>( );
92 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_FIND_GROUPS_FROM_ROLE_ID, plugin ) )
93 {
94 daoUtil.setString( 1, strRoleKey );
95 daoUtil.executeQuery( );
96
97 while ( daoUtil.next( ) )
98 {
99 int nParam = 0;
100 arrayGroup.add( daoUtil.getString( ++nParam ) );
101 }
102 }
103
104 return arrayGroup;
105 }
106
107
108
109
110
111
112
113
114
115 @Override
116 public void deleteRoles( String strGroupKey, Plugin plugin )
117 {
118 int nParam = 0;
119 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_DELETE_ROLES_FOR_GROUP, plugin ) )
120 {
121 daoUtil.setString( ++nParam, strGroupKey );
122
123 daoUtil.executeUpdate( );
124 }
125 }
126
127
128
129
130
131
132
133
134
135
136
137 @Override
138 public void createRole( String strGroupKey, String strRoleKey, Plugin plugin )
139 {
140 int nParam = 0;
141 try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_INSERT_ROLE_FOR_GROUP, plugin ) )
142 {
143 daoUtil.setString( ++nParam, strGroupKey );
144 daoUtil.setString( ++nParam, strRoleKey );
145
146 daoUtil.executeUpdate( );
147 }
148 }
149 }