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.avatarserver.service;
35
36 import fr.paris.lutece.plugins.avatarserver.business.Avatar;
37 import fr.paris.lutece.plugins.avatarserver.business.AvatarHome;
38 import fr.paris.lutece.portal.service.image.ImageResource;
39 import fr.paris.lutece.portal.service.image.ImageResourceManager;
40 import fr.paris.lutece.portal.service.image.ImageResourceProvider;
41 import fr.paris.lutece.portal.web.constants.Parameters;
42 import fr.paris.lutece.util.url.UrlItem;
43
44
45
46
47
48 public class AvatarResourceProvider implements ImageResourceProvider
49 {
50 private static final String PLUGIN_NAME = "avatarserver";
51 private static AvatarResourceProvider _singleton = new AvatarResourceProvider( );
52 private static final String IMAGE_RESOURCE_TYPE_ID = "avatar_img";
53
54
55
56
57 AvatarResourceProvider( )
58 {
59 }
60
61
62
63
64 public void register( )
65 {
66 ImageResourceManager.registerProvider( this );
67 }
68
69
70
71
72
73
74 public static AvatarResourceProvider getInstance( )
75 {
76 return _singleton;
77 }
78
79
80
81
82
83
84
85
86 @Override
87 public ImageResource getImageResource( int nIdResource )
88 {
89 Avatar avatar = AvatarHome.findByPrimaryKey( nIdResource );
90
91 if ( avatar != null )
92 {
93 ImageResource imageResource = new ImageResource( );
94 imageResource.setImage( avatar.getValue( ) );
95 imageResource.setMimeType( avatar.getMimeType( ) );
96
97 return imageResource;
98 }
99
100 return null;
101 }
102
103
104
105
106
107
108 @Override
109 public String getResourceTypeId( )
110 {
111 return IMAGE_RESOURCE_TYPE_ID;
112 }
113
114
115
116
117
118
119
120
121 public static String getResourceImageEntryUrl( int nEntryUrl )
122 {
123 String strResourceType = AvatarResourceProvider.getInstance( ).getResourceTypeId( );
124 UrlItem url = new UrlItem( Parameters.IMAGE_SERVLET );
125 url.addParameter( Parameters.RESOURCE_TYPE, strResourceType );
126 url.addParameter( Parameters.RESOURCE_ID, Integer.toString( nEntryUrl ) );
127
128 return url.getUrlWithEntity( );
129 }
130 }