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.mylutece.service;
35
36 import fr.paris.lutece.portal.service.daemon.Daemon;
37 import fr.paris.lutece.portal.service.util.AppLogService;
38
39 import java.util.List;
40 import java.util.Locale;
41
42
43
44
45 public abstract class AbstractAnonymizationDaemon extends Daemon
46 {
47 private static final String CONSTANT_NO_EXPIRED_USER = "There is no expired user to anonymize";
48 private static final String CONSTANT_FOUND_EXPIRED_USER_ANONYMIZED_START = "MyLuteceAnonymizationService - Expired users have been found. Begining anonymization...";
49
50
51
52
53
54
55 public abstract IAnonymizationService getAnonymizationService( );
56
57
58
59
60
61
62 public abstract String getDaemonName( );
63
64
65
66
67 @Override
68 public void run( )
69 {
70 IAnonymizationService anonymizationService = getAnonymizationService( );
71 Locale locale = Locale.getDefault( );
72 StringBuilder sbLogs = new StringBuilder( );
73 StringBuilder sbResult = new StringBuilder( );
74 List<Integer> expiredUserIdList = anonymizationService.getExpiredUserIdList( );
75
76 if ( ( expiredUserIdList != null ) && ( expiredUserIdList.size( ) > 0 ) )
77 {
78 int nbUserFound = expiredUserIdList.size( );
79 AppLogService.info( CONSTANT_FOUND_EXPIRED_USER_ANONYMIZED_START );
80
81 for ( Integer nIdUser : expiredUserIdList )
82 {
83 anonymizationService.anonymizeUser( nIdUser, locale );
84 AppLogService.info( getDaemonName( ) + " - User with id " + Integer.toString( nIdUser ) + " has been anonymized" );
85 }
86
87 sbLogs.append( getDaemonName( ) );
88 sbLogs.append( " - " );
89 sbLogs.append( nbUserFound );
90 sbLogs.append( " user(s) have been anonymized" );
91 AppLogService.info( sbLogs.toString( ) );
92 sbResult.append( sbLogs.toString( ) );
93 }
94 else
95 {
96 sbLogs.append( getDaemonName( ) );
97 sbLogs.append( " - " );
98 sbLogs.append( CONSTANT_NO_EXPIRED_USER );
99 AppLogService.info( sbLogs.toString( ) );
100 sbResult.append( sbLogs.toString( ) );
101 }
102
103 this.setLastRunLogs( sbResult.toString( ) );
104 }
105 }