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.genericattributes.service;
35
36 import fr.paris.lutece.plugins.genericattributes.business.Response;
37 import fr.paris.lutece.plugins.genericattributes.business.ResponseHome;
38 import fr.paris.lutece.plugins.genericattributes.service.file.GenericAttributeFileService;
39 import fr.paris.lutece.portal.business.file.File;
40 import fr.paris.lutece.portal.service.image.ImageResource;
41 import fr.paris.lutece.portal.service.image.ImageResourceProvider;
42 import fr.paris.lutece.util.file.FileUtil;
43 import fr.paris.lutece.util.url.UrlItem;
44
45
46
47
48 public class ResponseImageResourceProvider implements ImageResourceProvider
49 {
50
51
52
53 @Override
54 public String getResourceTypeId( )
55 {
56 return Response.RESOURCE_TYPE;
57 }
58
59
60
61
62 @Override
63 public ImageResource getImageResource( int nIdResource )
64 {
65 Response response = ResponseHome.findByPrimaryKey( nIdResource );
66
67 if ( response.getFile( ) != null )
68 {
69 File file = GenericAttributeFileService.getInstance().load( response.getFile( ).getFileKey( ) );
70
71 if ( ( file.getPhysicalFile( ) != null ) && FileUtil.hasImageExtension( file.getTitle( ) ) )
72 {
73 ImageResource image = new ImageResource( );
74 image.setImage( file.getPhysicalFile( ).getValue( ) );
75 image.setMimeType( file.getMimeType( ) );
76
77 return image;
78 }
79 }
80
81 return null;
82 }
83
84
85
86
87
88
89
90
91 public static String getUrlDownloadImageResponse( int nIdResponse )
92 {
93 UrlItem urlItem = new UrlItem( "image" );
94 urlItem.addParameter( "resource_type", Response.RESOURCE_TYPE );
95 urlItem.addParameter( "id", nIdResponse );
96
97 return urlItem.getUrl( );
98 }
99 }