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.Application;
37 import fr.paris.lutece.plugins.appstore.business.ApplicationHome;
38 import fr.paris.lutece.portal.service.resource.IExtendableResource;
39 import fr.paris.lutece.portal.service.resource.IExtendableResourceService;
40 import fr.paris.lutece.portal.service.util.AppPathService;
41 import fr.paris.lutece.portal.web.constants.Parameters;
42 import fr.paris.lutece.util.url.UrlItem;
43
44 import org.apache.commons.lang.StringUtils;
45
46 import java.util.Locale;
47
48
49
50
51 public class ApplicationExtendableResourceService implements IExtendableResourceService
52 {
53 private static final String PARAMETER_XPAGE = "page";
54 private static final String XPAGE = "appstore";
55 private static final String PARAMETER_ID_APPLICATION = "id_application";
56
57
58
59
60 @Override
61 public boolean isInvoked( String strResourceType )
62 {
63 return Application.RESOURCE_TYPE.equals( strResourceType );
64 }
65
66
67
68
69 @Override
70 public IExtendableResource getResource( String strIdResource, String strResourceType )
71 {
72 if ( StringUtils.isNotBlank( strIdResource ) && StringUtils.isNumeric( strIdResource ) )
73 {
74 int nIdApplication = Integer.parseInt( strIdResource );
75
76 return ApplicationHome.findByPrimaryKey( nIdApplication );
77 }
78
79 return null;
80 }
81
82
83
84
85 @Override
86 public String getResourceType( )
87 {
88 return Application.RESOURCE_TYPE;
89 }
90
91
92
93
94 @Override
95 public String getResourceTypeDescription( Locale locale )
96 {
97 return Application.RESOURCE_TYPE_DESCRIPTION;
98 }
99
100
101
102
103 @Override
104 public String getResourceUrl( String strIdResource, String strResourceType )
105 {
106 UrlItem url = new UrlItem( AppPathService.getPortalUrl( ) );
107 url.addParameter( PARAMETER_XPAGE, XPAGE );
108 url.addParameter( PARAMETER_ID_APPLICATION, strIdResource );
109
110 return url.getUrl( );
111 }
112 }