From b14583ba37a6d7ce398ccd3cf339f954785b03d8 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Wed, 31 May 2023 21:33:56 -0400 Subject: Support conditional loading of Apache Parquet files into Calc Also, use orcus::create_filter() and simplify the logic a bit. This requires orcus 0.19.1 or newer. Note that this change makes it possible to load Apache Parquet files if and only if orcus has been built with the parquet import filter enabled. Using orcus without the parquet import filter enabled will not break the build or run-time behavior; you just can't load parquet files. Change-Id: I9f8820998b7b0667d1e7cd532c32b1c7e55ca999 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158411 Tested-by: Jenkins Reviewed-by: Kohei Yoshida --- filter/Configuration_filter.mk | 2 ++ filter/source/config/cache/typedetection.cxx | 1 + .../source/config/fragments/filters/calc_Parquet.xcu | 19 +++++++++++++++++++ filter/source/config/fragments/types/calc_Parquet.xcu | 17 +++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 filter/source/config/fragments/filters/calc_Parquet.xcu create mode 100644 filter/source/config/fragments/types/calc_Parquet.xcu (limited to 'filter') diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk index bd3d3486234e..8a323e83fd54 100644 --- a/filter/Configuration_filter.mk +++ b/filter/Configuration_filter.mk @@ -477,6 +477,7 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_calc_types.xcu,f generic_Text \ calc_Gnumeric \ calc_Lotus \ + calc_Parquet \ calc_QPro \ calc_MS_Excel_40 \ calc_MS_Excel_40_VorlageTemplate \ @@ -535,6 +536,7 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_calc_filters.x calc_HTML_WebQuery \ calc_StarOffice_XML_Calc_Template \ calc_pdf_Export \ + calc_Parquet \ dBase \ calc8 \ calc8_template \ diff --git a/filter/source/config/cache/typedetection.cxx b/filter/source/config/cache/typedetection.cxx index 18d13a8f7796..a83a1406d0c1 100644 --- a/filter/source/config/cache/typedetection.cxx +++ b/filter/source/config/cache/typedetection.cxx @@ -211,6 +211,7 @@ int getFlatTypeRank(std::u16string_view rType) "calc_SYLK", "calc_DIF", "calc_dBase", + "Apache Parquet", // Binary (raster and vector image files) "emf_MS_Windows_Metafile", diff --git a/filter/source/config/fragments/filters/calc_Parquet.xcu b/filter/source/config/fragments/filters/calc_Parquet.xcu new file mode 100644 index 000000000000..5b0fea8257bb --- /dev/null +++ b/filter/source/config/fragments/filters/calc_Parquet.xcu @@ -0,0 +1,19 @@ + + + IMPORT ALIEN PREFERRED + + + + Apache Parquet + + com.sun.star.sheet.SpreadsheetDocument + + Apache Parquet Spreadsheet + + diff --git a/filter/source/config/fragments/types/calc_Parquet.xcu b/filter/source/config/fragments/types/calc_Parquet.xcu new file mode 100644 index 000000000000..6c29d886c92f --- /dev/null +++ b/filter/source/config/fragments/types/calc_Parquet.xcu @@ -0,0 +1,17 @@ + + + com.sun.star.comp.sc.OrcusFilterDetect + + parquet + + true + Apache Parquet Spreadsheet + Apache Parquet + + -- cgit