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.workflow.modules.archive.service;
35
36 import java.util.List;
37
38 import fr.paris.lutece.plugins.workflowcore.business.resource.ResourceHistory;
39 import fr.paris.lutece.plugins.workflowcore.business.resource.ResourceWorkflow;
40 import fr.paris.lutece.plugins.workflowcore.service.task.ITask;
41
42
43
44
45 public class WorkflowAnonymizeArchiveProcessingService extends AbstractArchiveProcessingService
46 {
47 public static final String BEAN_NAME = "workflow.workflowAnonymizeArchiveProcessingService";
48 private static final String ANONYMOUS = "Anonymous";
49
50 @Override
51 public void archiveResource( ResourceWorkflow resourceWorkflow )
52 {
53 List<ResourceHistory> historyList = getListHistoryByResource( resourceWorkflow );
54
55 for ( ResourceHistory history : historyList )
56 {
57 for ( ITask task : getAllTaskByHistory( history ) )
58 {
59 task.doAnonymizeTaskInformation( history.getId( ) );
60 }
61 }
62
63 archiveResourceAndHistory( resourceWorkflow );
64 }
65
66 private void archiveResourceAndHistory( ResourceWorkflow resourceWorkflow )
67 {
68 List<ResourceHistory> resourceHistories = getListHistoryByResource( resourceWorkflow );
69 for ( ResourceHistory history : resourceHistories )
70 {
71 history.setUserAccessCode( ANONYMOUS );
72 if ( history.getResourceUserHistory( ) != null )
73 {
74 history.getResourceUserHistory( ).setFirstName( ANONYMOUS );
75 history.getResourceUserHistory( ).setLastName( ANONYMOUS );
76 history.getResourceUserHistory( ).setEmail( ANONYMOUS );
77 history.getResourceUserHistory( ).setUserAccessCode( ANONYMOUS );
78 }
79 _resourceHistoryService.update( history );
80 }
81 }
82 }