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