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.jasper.service;
35
36 import java.io.File;
37 import java.io.FileInputStream;
38 import java.io.FileOutputStream;
39 import java.io.IOException;
40 import java.net.URL;
41 import java.util.ArrayList;
42 import java.util.Date;
43 import java.util.HashMap;
44 import java.util.List;
45 import java.util.Properties;
46
47 import org.junit.Test;
48
49 import fr.paris.lutece.plugins.jasper.business.JasperReport;
50 import fr.paris.lutece.test.LuteceTestCase;
51 import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
52
53 public class JasperFileLinkServiceTest extends LuteceTestCase
54 {
55 @Test
56 public void testExportFile( ) throws IOException
57 {
58
59 JasperReport reportJRBeanCollection = new JasperReport( );
60
61 reportJRBeanCollection.setIdReport( 1 );
62
63 Properties propTest = getTestProperties( );
64
65 reportJRBeanCollection.setUrl( propTest.getProperty( "jasper.reportTestJRBeanUrl" ) );
66 reportJRBeanCollection.setCode( propTest.getProperty( "jasper.reportTestJRBeanCode" ) );
67 reportJRBeanCollection.setDateModification( new java.sql.Timestamp( new Date( ).getTime( ) ) );
68
69 String reportType = propTest.getProperty( "jasper.reportTestGenerateType" );
70
71 List<TestJavaDataSource> listTestJavaData = new ArrayList<>( );
72
73 listTestJavaData.add( new TestJavaDataSource( ) );
74 HashMap<String, Object> prop = new HashMap<>( );
75
76 byte [ ] testExport = JasperFileLinkService.INSTANCE.exportFile( reportJRBeanCollection, reportType, new JRBeanCollectionDataSource( listTestJavaData ),
77 new HashMap<String, Object>( ), null );
78
79 try
80 {
81 File ff = new File( propTest.getProperty( "jasper.reportGenerateFilePath" ) );
82 FileOutputStream sortie = new FileOutputStream( ff );
83 sortie.write( testExport );
84 sortie.close( );
85
86 }
87 catch( Exception e )
88 {
89 }
90
91 }
92
93 private Properties getTestProperties( )
94 {
95 Properties properties = null;
96 try
97 {
98
99 URL url = Thread.currentThread( ).getContextClassLoader( ).getResource( "jasper-test.properties" );
100 FileInputStream file = new FileInputStream( url.getPath( ) );
101
102 properties = new Properties( );
103 properties.load( file );
104
105 }
106 catch( IOException ex )
107 {
108 throw new RuntimeException( "Unable to load test file : " + ex.getMessage( ) );
109 }
110
111 return properties;
112 }
113
114 }