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.systeminfo.web;
35
36 import java.util.HashMap;
37 import java.util.Map;
38
39 import javax.servlet.http.HttpServletRequest;
40
41 import fr.paris.lutece.portal.business.right.Right;
42 import fr.paris.lutece.portal.business.right.RightHome;
43 import fr.paris.lutece.portal.business.user.AdminUser;
44 import fr.paris.lutece.portal.service.dashboard.DashboardComponent;
45 import fr.paris.lutece.portal.service.database.AppConnectionService;
46 import fr.paris.lutece.portal.service.plugin.Plugin;
47 import fr.paris.lutece.portal.service.plugin.PluginService;
48 import fr.paris.lutece.portal.service.template.AppTemplateService;
49 import fr.paris.lutece.util.html.HtmlTemplate;
50 import fr.paris.lutece.util.url.UrlItem;
51
52
53
54
55 public class SystemInfoDashboardComponent extends DashboardComponent
56 {
57 private static final String TEMPLATE_DASHBOARD = "/admin/plugins/systeminfo/systeminfo_dashboard.html";
58 private static final String MARK_MEMORY = "memory";
59 private static final String MARK_CONNECTIONS = "connections";
60 private static final String MARK_URL = "url";
61 private static final String MARK_ICON = "icon";
62 private static final String PLUGIN_NAME = "plugin_name";
63
64
65
66
67
68
69
70
71
72 @Override
73 public String getDashboardData( AdminUser user, HttpServletRequest request )
74 {
75 Right right = RightHome.findByPrimaryKey( getRight( ) );
76 Plugin plugin = PluginService.getPlugin( right.getPluginName( ) );
77 UrlItem url = new UrlItem( right.getUrl( ) );
78 url.addParameter( PLUGIN_NAME, right.getPluginName( ) );
79
80 Map<String, Object> model = new HashMap<String, Object>( );
81 model.put( MARK_MEMORY, getMemory( ) );
82 model.put( MARK_CONNECTIONS, AppConnectionService.getPoolManager( ).getPoolsInfos( ) );
83 model.put( MARK_URL, url.getUrl( ) );
84 model.put( MARK_ICON, plugin.getIconUrl( ) );
85
86 HtmlTemplate t = AppTemplateService.getTemplate( TEMPLATE_DASHBOARD, user.getLocale( ), model );
87
88 return t.getHtml( );
89 }
90
91
92
93
94
95 private String getMemory( )
96 {
97 int nUsedMemory = (int) ( Runtime.getRuntime( ).totalMemory( ) / 1000000L );
98 int nMaxMemory = (int) ( Runtime.getRuntime( ).maxMemory( ) / 1000000L );
99
100 return "" + nUsedMemory + " / " + nMaxMemory;
101 }
102 }