Skip to content

Commit b53cdef

Browse files
evdngslryahiaoui
authored andcommitted
LUT-29994 : Paginator injection setup in styles JspBeans
1 parent 0423621 commit b53cdef

File tree

2 files changed

+28
-39
lines changed

2 files changed

+28
-39
lines changed

src/java/fr/paris/lutece/portal/web/style/StylesJspBean.java

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
import java.util.List;
4040
import java.util.Map;
4141

42-
import jakarta.enterprise.context.SessionScoped;
42+
import jakarta.enterprise.context.RequestScoped;
43+
import jakarta.inject.Inject;
4344
import jakarta.inject.Named;
4445
import jakarta.servlet.http.HttpServletRequest;
4546

@@ -56,19 +57,18 @@
5657
import fr.paris.lutece.portal.service.message.AdminMessageService;
5758
import fr.paris.lutece.portal.service.security.SecurityTokenService;
5859
import fr.paris.lutece.portal.service.template.AppTemplateService;
59-
import fr.paris.lutece.portal.service.util.AppPropertiesService;
6060
import fr.paris.lutece.portal.web.admin.AdminFeaturesPageJspBean;
6161
import fr.paris.lutece.portal.web.constants.Messages;
6262
import fr.paris.lutece.portal.web.constants.Parameters;
63-
import fr.paris.lutece.portal.web.util.LocalizedPaginator;
64-
import fr.paris.lutece.util.html.AbstractPaginator;
63+
import fr.paris.lutece.portal.web.util.IPager;
64+
import fr.paris.lutece.portal.web.util.Pager;
6565
import fr.paris.lutece.util.html.HtmlTemplate;
6666
import fr.paris.lutece.util.sort.AttributeComparator;
6767

6868
/**
6969
* This class provides the user interface to manage Styles features
7070
*/
71-
@SessionScoped
71+
@RequestScoped
7272
@Named
7373
public class StylesJspBean extends AdminFeaturesPageJspBean
7474
{
@@ -91,8 +91,6 @@ public class StylesJspBean extends AdminFeaturesPageJspBean
9191
private static final String MARK_PORTLET_TYPE_LIST = "portlet_type_list";
9292
private static final String MARK_PORTAL_COMPONENT_LIST = "portal_component_list";
9393
private static final String MARK_STYLE = "style";
94-
private static final String MARK_PAGINATOR = "paginator";
95-
private static final String MARK_NB_ITEMS_PER_PAGE = "nb_items_per_page";
9694

9795
// Properties
9896
private static final String PROPERTY_STYLES_PER_PAGE = "paginator.style.itemsPerPage";
@@ -117,8 +115,10 @@ public class StylesJspBean extends AdminFeaturesPageJspBean
117115
private static final String MESSAGE_CREATE_STYLE_ID_ALREADY_EXISTS = "portal.style.message.createStyle.idAlreadyExists";
118116
private static final String MESSAGE_CREATE_STYLE_COMPONENT_EXISTS = "portal.style.message.createStyle.componentHasAlreadyAStyle";
119117
private static final String MESSAGE_CONFIRM_DELETE_STYLESHEET = "portal.style.message.stylesheetConfirmDelete";
120-
private int _nItemsPerPage;
121-
private String _strCurrentPageIndex;
118+
119+
@Inject
120+
@Pager( listBookmark = MARK_STYLE_LIST, defaultItemsPerPage = PROPERTY_STYLES_PER_PAGE)
121+
private IPager<Style, Void> pager;
122122

123123
/**
124124
* Displays the styles list
@@ -142,10 +142,7 @@ public String getStylesManagement( HttpServletRequest request )
142142

143143
Collections.sort( listStyles, new AttributeComparator( strSortedAttributeName, bIsAscSort ) );
144144
}
145-
146-
int defaultItemsPerPage = AppPropertiesService.getPropertyInt( PROPERTY_STYLES_PER_PAGE, 10 );
147-
_strCurrentPageIndex = AbstractPaginator.getPageIndex( request, AbstractPaginator.PARAMETER_PAGE_INDEX, _strCurrentPageIndex );
148-
_nItemsPerPage = AbstractPaginator.getItemsPerPage( request, AbstractPaginator.PARAMETER_ITEMS_PER_PAGE, _nItemsPerPage, defaultItemsPerPage );
145+
pager.setList( listStyles );
149146

150147
String strURL = getHomeUrl( request );
151148

@@ -158,15 +155,10 @@ public String getStylesManagement( HttpServletRequest request )
158155
{
159156
strURL += ( "&" + Parameters.SORTED_ASC + "=" + strAscSort );
160157
}
158+
pager.setBaseUrl( strURL );
161159

162-
LocalizedPaginator<Style> paginator = new LocalizedPaginator<>( listStyles, _nItemsPerPage, strURL, AbstractPaginator.PARAMETER_PAGE_INDEX,
163-
_strCurrentPageIndex, getLocale( ) );
164-
165-
Map<String, Object> model = new HashMap<>( );
166-
model.put( MARK_NB_ITEMS_PER_PAGE, "" + _nItemsPerPage );
167-
model.put( MARK_PAGINATOR, paginator );
168-
model.put( MARK_STYLE_LIST, paginator.getPageItems( ) );
169-
160+
Map<String, Object> model = pager.getPaginatedListModel( request, getLocale() );
161+
170162
HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_MANAGE_STYLES, getLocale( ), model );
171163

172164
return getAdminPage( template.getHtml( ) );

src/java/fr/paris/lutece/portal/web/stylesheet/StyleSheetJspBean.java

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
import java.util.List;
4444
import java.util.Map;
4545

46-
import jakarta.enterprise.context.SessionScoped;
46+
import jakarta.enterprise.context.RequestScoped;
47+
import jakarta.inject.Inject;
4748
import jakarta.inject.Named;
4849
import jakarta.servlet.http.HttpServletRequest;
4950
import javax.xml.parsers.SAXParser;
@@ -76,17 +77,17 @@
7677
import fr.paris.lutece.portal.web.constants.Messages;
7778
import fr.paris.lutece.portal.web.constants.Parameters;
7879
import fr.paris.lutece.portal.web.upload.MultipartHttpServletRequest;
79-
import fr.paris.lutece.portal.web.util.LocalizedPaginator;
80+
import fr.paris.lutece.portal.web.util.IPager;
81+
import fr.paris.lutece.portal.web.util.Pager;
8082
import fr.paris.lutece.util.ReferenceList;
8183
import fr.paris.lutece.util.file.FileUtil;
82-
import fr.paris.lutece.util.html.AbstractPaginator;
8384
import fr.paris.lutece.util.html.HtmlTemplate;
8485
import fr.paris.lutece.util.sort.AttributeComparator;
8586

8687
/**
8788
* This class provides the user interface to manage StyleSheet features
8889
*/
89-
@SessionScoped
90+
@RequestScoped
9091
@Named
9192
public class StyleSheetJspBean extends AdminFeaturesPageJspBean
9293
{
@@ -110,8 +111,6 @@ public class StyleSheetJspBean extends AdminFeaturesPageJspBean
110111
private static final String MARK_STYLESHEET_LIST = "stylesheet_list";
111112
private static final String MARK_STYLE_LIST = "style_list";
112113
private static final String MARK_STYLESHEET = "stylesheet";
113-
private static final String MARK_PAGINATOR = "paginator";
114-
private static final String MARK_NB_ITEMS_PER_PAGE = "nb_items_per_page";
115114
private static final String MARK_PORTAL_COMPONENT_NAME = "portal_component_name";
116115
private static final String MARK_PORTLET_TYPE_NAME = "portlet_type_name";
117116
private static final String MARK_STYLE_DESCRIPTION = "style_description";
@@ -131,9 +130,11 @@ public class StyleSheetJspBean extends AdminFeaturesPageJspBean
131130
private static final String LABEL_ALL = "portal.util.labelAll";
132131
private static final String JSP_DO_REMOVE_STYLESHEET = "jsp/admin/style/DoRemoveStyleSheet.jsp";
133132
private static final String JSP_REMOVE_STYLE = "RemoveStyle.jsp";
134-
private int _nItemsPerPage;
135-
private String _strCurrentPageIndex;
136133

134+
@Inject
135+
@Pager( listBookmark = MARK_STYLESHEET_LIST, defaultItemsPerPage = PROPERTY_STYLESHEETS_PER_PAGE)
136+
private IPager<StyleSheet, Void> pager;
137+
137138
/**
138139
* Displays the stylesheets list
139140
*
@@ -165,11 +166,9 @@ public String getManageStyleSheet( HttpServletRequest request )
165166
boolean bIsAscSort = Boolean.parseBoolean( strAscSort );
166167

167168
Collections.sort( listStyleSheets, new AttributeComparator( strSortedAttributeName, bIsAscSort ) );
169+
168170
}
169-
170-
int defaultItemsPerPage = AppPropertiesService.getPropertyInt( PROPERTY_STYLESHEETS_PER_PAGE, 50 );
171-
_strCurrentPageIndex = AbstractPaginator.getPageIndex( request, AbstractPaginator.PARAMETER_PAGE_INDEX, _strCurrentPageIndex );
172-
_nItemsPerPage = AbstractPaginator.getItemsPerPage( request, AbstractPaginator.PARAMETER_ITEMS_PER_PAGE, _nItemsPerPage, defaultItemsPerPage );
171+
pager.setList( listStyleSheets);
173172

174173
String strURL = getHomeUrl( request );
175174

@@ -182,16 +181,14 @@ public String getManageStyleSheet( HttpServletRequest request )
182181
{
183182
strURL += ( "&" + Parameters.SORTED_ASC + "=" + strAscSort );
184183
}
184+
pager.setBaseUrl( strURL );
185185

186-
LocalizedPaginator<StyleSheet> paginator = new LocalizedPaginator<>( listStyleSheets, _nItemsPerPage, strURL, AbstractPaginator.PARAMETER_PAGE_INDEX,
187-
_strCurrentPageIndex, getLocale( ) );
188-
186+
Map<String, Object> pagerModel = pager.getPaginatedListModel( request, getLocale() );
187+
189188
Map<String, Object> model = new HashMap<>( );
190189
model.put( MARK_MODE_ID, strModeId );
191-
model.put( MARK_NB_ITEMS_PER_PAGE, "" + _nItemsPerPage );
192-
model.put( MARK_PAGINATOR, paginator );
193-
model.put( MARK_STYLESHEET_LIST, paginator.getPageItems( ) );
194190
model.put( MARK_MODE_LIST, listModes );
191+
model.putAll( pagerModel );
195192

196193
HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_MANAGE_STYLESHEETS, getLocale( ), model );
197194

0 commit comments

Comments
 (0)