Skip to content
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
20 changes: 18 additions & 2 deletions jasperreports-parent/jasperreports-examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<description>JasperReports integration components and resources for Wicket.</description>

<properties>
<jasperreports.outputDirectory>${project.build.sourceDirectory}/../webapp/reports</jasperreports.outputDirectory>
<jasperreportsDirectory>${project.build.directory}/reports</jasperreportsDirectory>
<javadoc.disabled>true</javadoc.disabled>
<deployment.disabled>true</deployment.disabled>
<sources.disabled>true</sources.disabled>
Expand Down Expand Up @@ -62,6 +62,22 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</dependency>

</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<systemProperties>
<jasperreportsDirectory>${jasperreportsDirectory}</jasperreportsDirectory>
</systemProperties>
<resourceBases>
<resourceBase>src/main/webapp</resourceBase>
<resourceBase>${jasperreportsDirectory}</resourceBase>
</resourceBases>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/*
* $Id$
* $Revision$ $Date$
*
*
* ==================================================================== Licensed
* under the Apache License, Version 2.0 (the "License"); you may not use this
* file except in compliance with the License. You may obtain a copy of the
* License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
Expand All @@ -17,40 +17,61 @@
*/
package org.wicketstuff.jasperreports.examples;

import java.io.File;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.time.Duration;

import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;

/**
* Wicket application class for jasper reports example.
*
*
* @author Eelco Hillenius
*/
public class JasperReportsApplication extends WebApplication
{
public class JasperReportsApplication extends WebApplication {
/**
* Constructor.
*/
public JasperReportsApplication()
{
public JasperReportsApplication() {
}

/**
* @see org.apache.wicket.protocol.http.WebApplication#init()
*/
@Override
protected void init()
{
protected void init() {
getCspSettings().blocking().disabled();
getResourceSettings().setResourcePollFrequency(Duration.ofSeconds(1));

final File base = new File(System.getProperty("jasperreportsDirectory"));
final File reportFile = new File(base, "WebappReport.jasper");
try {
if (!base.exists()) {
base.mkdirs();
}
try (InputStream rep = getClass().getResourceAsStream("/jasperreports/WebappReport.jasper")) {
Files.copy(rep, reportFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
final File images = new File(base, "../images");
if (!images.exists()) {
images.mkdirs();
}
try (InputStream rep = getClass().getResourceAsStream("/jasperreports/jasperreports.gif")) {
Files.copy(rep, new File(images, "jasperreports.gif").toPath(), StandardCopyOption.REPLACE_EXISTING);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}

/**
* @see org.apache.wicket.Application#getHomePage()
*/
@Override
public Class<? extends Page> getHomePage()
{
public Class<? extends Page> getHomePage() {
return Index.class;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
<li>
<a href="#" wicket:id="linkToCsv">display CSV report</a>
</li>
<li>
<a href="#" wicket:id="linkToXls">display XLS report</a>
</li>
</ul>
</div>
<div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,11 @@
*/
package org.wicketstuff.jasperreports.examples;

import jakarta.servlet.ServletContext;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.link.ResourceLink;
import org.apache.wicket.protocol.http.WebApplication;
import org.wicketstuff.jasperreports.JRConcreteResource;
import org.wicketstuff.jasperreports.JRImageResource;
import org.wicketstuff.jasperreports.JRResource;
Expand All @@ -29,63 +25,65 @@
import org.wicketstuff.jasperreports.handlers.PdfResourceHandler;
import org.wicketstuff.jasperreports.handlers.RtfResourceHandler;
import org.wicketstuff.jasperreports.handlers.TextResourceHandler;
import org.wicketstuff.jasperreports.handlers.XlsResourceHandler;

/**
* Simple Jasper reports example with PDF output and a jasper reports panel..
*
*
* @author Eelco Hillenius
*/
public class ReportLinksPage extends WebPage
{
public class ReportLinksPage extends WebPage {
private static final long serialVersionUID = 1L;

/**
* Constructor.
*/
public ReportLinksPage()
{
ServletContext context = ((WebApplication)getApplication()).getServletContext();
final File reportFile = new File(context.getRealPath("/reports/WebappReport.jasper"));
public ReportLinksPage() {
final File base = new File(System.getProperty("jasperreportsDirectory"));
final File reportFile = new File(base, "WebappReport.jasper");

final Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("BaseDir", new File(context.getRealPath("/reports")));
final Map<String, Object> parameters = Map.of("BaseDir", base);

JRResource pdfResource = new JRConcreteResource<PdfResourceHandler>(reportFile,
new PdfResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
new PdfResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToPdf", pdfResource));

JRResource rtfResource = new JRConcreteResource<RtfResourceHandler>(reportFile,
new RtfResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
new RtfResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToRtf", rtfResource));

JRResource htmlResource = new JRConcreteResource<HtmlResourceHandler>(reportFile,
new HtmlResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
new HtmlResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToHtml", htmlResource));

JRResource textResource = new JRConcreteResource<TextResourceHandler>(reportFile,
new TextResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
new TextResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToText", textResource));

JRResource imageResource = new JRImageResource(reportFile).setReportParameters(parameters)
.setReportDataSource(new WebappDataSource());
.setReportDataSource(new WebappDataSource());
add(new ResourceLink<Void>("linkToImage", imageResource));

JRResource csvResource = new JRConcreteResource<CsvResourceHandler>(reportFile,
new CsvResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
new CsvResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToCsv", csvResource));

JRResource xlsResource = new JRConcreteResource<XlsResourceHandler>(reportFile,
new XlsResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
add(new ResourceLink<Void>("linkToXls", xlsResource));
}

/**
* @see org.apache.wicket.Component#isVersioned()
*/
@Override
public boolean isVersioned()
{
public boolean isVersioned() {
return false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@
xml:lang="en" lang="en">
<head>
<title>WicketStuff JasperReports Integration - Embedded PDF</title>
<style>
object {
width: 85vw;
height: 85vh;
display: block;
}
</style>
</head>
<body>
<div>
Before
<br />

<object wicket:id="report" height="60%" width="80%"></object>

<object wicket:id="report" />
<br />
After
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,41 @@
*/
package org.wicketstuff.jasperreports.examples;

import jakarta.servlet.ServletContext;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebApplication;
import org.wicketstuff.jasperreports.EmbeddedJRReport;
import org.wicketstuff.jasperreports.JRConcreteResource;
import org.wicketstuff.jasperreports.JRResource;
import org.wicketstuff.jasperreports.handlers.PdfResourceHandler;

/**
* Simple Jasper reports example with PDF output and a jasper reports panel..
*
*
* @author Eelco Hillenius
*/
public class SimplePdfPage extends WebPage
{
public class SimplePdfPage extends WebPage {
private static final long serialVersionUID = 1L;

/**
* Constructor.
*/
public SimplePdfPage()
{
ServletContext context = ((WebApplication)getApplication()).getServletContext();
final File reportFile = new File(context.getRealPath("/reports/WebappReport.jasper"));
public SimplePdfPage() {
final File base = new File(System.getProperty("jasperreportsDirectory"));
final File reportFile = new File(base, "WebappReport.jasper");

final Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("BaseDir", new File(context.getRealPath("/reports")));
JRResource pdfResource = new JRConcreteResource<PdfResourceHandler>(reportFile,
new PdfResourceHandler()).setReportParameters(parameters).setReportDataSource(
new WebappDataSource());
JRResource pdfResource = new JRConcreteResource<PdfResourceHandler>(reportFile, new PdfResourceHandler())
.setReportParameters(Map.of("BaseDir", base))
.setReportDataSource(new WebappDataSource());
add(new EmbeddedJRReport("report", pdfResource));
}

/**
* @see org.apache.wicket.Component#isVersioned()
*/
@Override
public boolean isVersioned()
{
public boolean isVersioned() {
return false;
}
}
Loading