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