16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/rasper/report.rb', line 16
def generate(jasper_name, data, params = {})
set_file_resolver(params)
file_name = File.join(Config.jasper_dir || '.', jasper_name + '.jasper')
jasper_content = File.read(file_name)
data = { jasper_name => data }.to_xml
xpath_criteria = "/hash/#{jasper_name}/#{jasper_name.singularize}"
source = JRXmlDataSource.new(
ByteArrayInputStream.new(data.to_java_bytes), xpath_criteria)
input = BufferedInputStream.new(
ByteArrayInputStream.new(jasper_content.to_java_bytes))
String.from_java_bytes(
JasperRunManager.runReportToPdf(input, params, source))
end
|