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 }