19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/rasper/report.rb', line 19
def generate(jasper_name, data, params = {})
run_with_locale do
namespace, jasper_name = (jasper_name)
set_file_resolver(params, namespace)
file_name = File.join(Config.jasper_dir || '.', namespace,
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
end
|