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.resource.modules.mylutece.service.provider;
35
36 import fr.paris.lutece.plugins.resource.business.IResource;
37 import fr.paris.lutece.plugins.resource.business.IResourceType;
38 import fr.paris.lutece.plugins.resource.business.ResourceTypeDefaultImplementation;
39 import fr.paris.lutece.plugins.resource.modules.mylutece.business.MyLuteceResource;
40 import fr.paris.lutece.plugins.resource.service.ResourceCacheService;
41 import fr.paris.lutece.plugins.resource.service.provider.IResourceProvider;
42 import fr.paris.lutece.portal.service.i18n.I18nService;
43 import fr.paris.lutece.portal.service.security.LuteceUser;
44 import fr.paris.lutece.portal.service.security.LuteceUserService;
45
46 import java.util.ArrayList;
47 import java.util.List;
48 import java.util.Locale;
49
50
51
52
53 public class MyLuteceResourceProvider implements IResourceProvider
54 {
55 private static final String MESSAGE_LUTECE_USER_DESCRIPTION = "module.resource.mylutece.luteceUserDescription";
56
57 private List<IResourceType> _listResourceType;
58 private IResourceType _resourceType;
59
60
61
62
63 public MyLuteceResourceProvider( )
64 {
65 _listResourceType = new ArrayList<IResourceType>( 1 );
66 _resourceType = new ResourceTypeDefaultImplementation( MyLuteceResource.LUTECE_USER_RESOURCE_TYPE,
67 I18nService.getLocalizedString( MESSAGE_LUTECE_USER_DESCRIPTION, Locale.getDefault( ) ) );
68 _listResourceType.add( _resourceType );
69 }
70
71
72
73
74 @Override
75 public List<IResourceType> getResourceTypeList( )
76 {
77 return _listResourceType;
78 }
79
80
81
82
83 @Override
84 public boolean isResourceTypeManaged( String strResourceTypeName )
85 {
86 return MyLuteceResource.LUTECE_USER_RESOURCE_TYPE.equals( strResourceTypeName );
87 }
88
89
90
91
92 @Override
93 public IResource getResource( String strIdResource, String strResourceTypeName )
94 {
95 String strCacheKey = ResourceCacheService.getResourceCacheKey( strIdResource, strResourceTypeName );
96 MyLuteceResource../../../../../fr/paris/lutece/plugins/resource/modules/mylutece/business/MyLuteceResource.html#MyLuteceResource">MyLuteceResource resource = (MyLuteceResource) ResourceCacheService.getInstance( ).getFromCache( strCacheKey );
97 if ( resource == null )
98 {
99 LuteceUser user = LuteceUserService.getLuteceUserFromName( strIdResource );
100 if ( user != null )
101 {
102 resource = new MyLuteceResource( user );
103 ResourceCacheService.getInstance( ).putInCache( strCacheKey, resource );
104 }
105 }
106 return resource;
107 }
108
109
110
111
112 @Override
113 public List<IResource> getListResources( String strResourceTypeName )
114 {
115
116 return new ArrayList<IResource>( 0 );
117 }
118 }