From 3afdfc6bb438e0b233f9c2dc98e9137f12d37d4e Mon Sep 17 00:00:00 2001 From: Takayuki Maruyama Date: Mon, 13 Sep 2021 08:56:45 +0900 Subject: [PATCH] Bump JODConverter from 4.2.2 to 4.4.2 (#23) (#24) * Bump JODConverter from 4.2.2 to 4.4.2 * Update sample * add start/stop officemanager --- README.md | 4 +++- pom.xml | 2 +- .../reports/exporter/OoPdfExporter.java | 21 ++++++++++--------- .../exporter/OoPdfOutputStreamExporter.java | 2 +- .../pdfexporter/samples/InvoiceReporter.java | 15 ++++++++----- .../reports/exporter/OoPdfExporterTest.java | 11 ++++++---- .../OoPdfOutputStreamExporterTest.java | 11 ++++++---- 7 files changed, 40 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c13a76e..2f96f09 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,11 @@ ${LIBREOFFICE_HOME}/program/soffice -headless -accept=socket,port=8100;urp; ``` ReportProcessor reportProcessor = new ReportProcessor(); OfficeManager officeManager = - new ExternalOfficeManagerBuilder().setPortNumber( 8100).build(); + ExternalOfficeManager.builder().portNumbers( 8100).build(); + officeManager.start(); reportProcessor.addReportBookExporter( new OoPdfExporter(officeManager)); reportProcessor.process( outputBook); + officeManager.stop(); ``` 6. 更新履歴 diff --git a/pom.xml b/pom.xml index 04f3107..770b0a9 100644 --- a/pom.xml +++ b/pom.xml @@ -157,7 +157,7 @@ org.jodconverter jodconverter-local - 4.2.2 + 4.4.2 diff --git a/src/main/java/org/bbreak/excella/reports/exporter/OoPdfExporter.java b/src/main/java/org/bbreak/excella/reports/exporter/OoPdfExporter.java index d6573b1..2201768 100644 --- a/src/main/java/org/bbreak/excella/reports/exporter/OoPdfExporter.java +++ b/src/main/java/org/bbreak/excella/reports/exporter/OoPdfExporter.java @@ -21,21 +21,22 @@ package org.bbreak.excella.reports.exporter; import java.io.File; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.poi.ss.usermodel.Workbook; import org.bbreak.excella.core.BookData; import org.bbreak.excella.core.exception.ExportException; import org.bbreak.excella.reports.model.ConvertConfiguration; -import org.jodconverter.LocalConverter; -import org.jodconverter.document.DefaultDocumentFormatRegistry; -import org.jodconverter.document.DocumentFamily; -import org.jodconverter.document.DocumentFormat; -import org.jodconverter.document.DocumentFormatRegistry; -import org.jodconverter.document.SimpleDocumentFormatRegistry; -import org.jodconverter.office.DefaultOfficeManagerBuilder; -import org.jodconverter.office.OfficeException; -import org.jodconverter.office.OfficeManager; +import org.jodconverter.core.document.DefaultDocumentFormatRegistry; +import org.jodconverter.core.document.DocumentFamily; +import org.jodconverter.core.document.DocumentFormat; +import org.jodconverter.core.document.DocumentFormatRegistry; +import org.jodconverter.core.document.SimpleDocumentFormatRegistry; +import org.jodconverter.core.office.OfficeException; +import org.jodconverter.core.office.OfficeManager; +import org.jodconverter.local.LocalConverter; +import org.jodconverter.local.office.ExternalOfficeManager; /** * OpenOfficePDF出力エクスポーター @@ -124,7 +125,7 @@ public void output( Workbook book, BookData bookdata, ConvertConfiguration confi } if ( !controlOfficeManager) { - officeManager = new DefaultOfficeManagerBuilder().setPortNumbers( port).build(); + officeManager = ExternalOfficeManager.builder().portNumbers( port).build(); try { officeManager.start(); } catch ( OfficeException e) { diff --git a/src/main/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporter.java b/src/main/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporter.java index 1ae31e7..ad83862 100644 --- a/src/main/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporter.java +++ b/src/main/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporter.java @@ -30,10 +30,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.poi.ss.usermodel.Workbook; -import org.jodconverter.office.OfficeManager; import org.bbreak.excella.core.BookData; import org.bbreak.excella.core.exception.ExportException; import org.bbreak.excella.reports.model.ConvertConfiguration; +import org.jodconverter.core.office.OfficeManager; /** * PDFをStreamに書き出すExporter diff --git a/src/sample/java/org/bbreak/excella/pdfexporter/samples/InvoiceReporter.java b/src/sample/java/org/bbreak/excella/pdfexporter/samples/InvoiceReporter.java index 8b874e7..c729b90 100644 --- a/src/sample/java/org/bbreak/excella/pdfexporter/samples/InvoiceReporter.java +++ b/src/sample/java/org/bbreak/excella/pdfexporter/samples/InvoiceReporter.java @@ -28,8 +28,6 @@ import java.util.Calendar; import java.util.List; -import org.jodconverter.office.ExternalOfficeManagerBuilder; -import org.jodconverter.office.OfficeManager; import org.bbreak.excella.reports.exporter.OoPdfExporter; import org.bbreak.excella.reports.model.ReportBook; import org.bbreak.excella.reports.model.ReportSheet; @@ -37,6 +35,8 @@ import org.bbreak.excella.reports.tag.ImageParamParser; import org.bbreak.excella.reports.tag.RowRepeatParamParser; import org.bbreak.excella.reports.tag.SingleParamParser; +import org.jodconverter.core.office.OfficeManager; +import org.jodconverter.local.office.ExternalOfficeManager; /** * 請求書サンプル出力クラス @@ -137,9 +137,14 @@ public static void main( String[] args) throws Exception { // ReportBookを元にレポート処理を実行します。 // ReportProcessor reportProcessor = new ReportProcessor(); - OfficeManager officeManager = new ExternalOfficeManagerBuilder().setPortNumber( 8100).build(); - reportProcessor.addReportBookExporter( new OoPdfExporter(officeManager)); - reportProcessor.process( outputBook); + OfficeManager officeManager = ExternalOfficeManager.builder().portNumbers( 8100).build(); + try { + officeManager.start(); + reportProcessor.addReportBookExporter( new OoPdfExporter(officeManager)); + reportProcessor.process( outputBook); + } finally { + officeManager.stop(); + } System.exit( 0); } diff --git a/src/test/java/org/bbreak/excella/reports/exporter/OoPdfExporterTest.java b/src/test/java/org/bbreak/excella/reports/exporter/OoPdfExporterTest.java index aa16769..1f12bed 100644 --- a/src/test/java/org/bbreak/excella/reports/exporter/OoPdfExporterTest.java +++ b/src/test/java/org/bbreak/excella/reports/exporter/OoPdfExporterTest.java @@ -28,13 +28,14 @@ import java.util.Date; import org.apache.poi.ss.usermodel.Workbook; -import org.jodconverter.office.ExternalOfficeManagerBuilder; -import org.jodconverter.office.OfficeManager; import org.bbreak.excella.core.BookData; import org.bbreak.excella.core.exception.ExportException; import org.bbreak.excella.reports.ReportsTestUtil; import org.bbreak.excella.reports.model.ConvertConfiguration; import org.bbreak.excella.reports.processor.ReportsWorkbookTest; +import org.jodconverter.core.office.OfficeException; +import org.jodconverter.core.office.OfficeManager; +import org.jodconverter.local.office.ExternalOfficeManager; import org.junit.Test; /** @@ -52,14 +53,16 @@ public OoPdfExporterTest( String version) { ConvertConfiguration configuration = null; - private OfficeManager officeManager = new ExternalOfficeManagerBuilder().setPortNumber( 8100).build(); + private OfficeManager officeManager = ExternalOfficeManager.builder().portNumbers( 8100).build(); /** * {@link org.bbreak.excella.reports.exporter.OoPdfExporter#output(org.apache.poi.ss.usermodel.Workbook, org.bbreak.excella.core.BookData, org.bbreak.excella.reports.model.ConvertConfiguration)} * のためのテスト・メソッド。 + * @throws OfficeException */ @Test - public void testOutput() { + public void testOutput() throws OfficeException { + officeManager.start(); OoPdfExporter exporter = new OoPdfExporter( officeManager); String filePath = null; diff --git a/src/test/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporterTest.java b/src/test/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporterTest.java index 5b63c6f..666f04d 100644 --- a/src/test/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporterTest.java +++ b/src/test/java/org/bbreak/excella/reports/exporter/OoPdfOutputStreamExporterTest.java @@ -30,13 +30,14 @@ import java.net.URLDecoder; import java.util.Date; -import org.jodconverter.office.ExternalOfficeManagerBuilder; -import org.jodconverter.office.OfficeManager; import org.bbreak.excella.reports.ReportsTestUtil; import org.bbreak.excella.reports.model.ConvertConfiguration; import org.bbreak.excella.reports.model.ReportBook; import org.bbreak.excella.reports.model.ReportSheet; import org.bbreak.excella.reports.processor.ReportProcessor; +import org.jodconverter.core.office.OfficeException; +import org.jodconverter.core.office.OfficeManager; +import org.jodconverter.local.office.ExternalOfficeManager; import org.junit.Test; /** @@ -50,14 +51,16 @@ public class OoPdfOutputStreamExporterTest { ConvertConfiguration configuration = null; - private OfficeManager officeManager = new ExternalOfficeManagerBuilder().setPortNumber( 8100).build(); + private OfficeManager officeManager = ExternalOfficeManager.builder().portNumbers( 8100).build(); /** * {@link org.bbreak.excella.reports.exporter.OoPdfOutputStreamExporter#output(org.apache.poi.ss.usermodel.Workbook, org.bbreak.excella.core.BookData, org.bbreak.excella.reports.model.ConvertConfiguration)} * のためのテスト・メソッド。 + * @throws OfficeException */ @Test - public void testOutput() { + public void testOutput() throws OfficeException { + officeManager.start(); // XLSテスト� - フォーマット複数指定・サイズ比較テスト FileOutputStream xlsFileOutputStream = null;