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.identitystore.service.contract;
35
36 import fr.paris.lutece.plugins.identitystore.business.referentiel.RefAttributeCertificationLevel;
37 import fr.paris.lutece.plugins.identitystore.business.referentiel.RefAttributeCertificationProcessus;
38 import fr.paris.lutece.plugins.identitystore.business.referentiel.RefAttributeCertificationProcessusHome;
39 import fr.paris.lutece.plugins.identitystore.cache.RefAttributeCertificationDefinitionCache;
40 import fr.paris.lutece.portal.service.spring.SpringContextService;
41
42 import java.util.List;
43
44 public class AttributeCertificationDefinitionService
45 {
46 private final RefAttributeCertificationDefinitionCache _cache = SpringContextService.getBean( "identitystore.refAttributeCertificationDefinitionCache" );
47
48 private static AttributeCertificationDefinitionService _instance;
49
50 public static AttributeCertificationDefinitionService instance( )
51 {
52 if ( _instance == null )
53 {
54 _instance = new AttributeCertificationDefinitionService( );
55 _instance._cache.refresh( );
56 }
57 return _instance;
58 }
59
60 private AttributeCertificationDefinitionService( )
61 {
62 }
63
64 public RefAttributeCertificationLevel get( final String processusCode, final String attributeKeyName )
65 {
66 return _cache.get( processusCode, attributeKeyName );
67 }
68
69 public Integer getLevelAsInteger( final String processusCode, final String attributeKeyName )
70 {
71 return Integer.valueOf( this.getLevelAsString( processusCode, attributeKeyName ) );
72 }
73
74 public String getLevelAsString( final String processusCode, final String attributeKeyName )
75 {
76 final RefAttributeCertificationLevel refAttributeCertificationLevel = this.get( processusCode, attributeKeyName );
77 if ( refAttributeCertificationLevel != null )
78 {
79 return refAttributeCertificationLevel.getRefCertificationLevel( ).getLevel( );
80 }
81 return "0";
82 }
83
84 public void addRefAttributeCertificationLevels( final List<RefAttributeCertificationLevel> refAttributeCertificationLevelList )
85 {
86 refAttributeCertificationLevelList.forEach( level -> _cache.put( level ) );
87 RefAttributeCertificationProcessusHome.addRefAttributeCertificationLevels( refAttributeCertificationLevelList );
88 }
89
90
91
92
93
94
95 public void removeRefAttributeCertificationLevels( final RefAttributeCertificationProcessus processus )
96 {
97 RefAttributeCertificationProcessusHome.selectAttributeLevels( processus ).forEach( level -> _cache.remove( level ) );
98 RefAttributeCertificationProcessusHome.removeProcessusLevels( processus.getId( ) );
99 }
100 }