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.announce.business.portlet;
35
36 import fr.paris.lutece.plugins.announce.business.AnnounceHome;
37 import fr.paris.lutece.plugins.announce.business.AnnounceSort;
38 import fr.paris.lutece.plugins.announce.web.AnnounceApp;
39 import fr.paris.lutece.portal.business.portlet.PortletHtmlContent;
40 import fr.paris.lutece.portal.service.template.AppTemplateService;
41 import fr.paris.lutece.util.html.HtmlTemplate;
42
43 import org.apache.commons.lang3.StringUtils;
44
45 import java.util.HashMap;
46 import java.util.List;
47 import java.util.Map;
48
49 import javax.servlet.http.HttpServletRequest;
50
51
52
53
54 public class LastAnnouncesPortlet extends PortletHtmlContent
55 {
56
57
58 private static final String TEMPLATE_PORTLET_CONTENT = "skin/plugins/announce/portletlastannounces_content.html";
59 private static final String MARK_PORTLET = "portlet";
60 private static final String MARK_CONTENT = "content";
61 private int _nNbAnnouncesToDisplay;
62
63
64
65
66 public LastAnnouncesPortlet( )
67 {
68 setPortletTypeId( MyAnnouncesPortletHome.getInstance( ).getPortletTypeId( ) );
69 }
70
71
72
73
74
75
76 public int getNbAnnouncesToDisplay( )
77 {
78 return _nNbAnnouncesToDisplay;
79 }
80
81
82
83
84
85
86
87 public void setNbAnnouncesToDisplay( int nNbAnnouncesToDisplay )
88 {
89 this._nNbAnnouncesToDisplay = nNbAnnouncesToDisplay;
90 }
91
92
93
94
95 @Override
96 public String getHtmlContent( HttpServletRequest request )
97 {
98 if ( request != null )
99 {
100 AnnounceSort announceSort = AnnounceSort.getAnnounceSort( AnnounceSort.SORT_DATE_CREATION, false );
101 List<Integer> listAllIdAnnounces = AnnounceHome.findAllPublishedId( announceSort );
102
103 String strContent = AnnounceApp.getAnnounceListById( request, ( getNbAnnouncesToDisplay( ) > listAllIdAnnounces.size( ) ) ? listAllIdAnnounces
104 : listAllIdAnnounces.subList( 0, getNbAnnouncesToDisplay( ) ), announceSort );
105
106 Map<String, Object> model = new HashMap<>( );
107 model.put( MARK_PORTLET, this );
108 model.put( MARK_CONTENT, strContent );
109
110 HtmlTemplate template = AppTemplateService.getTemplate( TEMPLATE_PORTLET_CONTENT, request.getLocale( ), model );
111
112 return template.getHtml( );
113 }
114
115 return StringUtils.EMPTY;
116 }
117
118
119
120
121 public void update( )
122 {
123 LastAnnouncesPortletHome.getInstance( ).update( this );
124 }
125
126
127
128
129 @Override
130 public void remove( )
131 {
132 LastAnnouncesPortletHome.getInstance( ).remove( this );
133 }
134 }