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.dbpage.modules.jasper;
35
36 import fr.paris.lutece.plugins.dbpage.business.DbPageDatabase;
37 import fr.paris.lutece.plugins.dbpage.business.DbPageDatabaseHome;
38 import fr.paris.lutece.plugins.dbpage.business.DbPageDatabaseSectionHome;
39 import fr.paris.lutece.plugins.dbpage.business.DbPageLoaderDatabase;
40 import fr.paris.lutece.plugins.dbpage.business.section.DbPageSection;
41 import fr.paris.lutece.plugins.jasper.business.JasperReportHome;
42 import fr.paris.lutece.plugins.jasper.service.JasperFileLinkService;
43 import fr.paris.lutece.portal.service.plugin.Plugin;
44 import fr.paris.lutece.portal.service.plugin.PluginService;
45 import fr.paris.lutece.portal.service.template.AppTemplateService;
46 import fr.paris.lutece.util.html.HtmlTemplate;
47
48 import java.util.Collection;
49 import java.util.HashMap;
50 import java.util.List;
51 import java.util.Map;
52
53 import javax.servlet.http.HttpServletRequest;
54
55
56 public class DbPageSectionJasper extends DbPageSection
57 {
58
59
60
61 private static final long serialVersionUID = -3698797709397929643L;
62 private static final String PARAMETER_DBPAGE_NAME = "dbpage";
63 private static final String TEMPLATE_CREATION_JASPER = "admin/plugins/dbpage/create_section_jasper.html";
64 private static final String TEMPLATE_MODIFICATION_JASPER = "admin/plugins/dbpage/modify_section_jasper.html";
65 private static final String TEMPLATE_DEFAULT_JASPER = "skin/plugins/dbpage/default_jasper.html";
66 private static final String PRPORTY_JASPER_PLUGIN="jasper";
67 private static final String MARK_LIST_REPORT = "list_report";
68 private static final String MARK_JASPER_CONTENT ="jasper_content";
69 private static final String MARK_DBPAGE_NAME="dbpage_name";
70 public DbPageSectionJasper( String strDescType )
71 {
72 this.setIdTypeSignature(serialVersionUID);
73 this.setDescType(strDescType);
74 }
75
76
77
78
79
80
81
82
83
84
85 public String getHtmlSection( List listValues, HttpServletRequest request )
86 {
87 String strParam = getTitle( );
88 Plugin plugin = PluginService.getPlugin("dbpage");
89 String strDbPageName = request.getParameter( PARAMETER_DBPAGE_NAME );
90
91 if(DbPageDatabaseSectionHome.isSectionInPage(strDbPageName, strParam, plugin))
92 {
93 byte[] arrayContent = JasperFileLinkService.exportFile( request, strParam );
94 HashMap rootModel = new HashMap( );
95
96 rootModel.put( MARK_JASPER_CONTENT, new String( arrayContent ));
97 rootModel.put( MARK_DBPAGE_NAME, strDbPageName);
98 HtmlTemplate tJasper = AppTemplateService.getTemplate( TEMPLATE_DEFAULT_JASPER, request.getLocale( ),
99 rootModel );
100
101 return tJasper.getHtml( );
102 }
103 return "";
104 }
105
106 public long getIdType( )
107 {
108 return getIdTypeSignature();
109 }
110
111 public String getTypeDescription( )
112 {
113 return getDescType();
114 }
115
116 public String getCreationTemplate( )
117 {
118 return TEMPLATE_CREATION_JASPER;
119 }
120
121 public String getModificationTemplate( )
122 {
123 return TEMPLATE_MODIFICATION_JASPER;
124 }
125
126
127
128 public Map<String, Object> getMarkMap( )
129 {
130 Map map = new HashMap( );
131 Plugin plugin = PluginService.getPlugin(PRPORTY_JASPER_PLUGIN);
132 Collection collection = JasperReportHome.getJasperReportsList(plugin);
133 map.put(MARK_LIST_REPORT, collection);
134 return map;
135 }
136 }