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.elasticdata.modules.identity.service.listener;
35
36 import java.util.Map;
37
38 import org.apache.commons.lang3.StringUtils;
39
40 import fr.paris.lutece.plugins.elasticdata.business.IndexerAction;
41 import fr.paris.lutece.plugins.elasticdata.service.DataSourceIncrementalService;
42 import fr.paris.lutece.plugins.identitystore.business.identity.Identity;
43 import fr.paris.lutece.plugins.identitystore.business.identity.IdentityHome;
44 import fr.paris.lutece.plugins.identitystore.service.IdentityChangeListener;
45 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.common.RequestAuthor;
46 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityChangeType;
47 import fr.paris.lutece.plugins.identitystore.web.exception.IdentityStoreException;
48
49
50
51
52
53 public class IdentityIndexing implements IdentityChangeListener
54
55 {
56 private static final String SERVICE_NAME = "Elasticdata Identity IdentityChangeListener";
57
58
59
60 @Override
61 public String getName( )
62 {
63 return SERVICE_NAME;
64 }
65
66 @Override
67 public void processIdentityChange(IdentityChangeType identityChangeType, Identity identity, String statusCode,
68 String statusMessage, RequestAuthor author, String clientCode, Map<String, String> metadata)
69 throws IdentityStoreException
70 {
71 int nId = IdentityHome.findIdByCustomerId( identity.getCustomerId( ) );
72 if ( nId > 0 )
73 {
74 DataSourceIncrementalService.addTask( "IdentityDataSource", String.valueOf( nId ) , IndexerAction.TASK_CREATE );
75 }
76
77 }
78 }