@Component(value="report_ReportImportExport") public class ReportImportExportImpl extends java.lang.Object implements ReportImportExport
Modifier and Type | Field and Description |
---|---|
protected io.jmix.core.DataManager |
dataManager |
static java.lang.String |
ENCODING |
protected io.jmix.core.Metadata |
metadata |
protected ReportsPersistence |
reportsPersistence |
protected ReportsSerialization |
reportsSerialization |
Constructor and Description |
---|
ReportImportExportImpl() |
Modifier and Type | Method and Description |
---|---|
protected byte[] |
exportReport(Report report)
Exports single report to ZIP archive with name
<report name>.zip . |
byte[] |
exportReports(java.util.Collection<Report> reports)
Exports all reports and their templates into one zip archive.
|
protected Report |
fromByteArray(byte[] zipBytes) |
protected void |
importReport(byte[] zipBytes,
java.util.EnumSet<ReportImportOption> importOptions,
ReportImportResult importResult) |
java.util.Collection<Report> |
importReports(byte[] zipBytes)
Imports reports from ZIP archive.
|
java.util.Collection<Report> |
importReports(byte[] zipBytes,
java.util.EnumSet<ReportImportOption> importOptions)
Imports reports from ZIP archive.
|
java.util.Collection<Report> |
importReportsFromPath(java.lang.String path)
Import all reports from the specified folder.
|
ReportImportResult |
importReportsWithResult(byte[] zipBytes,
java.util.EnumSet<ReportImportOption> importOptions)
Imports reports from ZIP archive.
|
protected boolean |
isReportsStructureFile(java.lang.String name) |
protected org.apache.commons.compress.archivers.ArchiveEntry |
newStoredEntry(java.lang.String name,
byte[] data) |
protected byte[] |
readBytesFromEntry(org.apache.commons.compress.archivers.zip.ZipArchiveInputStream archiveReader) |
protected Report |
reloadReport(Report report) |
protected java.lang.String |
replaceForbiddenCharacters(java.lang.String fileName) |
protected void |
updateReportTemplate(Report report,
byte[] zipBytes) |
protected void |
withReportOptions(Report report,
java.util.EnumSet<ReportImportOption> importOptions) |
protected byte[] |
zipContent(java.util.Map<java.lang.String,java.lang.Object> stringObjectMap) |
protected byte[] |
zipSingleReportFiles(java.io.File[] files) |
public static final java.lang.String ENCODING
@Autowired protected ReportsPersistence reportsPersistence
@Autowired protected ReportsSerialization reportsSerialization
@Autowired protected io.jmix.core.DataManager dataManager
@Autowired protected io.jmix.core.Metadata metadata
public byte[] exportReports(java.util.Collection<Report> reports)
ReportImportExport
exportReports
in interface ReportImportExport
reports
- Collection of Report objects to be exported.public java.util.Collection<Report> importReports(byte[] zipBytes)
ReportImportExport
importReports
in interface ReportImportExport
zipBytes
- ZIP archive as a byte array.public java.util.Collection<Report> importReports(byte[] zipBytes, @Nullable java.util.EnumSet<ReportImportOption> importOptions)
ReportImportExport
importReports
in interface ReportImportExport
zipBytes
- ZIP archive as a byte array.importOptions
- - report import optionspublic ReportImportResult importReportsWithResult(byte[] zipBytes, @Nullable java.util.EnumSet<ReportImportOption> importOptions)
ReportImportExport
importReportsWithResult
in interface ReportImportExport
zipBytes
- ZIP archive as a byte array.importOptions
- report - import optionspublic java.util.Collection<Report> importReportsFromPath(java.lang.String path) throws java.io.IOException
ReportImportExport
folder sub-folder1 report.structure template.doc sub-folder2 report.structure template.docx
importReportsFromPath
in interface ReportImportExport
path
- to folder with reportsjava.io.IOException
- if any I/O error occursprotected byte[] exportReport(Report report) throws java.io.IOException
<report name>.zip
.
There are 2 files in archive: report.structure and a template file (odt, xls or other..)report
- Report object that must be exported.java.io.IOException
- if any I/O error occursprotected void importReport(byte[] zipBytes, @Nullable java.util.EnumSet<ReportImportOption> importOptions, ReportImportResult importResult) throws java.io.IOException
java.io.IOException
@Nullable protected Report fromByteArray(byte[] zipBytes) throws java.io.IOException
java.io.IOException
protected void updateReportTemplate(Report report, byte[] zipBytes) throws java.io.IOException
java.io.IOException
protected void withReportOptions(Report report, @Nullable java.util.EnumSet<ReportImportOption> importOptions)
protected byte[] zipSingleReportFiles(java.io.File[] files) throws java.io.IOException
java.io.IOException
protected byte[] zipContent(java.util.Map<java.lang.String,java.lang.Object> stringObjectMap) throws java.io.IOException
java.io.IOException
protected org.apache.commons.compress.archivers.ArchiveEntry newStoredEntry(java.lang.String name, byte[] data)
protected java.lang.String replaceForbiddenCharacters(java.lang.String fileName)
protected byte[] readBytesFromEntry(org.apache.commons.compress.archivers.zip.ZipArchiveInputStream archiveReader) throws java.io.IOException
java.io.IOException
protected boolean isReportsStructureFile(java.lang.String name)