Skip to content

Commit

Permalink
update most deps
Browse files Browse the repository at this point in the history
  • Loading branch information
syjer committed Jun 21, 2018
1 parent a256098 commit 9e70356
Show file tree
Hide file tree
Showing 9 changed files with 57 additions and 55 deletions.
22 changes: 11 additions & 11 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ plugins {
id 'idea'
id 'jacoco'
id 'com.github.kt3k.coveralls' version '2.8.2'
id 'com.github.ben-manes.versions' version '0.17.0'
id 'com.github.ben-manes.versions' version '0.20.0'
id 'com.github.hierynomus.license' version '0.14.0'
id 'net.researchgate.release' version '2.6.0'
id 'org.springframework.boot' version '2.0.3.RELEASE'
Expand Down Expand Up @@ -161,31 +161,31 @@ dependencies {
}
compile 'com.moodysalem:LatLongToTimezoneMaven:1.2'
/**/
compile "com.openhtmltopdf:openhtmltopdf-core:0.0.1-RC12"
compile "com.openhtmltopdf:openhtmltopdf-pdfbox:0.0.1-RC12"
compile "com.openhtmltopdf:openhtmltopdf-jsoup-dom-converter:0.0.1-RC12"
compile "com.openhtmltopdf:openhtmltopdf-core:0.0.1-RC13"
compile "com.openhtmltopdf:openhtmltopdf-pdfbox:0.0.1-RC13"
compile "com.openhtmltopdf:openhtmltopdf-jsoup-dom-converter:0.0.1-RC13"
/**/
compile "com.google.zxing:core:3.3.2"
compile "com.google.zxing:javase:3.3.2"
compile "com.google.zxing:core:3.3.3"
compile "com.google.zxing:javase:3.3.3"
compile "org.flywaydb:flyway-core:4.2.0"
compile "org.postgresql:postgresql:42.1.4"
compile "org.postgresql:postgresql:42.2.2"
compile 'mysql:mysql-connector-java:5.1.42'
compile "com.zaxxer:HikariCP:2.7.7"
compile "org.apache.logging.log4j:log4j-api:$log4jVersion"
compile "org.apache.logging.log4j:log4j-core:$log4jVersion"
compile "org.apache.logging.log4j:log4j-jcl:$log4jVersion"
compile "org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion"
compile "com.stripe:stripe-java:5.35.1"
compile "com.stripe:stripe-java:5.42.0"
compile 'com.paypal.sdk:rest-api-sdk:1.14.0'
compile 'com.squareup.okhttp3:okhttp:3.9.1'
compile 'com.squareup.okhttp3:okhttp:3.10.0'
compile "org.apache.commons:commons-lang3:3.7"
compile "org.apache.commons:commons-text:1.2"
compile "com.opencsv:opencsv:4.1"
compile "com.opencsv:opencsv:4.2"
compile 'commons-codec:commons-codec:1.11'
compile 'net.sf.biweekly:biweekly:0.6.1'
compile 'com.atlassian.commonmark:commonmark:0.11.0'
compile 'com.ryantenney.passkit4j:passkit4j:2.0.1'
compile 'com.github.ben-manes.caffeine:caffeine:2.6.1'
compile 'com.github.ben-manes.caffeine:caffeine:2.6.2'
compile 'de.danielbechler:java-object-diff:0.95'
compile 'com.github.scribejava:scribejava-core:5.0.0'

Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ sourceCompatibility=1.8
targetCompatibility=1.8

springVersion=5.0.7.RELEASE
springSecurityConfigVersion=5.0.3.RELEASE
log4jVersion=2.10.0
jacksonVersion=2.9.4
springSecurityConfigVersion=5.0.6.RELEASE
log4jVersion=2.11.0
jacksonVersion=2.9.6
10 changes: 3 additions & 7 deletions src/main/java/alfio/controller/TicketController.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
import alfio.util.LocaleUtil;
import alfio.util.TemplateManager;
import com.google.zxing.WriterException;
import com.openhtmltopdf.pdfboxout.PdfBoxRenderer;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.commons.lang3.tuple.Triple;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -197,10 +196,7 @@ public void generateTicketPdf(@PathVariable("eventName") String eventName,
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", "attachment; filename=ticket-" + ticketIdentifier + ".pdf");
try (OutputStream os = response.getOutputStream()) {
PdfBoxRenderer renderer = preparePdfTicket(request, data.getLeft(), data.getMiddle(), ticket).generate(ticket);
if(renderer != null) {
renderer.createPDF(os);
}
preparePdfTicket(request, data.getLeft(), data.getMiddle(), ticket, os).generate(ticket);
}
}

Expand Down Expand Up @@ -234,12 +230,12 @@ public String cancelTicket(@PathVariable("eventName") String eventName,
return "redirect:/event/" + eventName;
}

private PartialTicketPDFGenerator preparePdfTicket(HttpServletRequest request, Event event, TicketReservation ticketReservation, Ticket ticket) throws WriterException, IOException {
private PartialTicketPDFGenerator preparePdfTicket(HttpServletRequest request, Event event, TicketReservation ticketReservation, Ticket ticket, OutputStream os) {
TicketCategory ticketCategory = ticketCategoryRepository.getByIdAndActive(ticket.getCategoryId(), event.getId());
Organization organization = organizationRepository.getById(event.getOrganizationId());
String reservationID = ticketReservationManager.getShortReservationID(event, ticketReservation.getId());
return TemplateProcessor.buildPartialPDFTicket(LocaleUtil.getTicketLanguage(ticket, request), event, ticketReservation,
ticketCategory, organization, templateManager, fileUploadManager, reservationID);
ticketCategory, organization, templateManager, fileUploadManager, reservationID, os);
}

private String internalShowTicket(String eventName, String ticketIdentifier, boolean ticketEmailSent, Model model, String backSuffix, Locale locale) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ public void previewTemplate(@PathVariable("name") TemplateResource name, @PathVa
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", "attachment; filename="+name.name()+".pdf");
try (OutputStream os = response.getOutputStream()) {
TemplateProcessor.prepareItextRenderer(renderedTemplate).createPDF(os);
TemplateProcessor.renderToPdf(renderedTemplate, os);
}
} else {
throw new IllegalStateException("cannot enter here!");
Expand Down
53 changes: 28 additions & 25 deletions src/main/java/alfio/controller/support/TemplateProcessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
package alfio.controller.support;

import alfio.manager.FileUploadManager;
import alfio.manager.support.PDFTemplateGenerator;
import alfio.manager.support.PartialTicketPDFGenerator;
import alfio.manager.support.PartialTicketTextGenerator;
import alfio.model.Event;
Expand All @@ -39,6 +38,7 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
Expand Down Expand Up @@ -75,38 +75,40 @@ public static PartialTicketTextGenerator buildEmailForOwnerChange(Event e,
};
}

public static PDFTemplateGenerator buildPDFTicket(Locale language,
Event event,
TicketReservation ticketReservation,
Ticket ticket,
TicketCategory ticketCategory,
Organization organization,
TemplateManager templateManager,
FileUploadManager fileUploadManager,
String reservationID) {

return () -> {
Optional<TemplateResource.ImageData> imageData = extractImageModel(event, fileUploadManager);
Map<String, Object> model = TemplateResource.buildModelForTicketPDF(organization, event, ticketReservation, ticketCategory, ticket, imageData, reservationID);

String page = templateManager.renderTemplate(event, TemplateResource.TICKET_PDF, model, language);
return prepareItextRenderer(page);
};
public static void renderPDFTicket(Locale language,
Event event,
TicketReservation ticketReservation,
Ticket ticket,
TicketCategory ticketCategory,
Organization organization,
TemplateManager templateManager,
FileUploadManager fileUploadManager,
String reservationID,
OutputStream os) throws IOException {
Optional<TemplateResource.ImageData> imageData = extractImageModel(event, fileUploadManager);
Map<String, Object> model = TemplateResource.buildModelForTicketPDF(organization, event, ticketReservation, ticketCategory, ticket, imageData, reservationID);

String page = templateManager.renderTemplate(event, TemplateResource.TICKET_PDF, model, language);
renderToPdf(page, os);
}

public static PdfBoxRenderer prepareItextRenderer(String page) {
public static void renderToPdf(String page, OutputStream os) throws IOException {

PdfRendererBuilder builder = new PdfRendererBuilder();

builder.toStream(os);
builder.withW3cDocument(DOMBuilder.jsoup2DOM(Jsoup.parse(page)), "");
PdfBoxRenderer renderer = builder.buildPdfRenderer();
try (InputStream is = new ClassPathResource("/alfio/font/DejaVuSansMono.ttf").getInputStream()) {
renderer.getFontResolver().addFont(() -> is, "DejaVu Sans Mono", null, null, false);
} catch(IOException e) {
log.warn("error while loading DejaVuSansMono.ttf font", e);
}
renderer.layout();
return renderer;
try {
renderer.layout();
renderer.createPDF();
} finally {
renderer.close();
}
}

public static Optional<TemplateResource.ImageData> extractImageModel(Event event, FileUploadManager fileUploadManager) {
Expand All @@ -128,8 +130,9 @@ public static PartialTicketPDFGenerator buildPartialPDFTicket(Locale language,
Organization organization,
TemplateManager templateManager,
FileUploadManager fileUploadManager,
String reservationID) {
return (ticket) -> buildPDFTicket(language, event, ticketReservation, ticket, ticketCategory, organization, templateManager, fileUploadManager, reservationID).generate();
String reservationID,
OutputStream os) {
return (ticket) -> renderPDFTicket(language, event, ticketReservation, ticket, ticketCategory, organization, templateManager, fileUploadManager, reservationID, os);
}

private static Optional<byte[]> buildReceiptOrInvoicePdf(Event event, FileUploadManager fileUploadManager, Locale language, TemplateManager templateManager, Map<String, Object> model, TemplateResource templateResource) {
Expand All @@ -142,7 +145,7 @@ private static Optional<byte[]> buildReceiptOrInvoicePdf(Event event, FileUpload
ByteArrayOutputStream baos = new ByteArrayOutputStream();
String page = templateManager.renderTemplate(event, templateResource, model, language);
try {
prepareItextRenderer(page).createPDF(baos);
renderToPdf(page, baos);
return Optional.of(baos.toByteArray());
} catch (IOException ioe) {
return Optional.empty();
Expand Down
6 changes: 2 additions & 4 deletions src/main/java/alfio/manager/NotificationManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

import alfio.controller.support.TemplateProcessor;
import alfio.manager.support.CustomMessageManager;
import alfio.manager.support.PDFTemplateGenerator;
import alfio.manager.support.PartialTicketTextGenerator;
import alfio.manager.support.TextTemplateGenerator;
import alfio.manager.system.ConfigurationManager;
Expand Down Expand Up @@ -120,9 +119,8 @@ private static Function<Map<String, String>, byte[]> generateTicketPDF(EventRepo
TicketCategory ticketCategory = Json.fromJson(model.get("ticketCategory"), TicketCategory.class);
Event event = eventRepository.findById(ticket.getEventId());
Organization organization = organizationRepository.getById(Integer.valueOf(model.get("organizationId"), 10));
PDFTemplateGenerator pdfTemplateGenerator = TemplateProcessor.buildPDFTicket(Locale.forLanguageTag(ticket.getUserLanguage()), event, reservation,
ticket, ticketCategory, organization, templateManager, fileUploadManager, configurationManager.getShortReservationID(event, ticket.getTicketsReservationId()));
pdfTemplateGenerator.generate().createPDF(baos);
TemplateProcessor.renderPDFTicket(Locale.forLanguageTag(ticket.getUserLanguage()), event, reservation,
ticket, ticketCategory, organization, templateManager, fileUploadManager, configurationManager.getShortReservationID(event, ticket.getTicketsReservationId()), baos);
} catch (IOException e) {
log.warn("was not able to generate ticket pdf for ticket with id" + ticket.getId(), e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@

import com.openhtmltopdf.pdfboxout.PdfBoxRenderer;

import java.io.IOException;

@FunctionalInterface
public interface PDFTemplateGenerator {
PdfBoxRenderer generate();
PdfBoxRenderer generate() throws IOException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
import alfio.model.Ticket;
import com.openhtmltopdf.pdfboxout.PdfBoxRenderer;

import java.io.IOException;

@FunctionalInterface
public interface PartialTicketPDFGenerator {
PdfBoxRenderer generate(Ticket ticket);
void generate(Ticket ticket) throws IOException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.io.ByteArrayOutputStream;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;
Expand Down Expand Up @@ -301,9 +302,9 @@ public void testUpdateGender() {
second.setEmail("email@email.ch");
second.setFirstName("Full");
second.setLastName("Name");
PartialTicketPDFGenerator generator = TemplateProcessor.buildPartialPDFTicket(Locale.ITALIAN, event, ticketReservationManager.findById(reservationId).get(),
TemplateProcessor.buildPartialPDFTicket(Locale.ITALIAN, event, ticketReservationManager.findById(reservationId).get(),
ticketCategoryRepository.getByIdAndActive(tickets.get(0).getCategoryId(), event.getId()), organizationRepository.getById(event.getOrganizationId()),
templateManager, fileUploadManager, "");
templateManager, fileUploadManager, "", new ByteArrayOutputStream());
ticketReservationManager.updateTicketOwner(tickets.get(0), Locale.ITALIAN, event, first, (t) -> "", (t) -> "", Optional.empty());
ticketReservationManager.updateTicketOwner(tickets.get(1), Locale.ITALIAN, event, second, (t) -> "", (t) -> "", Optional.empty());
//FIXME
Expand Down

0 comments on commit 9e70356

Please sign in to comment.