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 GroupFilter
50 {
51
52 private static final String EQUAL = "=";
53 private static final String AMPERSAND = "&";
54
55
56 private static final String PARAMETER_SEARCH_IS_SEARCH = "search_is_search";
57 private static final String PARAMETER_SEARCH_KEY = "search_key";
58 private static final String PARAMETER_SEARCH_DESCRIPTION = "search_description";
59
60
61 private static final String PROPERTY_ENCODING_URL = "lutece.encoding.url";
62 private String _strKey;
63 private String _strDescription;
64
65
66
67
68 public void init( )
69 {
70 _strKey = "";
71 _strDescription = "";
72 }
73
74
75
76
77
78
79 public String getKey( )
80 {
81 return _strKey;
82 }
83
84
85
86
87
88
89
90 public void setKey( String strKey )
91 {
92 _strKey = strKey;
93 }
94
95
96
97
98
99
100 public String getDescription( )
101 {
102 return _strDescription;
103 }
104
105
106
107
108
109
110
111 public void setDescription( String strDescription )
112 {
113 _strDescription = strDescription;
114 }
115
116
117
118
119
120
121 public String getWorkgroup( )
122 {
123 return getKey( );
124 }
125
126
127
128
129
130
131
132
133 public boolean setGroupFilter( HttpServletRequest request )
134 {
135 boolean bIsSearch = false;
136 String strIsSearch = request.getParameter( PARAMETER_SEARCH_IS_SEARCH );
137
138 if ( strIsSearch != null )
139 {
140 bIsSearch = true;
141 _strKey = request.getParameter( PARAMETER_SEARCH_KEY );
142 _strDescription = request.getParameter( PARAMETER_SEARCH_DESCRIPTION );
143 }
144 else
145 {
146 init( );
147 }
148
149 return bIsSearch;
150 }
151
152
153
154
155
156
157
158 public void setUrlAttributes( UrlItem url )
159 {
160 url.addParameter( PARAMETER_SEARCH_IS_SEARCH, Boolean.TRUE.toString( ) );
161
162 try
163 {
164 url.addParameter( PARAMETER_SEARCH_KEY, URLEncoder.encode( _strKey, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
165 url.addParameter( PARAMETER_SEARCH_DESCRIPTION, URLEncoder.encode( _strDescription, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
166 }
167 catch( UnsupportedEncodingException e )
168 {
169 AppLogService.error( e );
170 }
171 }
172
173
174
175
176
177
178 public String getUrlAttributes( )
179 {
180 StringBuilder sbUrlAttributes = new StringBuilder( );
181 sbUrlAttributes.append( PARAMETER_SEARCH_IS_SEARCH + EQUAL + Boolean.TRUE );
182
183 try
184 {
185 sbUrlAttributes.append(
186 AMPERSAND + PARAMETER_SEARCH_KEY + EQUAL + URLEncoder.encode( _strKey, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
187 sbUrlAttributes.append( AMPERSAND + PARAMETER_SEARCH_DESCRIPTION + EQUAL
188 + URLEncoder.encode( _strDescription, AppPropertiesService.getProperty( PROPERTY_ENCODING_URL ) ) );
189 }
190 catch( UnsupportedEncodingException e )
191 {
192 AppLogService.error( e );
193 }
194
195 return sbUrlAttributes.toString( );
196 }
197 }