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.service;
35
36 import fr.paris.lutece.plugins.rss.business.RssFeed;
37 import fr.paris.lutece.plugins.rss.business.RssFeedHome;
38 import fr.paris.lutece.plugins.rss.business.RssGeneratedFile;
39 import fr.paris.lutece.plugins.rss.business.resourceRss.IResourceRssFactory;
40 import fr.paris.lutece.portal.business.rss.IResourceRss;
41 import fr.paris.lutece.portal.business.rss.IResourceRssType;
42 import fr.paris.lutece.portal.service.i18n.I18nService;
43 import fr.paris.lutece.portal.service.spring.SpringContextService;
44 import fr.paris.lutece.portal.service.util.AppLogService;
45 import fr.paris.lutece.util.ReferenceList;
46
47 import java.util.Collection;
48 import java.util.List;
49 import java.util.Locale;
50
51
52
53
54
55
56 public class RssService implements IRssService
57 {
58 private static RssServicervice/RssService.html#RssService">RssService _singleton = new RssService( );
59 private static final String BEAN_RESOURCE_RSS_FACTORY = "resourceRssFactory";
60 private IResourceRssFactory _resourceRssFactory;
61
62
63
64
65
66 public void init( )
67 {
68 RssGeneratedFile.init( );
69 }
70
71
72
73
74
75
76 public static RssService getInstance( )
77 {
78 if ( _singleton == null )
79 {
80 _singleton = new RssService( );
81 }
82
83 return _singleton;
84 }
85
86
87
88
89
90
91 public String getRssContent( int nIdRssFeed )
92 {
93 String rssContent = "";
94
95 try
96 {
97 rssContent = RssContentLoader.fetchRssFeed( nIdRssFeed );
98 }
99 catch ( RssParsingException e )
100 {
101 AppLogService.error( e.getMessage( ) );
102 }
103
104 return rssContent;
105 }
106
107 public ReferenceList getRefListRssFeed( )
108 {
109 return RssFeedHome.getRssFeedsReferenceList( );
110 }
111
112 public static List<RssFeed> getRssFeed( )
113 {
114 return RssFeedHome.getRssFeeds( );
115 }
116
117
118
119
120
121 private IResourceRssFactory getResourceRssFactory( )
122 {
123 if ( _resourceRssFactory == null )
124 {
125 _resourceRssFactory = (IResourceRssFactory) SpringContextService.getPluginBean( RssPlugin.PLUGIN_NAME,
126 BEAN_RESOURCE_RSS_FACTORY );
127 }
128
129 return _resourceRssFactory;
130 }
131
132
133
134
135
136
137
138 public IResourceRss getResourceRssInstance( String strKey, Locale locale )
139 {
140 IResourceRss resourceRss = getResourceRssFactory( ).getResourceRss( strKey );
141 resourceRss.getResourceRssType( )
142 .setTitle( I18nService.getLocalizedString( resourceRss.getResourceRssType( ).getTitleI18nKey( ),
143 locale ) );
144
145 return resourceRss;
146 }
147
148
149
150
151
152 public Collection<IResourceRssType> getResourceRssTypeList( )
153 {
154 return getResourceRssFactory( ).getAllResourceRssType( );
155 }
156
157
158
159
160
161
162 public ReferenceList getRefListResourceRssType( Locale locale )
163 {
164 Collection<IResourceRssType> listResourceRssType = getResourceRssTypeList( );
165 ReferenceList refListResourceRssType = new ReferenceList( );
166
167 if ( listResourceRssType != null )
168 {
169 for ( IResourceRssType resourceRssType : listResourceRssType )
170 {
171 refListResourceRssType.addItem( resourceRssType.getKey( ),
172 I18nService.getLocalizedString( resourceRssType.getTitleI18nKey( ), locale ) );
173 }
174 }
175
176 return refListResourceRssType;
177 }
178 }