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.portal.business.user;
35
36 import fr.paris.lutece.portal.service.util.AppLogService;
37 import fr.paris.lutece.portal.service.util.AppPropertiesService;
38 import fr.paris.lutece.util.url.UrlItem;
39
40 import org.apache.commons.lang3.StringUtils;
41
42 import java.io.Serializable;
43 import java.io.UnsupportedEncodingException;
44
45 import java.net.URLEncoder;
46
47 import javax.servlet.http.HttpServletRequest;
48
49
50
51
52 public class AdminUserFilter implements Serializable
53 {
54 private static final long serialVersionUID = 4791880812924591795L;
55
56
57 private static final String CONSTANT_LEAST_ONE = "-1";
58 private static final String CONSTANT_DEFAULT_LEVEL = "noValue";
59 private static final String CONSTANT_EQUAL = "=";
60 private static final String CONSTANT_AMPERSAND = "&";
61
62
63 private static final String PARAMETER_SEARCH_ACCESS_CODE = "search_access_code";
64 private static final String PARAMETER_SEARCH_FIRST_NAME = "search_first_name";
65 private static final String PARAMETER_SEARCH_LAST_NAME = "search_last_name";
66 private static final String PARAMETER_SEARCH_EMAIL = "search_email";
67 private static final String PARAMETER_SEARCH_STATUS = "search_status";
68 private static final String PARAMETER_SEARCH_USER_LEVEL = "search_user_level";
69 private static final String PARAMETER_SEARCH_IS_SEARCH = "search_is_search";
70
71
72 private static final String PROPERTY_ENCODING_URL = "lutece.encoding.url";
73 private String _strAccessCode;
74 private String _strFirstName;
75 private String _strLastName;
76 private String _strEmail;
77 private int _nStatus;
78 private int _nUserLevel;
79
80
81
82
83 public AdminUserFilter( )
84 {
85
86 }
87
88
89
90
91 public void init( )
92 {
93 _strAccessCode = StringUtils.EMPTY;
94 _strFirstName = StringUtils.EMPTY;
95 _strLastName = StringUtils.EMPTY;
96 _strEmail = StringUtils.EMPTY;
97 _nStatus = -1;
98 _nUserLevel = -1;
99 }
100
101
102
103
104
105
106 public String getAccessCode( )
107 {
108 return _strAccessCode;
109 }
110
111
112
113
114
115
116
117 public void setAccessCode( String strAccessCode )
118 {
119 _strAccessCode = strAccessCode;
120 }
121
122
123
124
125 public String getFirstName( )
126 {
127 return _strFirstName;
128 }
129
130
131
132
133
134 public void setFirstName( String strFirstName )
135 {
136 _strFirstName = strFirstName;
137 }
138
139
140
141
142
143
144 public String getLastName( )
145 {
146 return _strLastName;
147 }
148
149
150
151
152
153
154
155 public void setLastName( String strLastName )
156 {
157 _strLastName = strLastName;
158 }
159
160
161
162
163
164
165 public String getEmail( )
166 {
167 return _strEmail;
168 }
169
170
171
172
173
174
175
176 public void setEmail( String strEmail )
177 {
178 _strEmail = strEmail;
179 }
180
181
182
183
184
185
186 public int getStatus( )
187 {
188 return _nStatus;
189 }
190
191
192
193
194
195
196
197 public void setStatus( int nStatus )
198 {
199 _nStatus = nStatus;
200 }
201
202
203
204
205
206
207 public int getUserLevel( )
208 {
209 return _nUserLevel;
210 }
211
212
213
214
215
216
217
218 public void setUserLevel( int nUserLevel )
219 {
220 _nUserLevel = nUserLevel;
221 }
222
223
224
225
226
227
228
229
230 public boolean setAdminUserFilter( HttpServletRequest request )
231 {
232 boolean bIsSearch = false;
233 String strIsSearch = request.getParameter( PARAMETER_SEARCH_IS_SEARCH );
234
235 if ( strIsSearch != null )
236 {
237 bIsSearch = true;
238 _strAccessCode = request.getParameter( PARAMETER_SEARCH_ACCESS_CODE );
239 _strFirstName = request.getParameter( PARAMETER_SEARCH_FIRST_NAME );
240 _strLastName = request.getParameter( PARAMETER_SEARCH_LAST_NAME );
241 _strEmail = request.getParameter( PARAMETER_SEARCH_EMAIL );
242
243 String strStatus = request.getParameter( PARAMETER_SEARCH_STATUS );
244 String strUserLevel = request.getParameter( PARAMETER_SEARCH_USER_LEVEL );
245
246 if ( CONSTANT_DEFAULT_LEVEL.equals( strStatus ) || CONSTANT_LEAST_ONE.equals( strStatus ) )
247 {
248 setStatus( -1 );
249 }
250 else
251 {
252 setStatus( Integer.valueOf( strStatus ) );
253 }
254
255 if ( ( strUserLevel == null ) || CONSTANT_DEFAULT_LEVEL.equals( strUserLevel ) || CONSTANT_LEAST_ONE.equals( strUserLevel ) )
256 {
257 setUserLevel( -1 );
258 }
259 else
260 {
261 setUserLevel( Integer.valueOf( strUserLevel ) );
262 }
263 }
264 else
265 {
266 init( );
267 }
268
269 return bIsSearch;
270 }
271
272
273
274
275
276
277
278 public void setUrlAttributes( UrlItem url )
279 {
280 url.addParameter( PARAMETER_SEARCH_IS_SEARCH, Boolean.TRUE.toString( ) );
281 url.addParameter( PARAMETER_SEARCH_USER_LEVEL, _nUserLevel );
282 url.addParameter( PARAMETER_SEARCH_STATUS, _nStatus );
283
284 try
285 {
286 url.addParameter( PARAMETER_SEARCH_ACCESS_CODE, URLEncoder.encode( _strAccessCode, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
287 url.addParameter( PARAMETER_SEARCH_FIRST_NAME, URLEncoder.encode( _strFirstName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
288 url.addParameter( PARAMETER_SEARCH_LAST_NAME, URLEncoder.encode( _strLastName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
289 url.addParameter( PARAMETER_SEARCH_EMAIL, URLEncoder.encode( _strEmail, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
290 }
291 catch( UnsupportedEncodingException e )
292 {
293 AppLogService.error( e.getMessage( ), e );
294 }
295 }
296
297
298
299
300
301
302 public String getUrlAttributes( )
303 {
304 StringBuilder sbUrlAttributes = new StringBuilder( );
305 sbUrlAttributes.append( PARAMETER_SEARCH_IS_SEARCH + CONSTANT_EQUAL ).append( Boolean.TRUE )
306 .append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_USER_LEVEL + CONSTANT_EQUAL ).append( _nUserLevel )
307 .append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_STATUS + CONSTANT_EQUAL ).append( _nStatus );
308
309 try
310 {
311 sbUrlAttributes.append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_ACCESS_CODE + CONSTANT_EQUAL )
312 .append( URLEncoder.encode( _strAccessCode, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) )
313 .append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_LAST_NAME + CONSTANT_EQUAL )
314 .append( URLEncoder.encode( _strLastName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) )
315 .append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_EMAIL + CONSTANT_EQUAL )
316 .append( URLEncoder.encode( _strEmail, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) )
317 .append( CONSTANT_AMPERSAND + PARAMETER_SEARCH_FIRST_NAME + CONSTANT_EQUAL )
318 .append( URLEncoder.encode( _strFirstName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
319 }
320 catch( UnsupportedEncodingException e )
321 {
322 AppLogService.error( e.getMessage( ), e );
323 }
324
325 return sbUrlAttributes.toString( );
326 }
327 }