Skip to content
This repository has been archived by the owner on Oct 25, 2022. It is now read-only.

JasperStarter Updated to 3.5! #117

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions src/JasperStarter/CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,109 @@
JasperStarter - Running JasperReports from command line
========================================================

Release notes - JasperStarter - Version 3.5.0
---------------------------------------------

** Bug
* [JAS-134] - "InterruptedException" should not be ignored in App.java
* [JAS-135] - comparisons between unrelated types in Config.java

** New Feature
* [JAS-131] - Jasperstarter does not provide a way to use the query string saved in the report itself

** Task
* [JAS-133] - Release Pipeline takes longer than before
* [JAS-136] - Throwable.printStackTrace(...) should not be called in Report.java setLookAndFeel()
* [JAS-137] - Do not use a bitwise operator with a Boolean-like operand in ParameterPanel.java
* [JAS-138] - Do not use a bitwise operator with a Boolean-like operand in ParameterPrompt.java


Release notes - JasperStarter - Version 3.4.1
---------------------------------------------

** Bug
* [JAS-132] - Security alert on org.springframework:spring-core
Updated springframework to 4.3.21

CVE-2016-5007 - moderate severity - Vulnerable versions: < 4.3.1
CVE-2018-1275 - high severity - Vulnerable versions: < 4.3.16
CVE-2018-1272 - moderate severity - Vulnerable versions: < 4.3.15
CVE-2018-1271 - moderate severity - Vulnerable versions: < 4.3.15
CVE-2018-1270 - high severity - Vulnerable versions: < 4.3.16
CVE-2018-1257 - moderate severity - Vulnerable versions: < 4.3.17


Release notes - JasperStarter - Version 3.4.0
---------------------------------------------

JasperStarter-3.2.0 silently dropped Java7 support by using the
latest available JasperReports Library.
JasperReports-6.4.0 is the last release which works with Java7 so
JasperStarter-3.1.0 was the latest release supporting Java7.

Now JasperStarter needs Java8 at a minimum and is manually tested
with OpenJDK-8, OpenJDK-10, OpenJDK-11. Automatic testing is on the
way (see JAS-128).
There will be a special release supporting Java7.

"Diskless" operation using stdin and stdout for input data and
output is now complete. See ([JAS-97] and [JAS-89]).

A public API allows direct integration with Python using jpy
([JAS-125]).

Known bugs:
* [JAS-120] - JasperReports-6.7.0 Version does not match with
reported version from the jar file in
This is an upstream error which causes JasperStarter to put out
a wrong JasperReports version number of 6.6.0 instead of 6.7.0
if you call: jasperstarter -V

** Bug
* [JAS-111] - JRE 1.7 incompatibility - not fixed in the main
release but clarified.
* [JAS-122] - Runtime error if a chart with "chart customizers" is
used
* [JAS-126] - Jasperstarter does not usefully propagate
compilation errors

** New Feature
* [JAS-97] - Use stdout for the resulting PDF (so we don't have to
write to the hosting server's storage)
* [JAS-125] - Make report fill accessible via API

** Task
* [JAS-127] - Enable dependency caching in build pipeline
* [JAS-129] - Remove test dependency to font Arial
* [JAS-130] - launch4j-maven-plugin:1.5.2 depends on 32bit
libraries


Release notes - JasperStarter - Version 3.3.0
---------------------------------------------

Known bugs:
* [JAS-120] - JasperReports-6.7.0 Version does not match with reported version from the jar file in
This is an upstream error which causes JasperStarter to put out
a wrong JasperReports version number of 6.6.0 instead of 6.7.0
if you call: jasperstarter -V

** Bug
* [JAS-116] - SSL error
* [JAS-121] - Container 'Build' exceeded memory limit.
* [JAS-122] - Runtime error if a chart with "chart customizers" is used

** New Feature
* [JAS-113] - JSONQL data source support

** Task
* [JAS-102] - Pipeline: enable build artifact upload to download section
* [JAS-119] - Include JasperReports-6.7.0

** Improvement
* [JAS-89] - Accept stdin for datafile input


Release Notes - JasperStarter - Version 3.2.1
---------------------------------------------

Expand Down
52 changes: 47 additions & 5 deletions src/JasperStarter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The official homepage is [jasperstater.cenote.de][].

It has the following features:

* Run any JasperReport that needs a jdbc, csv, xml, json or empty datasource
* Run any JasperReport that needs a jdbc, csv, xml, json, jsonql or empty datasource
* Use with any database for which a jdbc driver is available
* Run reports with subreports
* Execute reports that need runtime parameters. Any parameter whose class has
Expand All @@ -29,10 +29,11 @@ It has the following features:
* Integrate in non Java applications (for example PHP, Python)
* Binary executable on Windows
* Includes JasperReports so this is the only tool you need to install
* "Diskless" operation using stdin and stdout for input data and output.

Requirements:

* Java 1.6 or higher
* Java 1.8 or higher
* A JDBC 2.1 driver for your database


Expand Down Expand Up @@ -67,6 +68,43 @@ Example with hsql using database type generic:
For more information take a look in the docs directory of the distibution
archive or read the [Usage][] page online.

### Python Integration using public API

JasperStarter exposes an API which can be used with [jpy][] to
provide direct access from Python:

#
# Load the JVM. See the jpy docs for details.
#
import jpyutil
jpyutil.init_jvm(jvm_maxmem='512M', jvm_classpath=['.../jasperstarter.jar'])
#
# Load the Java types needed.
#
import jpy
Arrays = jpy.get_type('java.util.Arrays')
File = jpy.get_type('java.io.File')
Report = jpy.get_type('de.cenote.jasperstarter.Report')
Config = jpy.get_type('de.cenote.jasperstarter.Config')
DsType = jpy.get_type('de.cenote.jasperstarter.types.DsType')
#
# Create the JasperStarter configuration. See Config.java for details.
#
config = Config()
config.setInput('jsonql.jrxml')
config.setOutput('contacts.pdf')
config.setDbType(DsType.json)
config.setDataFile(File('contacts.json'))
config.setJsonQuery('contacts.person')
config.setOutputFormats(Arrays.asList([]))
#
# Run the report. See Report.java for details.
#
instance = Report(config, File(config.getInput()))
instance.fill()
instance.exportPdf()

See the examples/python directory for a fuller example.

### Release Notes

Expand All @@ -88,23 +126,26 @@ and create a bug or feature request.
If you like the software you can write a [review][] :-)


### Developement
### Development

The sourcecode is available at [bitbucket.org/cenote/jasperstarter][], the
project website is hosted at [Sourceforge][].

JasperStarter is build with [Maven][].

On Linux 64 bit the launch4j-maven-plugin may fail. You need the folloing libs in a 32 bit version:
On Linux 64 bit the launch4j-maven-plugin may fail. In this case, may you need the following libs in a 32 bit version:

* z1
* ncurses5
* bz2-1.0

On Ubuntu 14.04 for example use this command:
Install on Ubuntu 14.04 or above:

$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

Install on Fedora 27 or above:

$sudo dnf install ncurses-compat-libs.i686

To get a distribution package run:

Expand Down Expand Up @@ -187,3 +228,4 @@ limitations under the License.
[Usage]:http://jasperstarter.sourceforge.net/usage.html
[Issues]:https://cenote-issues.atlassian.net/browse/JAS
[Changes]:changes.html
[jpy]:https://github.com/bcdev/jpy
Binary file modified src/JasperStarter/bin/jasperstarter.exe
Binary file not shown.
29 changes: 29 additions & 0 deletions src/JasperStarter/docs/apidocs/allclasses-frame.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_161) on Sun Feb 10 11:38:39 UTC 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (JasperStarter 3.5.0 API)</title>
<meta name="date" content="2019-02-10">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1 class="bar">All&nbsp;Classes</h1>
<div class="indexContainer">
<ul>
<li><a href="de/cenote/jasperstarter/App.html" title="class in de.cenote.jasperstarter" target="classFrame">App</a></li>
<li><a href="de/cenote/jasperstarter/types/AskFilter.html" title="enum in de.cenote.jasperstarter.types" target="classFrame">AskFilter</a></li>
<li><a href="de/cenote/jasperstarter/types/Command.html" title="enum in de.cenote.jasperstarter.types" target="classFrame">Command</a></li>
<li><a href="de/cenote/jasperstarter/Config.html" title="class in de.cenote.jasperstarter" target="classFrame">Config</a></li>
<li><a href="de/cenote/jasperstarter/Db.html" title="class in de.cenote.jasperstarter" target="classFrame">Db</a></li>
<li><a href="de/cenote/jasperstarter/types/Dest.html" title="interface in de.cenote.jasperstarter.types" target="classFrame"><span class="interfaceName">Dest</span></a></li>
<li><a href="de/cenote/jasperstarter/types/DsType.html" title="enum in de.cenote.jasperstarter.types" target="classFrame">DsType</a></li>
<li><a href="de/cenote/jasperstarter/types/InputType.html" title="enum in de.cenote.jasperstarter.types" target="classFrame">InputType</a></li>
<li><a href="de/cenote/jasperstarter/types/OutputFormat.html" title="enum in de.cenote.jasperstarter.types" target="classFrame">OutputFormat</a></li>
<li><a href="de/cenote/jasperstarter/Report.html" title="class in de.cenote.jasperstarter" target="classFrame">Report</a></li>
</ul>
</div>
</body>
</html>
29 changes: 29 additions & 0 deletions src/JasperStarter/docs/apidocs/allclasses-noframe.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_161) on Sun Feb 10 11:38:39 UTC 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>All Classes (JasperStarter 3.5.0 API)</title>
<meta name="date" content="2019-02-10">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<h1 class="bar">All&nbsp;Classes</h1>
<div class="indexContainer">
<ul>
<li><a href="de/cenote/jasperstarter/App.html" title="class in de.cenote.jasperstarter">App</a></li>
<li><a href="de/cenote/jasperstarter/types/AskFilter.html" title="enum in de.cenote.jasperstarter.types">AskFilter</a></li>
<li><a href="de/cenote/jasperstarter/types/Command.html" title="enum in de.cenote.jasperstarter.types">Command</a></li>
<li><a href="de/cenote/jasperstarter/Config.html" title="class in de.cenote.jasperstarter">Config</a></li>
<li><a href="de/cenote/jasperstarter/Db.html" title="class in de.cenote.jasperstarter">Db</a></li>
<li><a href="de/cenote/jasperstarter/types/Dest.html" title="interface in de.cenote.jasperstarter.types"><span class="interfaceName">Dest</span></a></li>
<li><a href="de/cenote/jasperstarter/types/DsType.html" title="enum in de.cenote.jasperstarter.types">DsType</a></li>
<li><a href="de/cenote/jasperstarter/types/InputType.html" title="enum in de.cenote.jasperstarter.types">InputType</a></li>
<li><a href="de/cenote/jasperstarter/types/OutputFormat.html" title="enum in de.cenote.jasperstarter.types">OutputFormat</a></li>
<li><a href="de/cenote/jasperstarter/Report.html" title="class in de.cenote.jasperstarter">Report</a></li>
</ul>
</div>
</body>
</html>
Loading