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.dila.daemon;
35
36 import org.apache.log4j.Logger;
37
38 import fr.paris.lutece.plugins.dila.exception.DilaException;
39 import fr.paris.lutece.plugins.dila.service.IDilaDownloadService;
40 import fr.paris.lutece.plugins.dila.service.IDilaExtractService;
41 import fr.paris.lutece.plugins.dila.service.IDilaIndexationService;
42 import fr.paris.lutece.portal.service.daemon.Daemon;
43 import fr.paris.lutece.portal.service.spring.SpringContextService;
44
45
46
47
48
49 public class DilaXmlDaemon extends Daemon
50 {
51 private static final Logger LOGGER = Logger.getLogger( DilaXmlDaemon.class );
52 private IDilaDownloadService _dilaDownloadService;
53 private IDilaExtractService _dilaExtractService;
54 private IDilaIndexationService _dilaIndexationService;
55
56 @Override
57 public void run( )
58 {
59 StringBuilder sb = new StringBuilder( );
60 setServices( );
61
62 try
63 {
64 _dilaDownloadService.downloadAll( );
65 sb.append( "1 - Download of archives done." );
66 sb.append( "\n" );
67 _dilaExtractService.extractAll( );
68 sb.append( "2 - Extraction of archives done." );
69 sb.append( "\n" );
70 _dilaIndexationService.indexAll( );
71 sb.append( "3 - Indexing of archives done." );
72 sb.append( "\n" );
73 }
74 catch ( DilaException e )
75 {
76 LOGGER.error( "Error during Dila Daemon execution", e );
77 sb.append( e.getMessage( ) );
78 sb.append( "\n" );
79 }
80
81 setLastRunLogs( sb.toString( ) );
82 }
83
84
85
86
87 private void setServices( )
88 {
89 if ( _dilaDownloadService == null )
90 {
91 _dilaDownloadService = SpringContextService.getBean( "dilaDownloadService" );
92 }
93
94 if ( _dilaExtractService == null )
95 {
96 _dilaExtractService = SpringContextService.getBean( "dilaExtractService" );
97 }
98
99 if ( _dilaIndexationService == null )
100 {
101 _dilaIndexationService = SpringContextService.getBean( "dilaIndexationService" );
102 }
103 }
104 }