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.service.search;
35
36 import fr.paris.lutece.plugins.announce.service.AnnouncePlugin;
37 import fr.paris.lutece.plugins.announce.service.announcesearch.AnnounceSearchService;
38 import fr.paris.lutece.plugins.announce.service.announcesearch.DefaultAnnounceIndexer;
39 import fr.paris.lutece.portal.service.message.SiteMessageException;
40 import fr.paris.lutece.portal.service.search.SearchIndexer;
41 import fr.paris.lutece.portal.service.util.AppPropertiesService;
42
43 import org.apache.lucene.document.Document;
44
45 import java.io.IOException;
46
47 import java.util.ArrayList;
48 import java.util.List;
49
50
51
52
53 public class AnnounceIndexer implements SearchIndexer
54 {
55 private static final String INDEXER_NAME = "announce.indexer.name";
56 private static final String INDEXER_DESCRIPTION = "announce.indexer.description";
57 private static final String INDEXER_VERSION = "announce.indexer.version";
58 private static final String PROPERTY_INDEXER_ENABLE = "announce.indexer.enable";
59 private static final String JSP_SEARCH_ANNOUNCE = "jsp/site/Portal.jsp?page=announce";
60
61
62
63
64 @Override
65 public List<Document> getDocuments( String strDocument ) throws IOException, InterruptedException, SiteMessageException
66 {
67 return DefaultAnnounceIndexer.getDocuments( strDocument );
68 }
69
70
71
72
73 @Override
74 public void indexDocuments( ) throws IOException, InterruptedException, SiteMessageException
75 {
76 AnnounceSearchService.getInstance( ).processIndexing( true );
77 DefaultAnnounceIndexer.getDocuments( "" );
78 }
79
80
81
82
83 @Override
84 public String getName( )
85 {
86 return AppPropertiesService.getProperty( INDEXER_NAME );
87 }
88
89
90
91
92 @Override
93 public String getVersion( )
94 {
95 return AppPropertiesService.getProperty( INDEXER_VERSION );
96 }
97
98
99
100
101 @Override
102 public String getDescription( )
103 {
104 return AppPropertiesService.getProperty( INDEXER_DESCRIPTION );
105 }
106
107
108
109
110 @Override
111 public boolean isEnable( )
112 {
113 String strEnable = AppPropertiesService.getProperty( PROPERTY_INDEXER_ENABLE, "true" );
114
115 return ( strEnable.equalsIgnoreCase( "true" ) );
116 }
117
118
119
120
121 @Override
122 public List<String> getListType( )
123 {
124 List<String> listType = new ArrayList<>( );
125 listType.add( AnnouncePlugin.PLUGIN_NAME );
126
127 return listType;
128 }
129
130
131
132
133 @Override
134 public String getSpecificSearchAppUrl( )
135 {
136 return JSP_SEARCH_ANNOUNCE;
137 }
138 }