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.util.AppLogService;
37 import fr.paris.lutece.portal.service.util.AppPropertiesService;
38 import fr.paris.lutece.util.url.UrlItem;
39
40 import java.io.UnsupportedEncodingException;
41
42 import java.net.URLEncoder;
43
44 import javax.servlet.http.HttpServletRequest;
45
46
47
48
49 public class DatabaseUserFilter
50 {
51
52 private static final String EQUAL = "=";
53 private static final String AMPERSAND = "&";
54
55
56 private static final String PARAMETER_SEARCH_LOGIN = "search_login";
57 private static final String PARAMETER_SEARCH_LAST_NAME = "search_last_name";
58 private static final String PARAMETER_SEARCH_FIRST_NAME = "search_first_name";
59 private static final String PARAMETER_SEARCH_EMAIL = "search_email";
60 private static final String PARAMETER_SEARCH_IS_SEARCH = "search_is_search";
61
62
63 private static final String PROPERTY_ENCODING_URL = "lutece.encoding.url";
64 private String _strLogin;
65 private String _strLastName;
66 private String _strFirstName;
67 private String _strEmail;
68
69
70
71
72 public void init( )
73 {
74 _strLogin = "";
75 _strLastName = "";
76 _strFirstName = "";
77 _strEmail = "";
78 }
79
80
81
82
83
84
85 public String getLogin( )
86 {
87 return _strLogin;
88 }
89
90
91
92
93
94
95
96 public void setAccessCode( String strAccessCode )
97 {
98 _strLogin = strAccessCode;
99 }
100
101
102
103
104
105
106 public String getLastName( )
107 {
108 return _strLastName;
109 }
110
111
112
113
114
115
116
117 public void setLastName( String strLastName )
118 {
119 _strLastName = strLastName;
120 }
121
122
123
124
125
126
127 public String getFirstName( )
128 {
129 return _strFirstName;
130 }
131
132
133
134
135
136
137
138 public void setFirstName( String strFirstName )
139 {
140 _strFirstName = strFirstName;
141 }
142
143
144
145
146
147
148 public String getEmail( )
149 {
150 return _strEmail;
151 }
152
153
154
155
156
157
158
159 public void setEmail( String strEmail )
160 {
161 _strEmail = strEmail;
162 }
163
164
165
166
167
168
169
170
171 public boolean setDatabaseUserFilter( HttpServletRequest request )
172 {
173 boolean bIsSearch = false;
174 String strIsSearch = request.getParameter( PARAMETER_SEARCH_IS_SEARCH );
175
176 if ( strIsSearch != null )
177 {
178 bIsSearch = true;
179 _strLogin = request.getParameter( PARAMETER_SEARCH_LOGIN );
180 _strLastName = request.getParameter( PARAMETER_SEARCH_LAST_NAME );
181 _strFirstName = request.getParameter( PARAMETER_SEARCH_FIRST_NAME );
182 _strEmail = request.getParameter( PARAMETER_SEARCH_EMAIL );
183 }
184 else
185 {
186 init( );
187 }
188
189 return bIsSearch;
190 }
191
192
193
194
195
196
197
198 public void setUrlAttributes( UrlItem url )
199 {
200 url.addParameter( PARAMETER_SEARCH_IS_SEARCH, Boolean.TRUE.toString( ) );
201
202 try
203 {
204 url.addParameter( PARAMETER_SEARCH_LOGIN, URLEncoder.encode( _strLogin, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
205 url.addParameter( PARAMETER_SEARCH_LAST_NAME, URLEncoder.encode( _strLastName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
206 url.addParameter( PARAMETER_SEARCH_FIRST_NAME, URLEncoder.encode( _strFirstName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
207 url.addParameter( PARAMETER_SEARCH_EMAIL, URLEncoder.encode( _strEmail, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
208 }
209 catch( UnsupportedEncodingException e )
210 {
211 AppLogService.error( e );
212 }
213 }
214
215
216
217
218
219
220 public String getUrlAttributes( )
221 {
222 StringBuilder sbUrlAttributes = new StringBuilder( );
223 sbUrlAttributes.append( PARAMETER_SEARCH_IS_SEARCH + EQUAL + Boolean.TRUE );
224
225 try
226 {
227 sbUrlAttributes.append(
228 AMPERSAND + PARAMETER_SEARCH_LOGIN + EQUAL + URLEncoder.encode( _strLogin, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
229 sbUrlAttributes.append( AMPERSAND + PARAMETER_SEARCH_LAST_NAME + EQUAL
230 + URLEncoder.encode( _strLastName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
231 sbUrlAttributes.append( AMPERSAND + PARAMETER_SEARCH_FIRST_NAME + EQUAL
232 + URLEncoder.encode( _strFirstName, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
233 sbUrlAttributes.append(
234 AMPERSAND + PARAMETER_SEARCH_EMAIL + EQUAL + URLEncoder.encode( _strEmail, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
235 }
236 catch( UnsupportedEncodingException e )
237 {
238 AppLogService.error( e );
239 }
240
241 return sbUrlAttributes.toString( );
242 }
243 }