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.blog.business.portlet;
35
36 import fr.paris.lutece.portal.service.util.AppPropertiesService;
37
38
39
40
41
42
43
44 public class PortletFilter
45 {
46 public static final String CONSTANTE_SPACE_STRING = " ";
47 public static final String PAGE_NAME = AppPropertiesService.getProperty( "blog.filter.page_name", "page_name" );
48 public static final String PORTLET_NAME = AppPropertiesService.getProperty( "blog.filter.portlet_name", "portlet_name" );
49 public static final String PAGE_ID = AppPropertiesService.getProperty( "blog.filter.page_id", "page_id" );
50 public static final int PROPERTY_NUMBER_OF_MAX_LATEST_PORTLETS_DISPLAY = AppPropertiesService
51 .getPropertyInt( "blog.filter.number_of_max_latest_portlets_display", 10 );
52 private static final String SQL_FILTER_PAGE_NAME = " f.name LIKE ? ";
53 private static final String SQL_FILTER_BY_PAGE_ID = " a.id_page=? ";
54 private static final String SQL_FILTER_BY_PORTLET_NAME = " a.name LIKE ? ";
55 private boolean _bIsDisplayLatestPortlets;
56 private String [ ] _aPageName;
57 private String [ ] _aPortletName;
58 private Integer _nIdPage;
59 private String _portletFilterType;
60 private String _strSearchValue;
61
62
63
64
65
66
67
68 public void setPageName( String [ ] aPageTitle )
69 {
70 _aPageName = aPageTitle;
71 }
72
73
74
75
76
77
78 public String [ ] getPageName( )
79 {
80 return _aPageName;
81 }
82
83
84
85
86
87
88
89 public void setPortletName( String [ ] aPortletTitle )
90 {
91 _aPortletName = aPortletTitle;
92 }
93
94
95
96
97
98
99 public String [ ] getPortletName( )
100 {
101 return _aPortletName;
102 }
103
104
105
106
107
108
109
110 public void setIdPage( Integer nIdPage )
111 {
112 _nIdPage = nIdPage;
113 }
114
115
116
117
118
119
120 public Integer getIdPage( )
121 {
122 return _nIdPage;
123 }
124
125
126
127
128
129
130
131 public void setDisplayLatestPortlets( boolean bIsDisplayLatestPortlets )
132 {
133 _bIsDisplayLatestPortlets = bIsDisplayLatestPortlets;
134 }
135
136
137
138
139
140
141 public boolean isDisplayLatestPortlets( )
142 {
143 return _bIsDisplayLatestPortlets;
144 }
145
146
147
148
149
150
151
152 public void setPortletFilterType( String portletFilterType )
153 {
154 _portletFilterType = portletFilterType;
155 }
156
157
158
159
160
161
162 public String getPortletFilterType( )
163 {
164 return _portletFilterType;
165 }
166
167
168
169
170
171
172 public String getSQLFilter( )
173 {
174 if ( ( _portletFilterType != null ) && !_bIsDisplayLatestPortlets )
175 {
176 StringBuilder sbSQL = new StringBuilder( );
177
178 if ( _portletFilterType.equals( PAGE_NAME ) && ( _aPageName != null ) )
179 {
180 sbSQL.append( " ( " );
181
182 for ( int i = 0; i < _aPageName.length; i++ )
183 {
184 sbSQL.append( SQL_FILTER_PAGE_NAME );
185
186 if ( i != ( _aPageName.length - 1 ) )
187 {
188 sbSQL.append( " OR " );
189 }
190 }
191
192 sbSQL.append( " ) " );
193 }
194 else
195 if ( _portletFilterType.equals( PORTLET_NAME ) && ( _aPortletName != null ) )
196 {
197 sbSQL.append( " ( " );
198
199 for ( int i = 0; i < _aPortletName.length; i++ )
200 {
201 sbSQL.append( SQL_FILTER_BY_PORTLET_NAME );
202
203 if ( i != ( _aPortletName.length - 1 ) )
204 {
205 sbSQL.append( " OR " );
206 }
207 }
208
209 sbSQL.append( " ) " );
210 }
211 else
212 if ( _portletFilterType.equals( PAGE_ID ) && ( _nIdPage != null ) )
213 {
214 sbSQL.append( SQL_FILTER_BY_PAGE_ID );
215 }
216
217 return sbSQL.toString( );
218 }
219
220 return null;
221 }
222
223
224
225
226
227
228
229 public void setSearchValue( String strSearchValue )
230 {
231 _strSearchValue = strSearchValue;
232 }
233
234
235
236
237
238
239 public String getSearchValue( )
240 {
241 return _strSearchValue;
242 }
243 }