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.rss.web;
35
36 import fr.paris.lutece.plugins.rss.business.RssGeneratedFile;
37 import fr.paris.lutece.plugins.rss.business.RssGeneratedFileHome;
38 import fr.paris.lutece.portal.service.content.PageData;
39 import fr.paris.lutece.portal.service.includes.PageInclude;
40 import fr.paris.lutece.portal.service.template.AppTemplateService;
41 import fr.paris.lutece.portal.service.util.AppPathService;
42 import fr.paris.lutece.util.html.HtmlTemplate;
43
44 import java.io.File;
45
46 import java.util.ArrayList;
47 import java.util.Collection;
48 import java.util.HashMap;
49 import java.util.List;
50 import java.util.Locale;
51 import java.util.Map;
52
53 import javax.servlet.http.HttpServletRequest;
54
55
56
57
58
59 public class RssInclude implements PageInclude
60 {
61
62
63
64 private static final String MARK_RSS = "rss";
65
66
67
68
69 private static final String MARK_RSS_FILES_LIST = "rss_list";
70
71
72
73
74 private static final String TEMPLATE_RSS_INCLUDE = "skin/plugins/rss/rss_include.html";
75
76
77
78
79
80
81
82
83 public void fillTemplate( Map<String, Object> rootModel, PageData data, int nMode, HttpServletRequest request )
84 {
85 HashMap<String, Collection<RssGeneratedFile>> model = new HashMap<String, Collection<RssGeneratedFile>>( );
86 List<RssGeneratedFile> listRssGeneratedFile = RssGeneratedFileHome.getRssFileList( );
87 List<RssGeneratedFile> listRemove = new ArrayList<RssGeneratedFile>( );
88
89 for ( RssGeneratedFile rssGeneratedFile : listRssGeneratedFile )
90 {
91 File file = new File( AppPathService.getWebAppPath( ) + "/plugins/rss/" + rssGeneratedFile.getName( ) );
92
93 if ( !file.exists( ) )
94 {
95 listRemove.add( rssGeneratedFile );
96 }
97 }
98
99 listRssGeneratedFile.removeAll( listRemove );
100 model.put( MARK_RSS_FILES_LIST, listRssGeneratedFile );
101
102 HtmlTemplate templateList = AppTemplateService.getTemplate( TEMPLATE_RSS_INCLUDE, Locale.getDefault( ), model );
103 rootModel.put( MARK_RSS, templateList.getHtml( ) );
104 }
105 }