From c44ff5016a54c70ed3cf56ff1f28d754dfceef87 Mon Sep 17 00:00:00 2001 From: alandavis Date: Fri, 1 Jul 2022 17:14:01 +0100 Subject: [PATCH] Save point: [skip ci] * pick up alfresco-t-engine-base in 5 base t-engines * Switch over to using new base * Moved files in 5 base t-engines so we can remove the -boot package in the next round of changes --- README.md | 8 +- .../alfresco-transform-core-aio-boot/pom.xml | 4 +- .../alfresco/transform/aio/AIOController.java | 122 ------------ .../transform/aio/AIOCustomConfig.java | 123 ------------ .../Dockerfile | 0 .../alfresco-transform-core-aio/pom.xml | 2 +- .../transform/aio/AIOTransformRegistry.java | 183 ------------------ .../transform/coreaio/AIOTransformEngine.java | 88 +++++++++ .../main/resources/application-default.yaml | 0 .../src/main/resources/application.properties | 0 .../licenses/3rd-party/Apache 2.0.txt | 0 .../3rd-party/ImageMagick-license.txt | 0 .../3rd-party/Perl-Artistic-license.txt | 0 .../licenses/3rd-party/libreoffice.txt | 0 .../resources/licenses/3rd-party/pdfium.txt | 0 .../src/main/resources/quick.html | 0 .../resources/templates/transformForm.html | 0 .../AIOControllerHttpRequestTest.java | 4 +- .../AIOControllerImageMagickTest.java | 2 +- .../AIOControllerLibreOfficeTest.java | 6 +- .../coreaio}/AIOControllerMiscTest.java | 2 +- .../AIOControllerPdfRendererTest.java | 5 +- .../transform/coreaio}/AIOControllerTest.java | 2 +- .../coreaio}/AIOControllerTikaTest.java | 2 +- .../coreaio}/AIOCustomConfigTest.java | 2 +- .../transform/coreaio}/AIOImageMagickIT.java | 2 +- .../AIOLibreOfficeTransformationIT.java | 2 +- .../coreaio}/AIOMiscMetadataExtractsIT.java | 2 +- .../coreaio}/AIOMiscTransformsIT.java | 2 +- .../transform/coreaio}/AIOPdfRendererIT.java | 2 +- .../coreaio}/AIOQueueTransformServiceIT.java | 2 +- .../coreaio}/AIOTikaMetadataExtractsIT.java | 2 +- .../coreaio}/AIOTikaTransformationIT.java | 2 +- .../AIOTransformRegistryTest.java | 4 +- .../pom.xml | 4 +- .../transform/imagemagick/Application.java | 77 -------- .../imagemagick/ImageMagickController.java | 132 ------------- .../.maven-dockerignore | 0 .../Dockerfile | 0 .../alfresco-transform-imagemagick/pom.xml | 2 +- .../ImageMagickOptionsBuilder.java | 4 +- .../ImageMagickTransformEngine.java | 75 +++++++ ...cutor.java => ImageMagickTransformer.java} | 118 +++++------ .../3rd-party/ImageMagick-license.txt | 0 .../main/resources/application-default.yaml | 2 - .../src/main/resources/quick.jpg | Bin .../resources/templates/transformForm.html | 0 .../ImageMagickControllerTest.java | 6 +- .../ImageMagickHttpRequestTest.java | 0 .../ImageMagickQueueTransformServiceIT.java | 0 .../ImageMagickTransformationIT.java | 0 .../resources/engine_config_complete.json | 0 .../resources/engine_config_incomplete.json | 0 .../engine_config_no_transform_options.json | 0 .../engine_config_with_duplicates.json | 0 .../src/test/resources/quick.bmp | Bin .../src/test/resources/quick.eps | 0 .../src/test/resources/quick.gif | Bin .../src/test/resources/quick.jpg | Bin .../src/test/resources/quick.pbm | Bin .../src/test/resources/quick.pgm | 0 .../src/test/resources/quick.png | Bin .../src/test/resources/quick.pnm | 0 .../src/test/resources/quick.ppm | 0 .../src/test/resources/quick.psd | Bin .../src/test/resources/quick.tiff | Bin .../src/test/resources/quick.xbm | 0 .../src/test/resources/quick.xpm | 0 .../src/test/resources/quick.xwd | Bin .../pom.xml | 4 +- .../transform/libreoffice/Application.java | 80 -------- .../libreoffice/LibreOfficeController.java | 134 ------------- .../.maven-dockerignore | 0 .../Dockerfile | 0 .../LICENSES.md | 0 .../alfresco-transform-libreoffice/pom.xml | 2 +- .../LibreOfficeTransformEngine.java | 76 ++++++++ ...cutor.java => LibreOfficeTransformer.java} | 121 ++++++------ .../main/resources}/3rd-party/libreoffice.txt | 0 .../main/resources/application-default.yaml | 2 - .../src/main/resources/application.properties | 0 .../src/main/resources/quick.doc | Bin .../resources/templates/transformForm.html | 0 .../LibreOfficeControllerTest.java | 30 +-- .../LibreOfficeHttpRequestTest.java | 0 .../LibreOfficeQueueTransformServiceIT.java | 0 .../LibreOfficeTransformationIT.java | 0 .../resources/engine_config_complete.json | 0 .../resources/engine_config_incomplete.json | 0 .../engine_config_no_transform_options.json | 0 .../engine_config_with_duplicates.json | 0 .../src/test/resources/people.csv | 0 .../src/test/resources/quick.dita | 0 .../src/test/resources/quick.doc | Bin .../src/test/resources/quick.docx | Bin .../src/test/resources/quick.html | 0 .../src/test/resources/quick.odg | Bin .../src/test/resources/quick.odp | Bin .../src/test/resources/quick.ods | Bin .../src/test/resources/quick.odt | Bin .../src/test/resources/quick.otp | Bin .../src/test/resources/quick.pdf | Bin .../src/test/resources/quick.ppsm | Bin .../src/test/resources/quick.ppsx | Bin .../src/test/resources/quick.ppt | Bin .../src/test/resources/quick.pptx | Bin .../src/test/resources/quick.stc | Bin .../src/test/resources/quick.sti | Bin .../src/test/resources/quick.stw | Bin .../src/test/resources/quick.sxc | Bin .../src/test/resources/quick.sxi | Bin .../src/test/resources/quick.txt | 0 .../src/test/resources/quick.vdx | 0 .../src/test/resources/quick.vsd | Bin .../src/test/resources/quick.wpd | Bin .../src/test/resources/quick.xls | Bin .../src/test/resources/quick.xlsx | Bin .../src/test/resources/quick.xltm | Bin .../src/test/resources/quick.xml | 0 .../src/test/resources/sample.rtf | 0 .../src/test/resources/sample.tsv | 0 .../alfresco-transform-misc-boot/pom.xml | 4 +- .../alfresco/transform/misc/Application.java | 77 -------- .../transform/misc/MiscController.java | 88 --------- .../.maven-dockerignore | 0 .../Dockerfile | 0 .../alfresco-transform-misc/pom.xml | 2 +- .../transform/misc/MiscTransformEngine.java | 32 +-- .../HtmlMetadataExtractor.java | 25 ++- .../RFC822MetadataExtractor.java | 23 ++- .../AppleIWorksContentTransformer.java | 24 ++- .../misc/transformers/EMLTransformer.java | 22 ++- .../HtmlParserContentTransformer.java | 21 +- .../OOXMLThumbnailContentTransformer.java | 19 +- .../transformers/SelectableTransformer.java | 53 ----- .../transformers/SelectingTransformer.java | 114 ----------- .../StringExtractingContentTransformer.java | 21 +- .../TextToPdfContentTransformer.java | 21 +- .../main/resources}/3rd-party/Apache 2.0.txt | 0 .../main/resources/application-default.yaml | 4 +- .../src/main/resources/quick.html | 0 .../resources/templates/transformForm.html | 0 .../transform/misc/MiscControllerTest.java | 0 .../misc/MiscMetadataExtractsIT.java | 0 .../misc/MiscQueueTransformServiceIT.java | 0 .../misc/MiscTransformerHttpRequestTest.java | 2 +- .../transform/misc/MiscTransformsIT.java | 0 .../TextToPdfContentTransformerTest.java | 4 +- .../src/test/resources/Sample.java.txt | 0 .../test/resources/misc_engine_config.json | 0 .../src/test/resources/people.csv | 0 .../src/test/resources/quick.alternative.eml | 0 .../src/test/resources/quick.attachment.eml | 0 .../src/test/resources/quick.docx | Bin .../src/test/resources/quick.eml | 0 .../test/resources/quick.eml_metadata.json | 0 .../src/test/resources/quick.html | 0 .../src/test/resources/quick.htmlChars.eml | 0 .../test/resources/quick.html_metadata.json | 0 .../src/test/resources/quick.japanese.html | 0 .../quick.japanese.html_metadata.json | 0 .../src/test/resources/quick.key | Bin .../resources/quick.nested.alternative.eml | 0 .../src/test/resources/quick.numbers | Bin .../src/test/resources/quick.pages | Bin .../src/test/resources/quick.spanish.eml | 0 .../resources/quick.spanish.eml_metadata.json | 0 .../src/test/resources/quick.xhtml.alf | 0 .../resources/quick.xhtml.alf_metadata.json | 0 .../src/test/resources/quick.xml | 0 .../src/test/resources/quick2.txt | 0 .../src/test/resources/quickConcept.dita | 0 .../src/test/resources/sample.etx | 0 .../src/test/resources/sample.ics | 0 .../src/test/resources/sample.jsp.txt | 0 .../src/test/resources/sample.md | 0 .../src/test/resources/sample.mw | 0 .../src/test/resources/sample.rtf | 0 .../src/test/resources/sample.sgml | 0 .../src/test/resources/sample.tsv | 0 .../src/test/resources/script.js | 0 .../src/test/resources/style.css | 0 .../transform/common/RequestParamMap.java | 7 + .../common/TransformConfigResourceReader.java | 6 + .../LICENSES.md | 4 - .../pom.xml | 4 +- .../AlfrescoPdfRendererController.java | 119 ------------ .../transform/pdfRenderer/Application.java | 77 -------- .../.maven-dockerignore | 0 .../Dockerfile | 0 .../alfresco-transform-pdf-renderer/pom.xml | 2 +- .../PdfRendererOptionsBuilder.java | 2 +- .../PdfRendererTransformEngine.java | 75 +++++++ ...cutor.java => PdfRendererTransformer.java} | 60 +++--- .../src/main/resources}/3rd-party/pdfium.txt | 0 .../main/resources/application-default.yaml | 2 - .../src/main/resources/quick.pdf | Bin .../resources/templates/transformForm.html | 0 .../AlfrescoPdfRendererControllerTest.java | 2 +- .../AlfrescoPdfRendererHttpRequestTest.java | 2 +- ...scoPdfRendererQueueTransformServiceIT.java | 2 +- .../AlfrescoPdfRendererTransformationIT.java | 2 +- .../resources/engine_config_complete.json | 0 .../resources/engine_config_incomplete.json | 0 .../engine_config_no_transform_options.json | 0 .../engine_config_with_duplicates.json | 0 .../resources/pdfrenderer_engine_config.json | 0 .../src/test/resources/quick.pdf | Bin .../src/test/resources/quick.png | Bin .../src/test/resources/quickCS3.ai | 0 .../src/test/resources/quickCS5.ai | 0 .../.maven-dockerignore | 0 .../Dockerfile | 0 .../transform/tika/TikaTransformEngine.java | 19 +- .../AbstractTikaMetadataExtractor.java | 34 +--- .../DWGMetadataExtractor.java | 2 +- .../IPTCMetadataExtractor.java | 16 +- .../MP3MetadataExtractor.java | 2 - .../MailMetadataExtractor.java | 2 +- .../OfficeMetadataExtractor.java | 2 +- .../OpenDocumentMetadataExtractor.java | 6 +- .../PdfBoxMetadataExtractor.java | 2 +- .../PoiMetadataExtractor.java | 2 +- .../TikaAudioMetadataExtractor.java | 2 +- .../TikaAutoMetadataExtractor.java | 2 +- .../transformers/GenericTikaTransformer.java | 2 +- .../main/resources}/3rd-party/Apache 2.0.txt | 0 .../3rd-party/Perl-Artistic-license.txt | 0 .../main/resources/application-default.yaml | 2 - .../src/main/resources/quick.pdf | Bin .../resources/templates/transformForm.html | 0 .../transform/tika/TikaControllerTest.java | 135 +++++++------ .../transform/tika/TikaHttpRequestTest.java | 0 .../tika/TikaMetadataExtractsIT.java | 118 +++++------ .../tika/TikaQueueTransformServiceIT.java | 0 .../transform/tika/TikaTransformationIT.java | 2 +- .../20140614_163822_Photogrpahy_Class.ARW | Bin ...163822_Photogrpahy_Class.ARW_metadata.json | 0 .../test/resources/20140629_145035_Flower.RW2 | Bin .../20140629_145035_Flower.RW2_metadata.json | 0 .../test/resources/20141227_134519_Palace.CR2 | Bin .../20141227_134519_Palace.CR2_metadata.json | 0 .../test/resources/20150408_074941_Bush.NEF | Bin .../20150408_074941_Bush.NEF_metadata.json | 0 .../20160502_190928_London_Underground.RAF | Bin ...90928_London_Underground.RAF_metadata.json | 0 .../test/resources/dmsu1332-reproduced.xlsx | Bin .../dmsu1332-reproduced.xlsx_metadata.json | 0 .../resources/engine_config_complete.json | 0 .../resources/engine_config_incomplete.json | 0 .../engine_config_no_transform_options.json | 0 .../engine_config_with_duplicates.json | 0 .../src/test/resources/problemFootnotes2.docx | Bin .../src/test/resources/quick.3g2 | Bin .../test/resources/quick.3g2_metadata.json | 0 .../src/test/resources/quick.3gp | Bin .../test/resources/quick.3gp_metadata.json | 0 .../src/test/resources/quick.ai | 0 .../src/test/resources/quick.ai_metadata.json | 0 .../src/test/resources/quick.bmp | Bin .../test/resources/quick.bmp_metadata.json | 0 .../src/test/resources/quick.csv | 0 .../src/test/resources/quick.doc | Bin .../test/resources/quick.doc_metadata.json | 0 .../src/test/resources/quick.docx | Bin .../test/resources/quick.docx_metadata.json | 0 .../src/test/resources/quick.flv | Bin .../test/resources/quick.flv_metadata.json | 0 .../src/test/resources/quick.gif | Bin .../test/resources/quick.gif_metadata.json | 0 .../src/test/resources/quick.html | 0 .../src/test/resources/quick.jar | Bin .../src/test/resources/quick.java | 0 .../src/test/resources/quick.jpg | Bin .../test/resources/quick.jpg_metadata.json | 0 .../src/test/resources/quick.key | Bin .../test/resources/quick.key_metadata.json | 0 .../src/test/resources/quick.m4a | Bin .../test/resources/quick.m4a_metadata.json | 0 .../src/test/resources/quick.m4v | Bin .../test/resources/quick.m4v_metadata.json | 0 .../src/test/resources/quick.mov | Bin .../test/resources/quick.mov_metadata.json | 0 .../src/test/resources/quick.mp3 | Bin .../test/resources/quick.mp3_metadata.json | 0 .../src/test/resources/quick.mp4 | Bin .../test/resources/quick.mp4_metadata.json | 0 .../src/test/resources/quick.msg | Bin .../test/resources/quick.msg_metadata.json | 0 .../src/test/resources/quick.numbers | Bin .../resources/quick.numbers_metadata.json | 0 .../src/test/resources/quick.odf | Bin .../test/resources/quick.odf_metadata.json | 0 .../src/test/resources/quick.odg | Bin .../test/resources/quick.odg_metadata.json | 0 .../src/test/resources/quick.odp | Bin .../test/resources/quick.odp_metadata.json | 0 .../src/test/resources/quick.ods | Bin .../test/resources/quick.ods_metadata.json | 0 .../src/test/resources/quick.odt | Bin .../test/resources/quick.odt_metadata.json | 0 .../src/test/resources/quick.ogg | Bin .../test/resources/quick.ogg_metadata.json | 0 .../src/test/resources/quick.ogv | Bin .../src/test/resources/quick.otg | Bin .../test/resources/quick.otg_metadata.json | 0 .../src/test/resources/quick.otp | Bin .../test/resources/quick.otp_metadata.json | 0 .../src/test/resources/quick.ots | Bin .../test/resources/quick.ots_metadata.json | 0 .../src/test/resources/quick.ott | Bin .../test/resources/quick.ott_metadata.json | 0 .../src/test/resources/quick.pages | Bin .../test/resources/quick.pages_metadata.json | 0 .../src/test/resources/quick.pdf | Bin .../test/resources/quick.pdf_metadata.json | 0 .../src/test/resources/quick.png | Bin .../test/resources/quick.png_metadata.json | 0 .../src/test/resources/quick.ppt | Bin .../test/resources/quick.ppt_metadata.json | 0 .../src/test/resources/quick.pptx | Bin .../test/resources/quick.pptx_metadata.json | 0 .../src/test/resources/quick.rar | Bin .../src/test/resources/quick.sxw | Bin .../test/resources/quick.sxw_metadata.json | 0 .../src/test/resources/quick.tar | Bin .../src/test/resources/quick.tar.gz | Bin .../test/resources/quick.tar_metadata.json | 0 .../src/test/resources/quick.tiff | Bin .../test/resources/quick.tiff_metadata.json | 0 .../src/test/resources/quick.txt | 0 .../test/resources/quick.txt_metadata.json | 0 .../src/test/resources/quick.vsd | Bin .../test/resources/quick.vsd_metadata.json | 0 .../src/test/resources/quick.xls | Bin .../test/resources/quick.xls_metadata.json | 0 .../src/test/resources/quick.xlsx | Bin .../test/resources/quick.xlsx_metadata.json | 0 .../src/test/resources/quick.xml | 0 .../test/resources/quick.xml_metadata.json | 0 .../src/test/resources/quick.xslx | Bin .../src/test/resources/quick.z | 0 .../src/test/resources/quick.zip | Bin .../test/resources/quick.zip_metadata.json | 0 .../test/resources/quick2010CustomProps.dwg | Bin .../quick2010CustomProps.dwg_metadata.json | 0 .../src/test/resources/quickIPTC-EXT.jpg | Bin .../resources/quickIPTC-EXT.jpg_metadata.json | 0 .../resources/quickIPTC-multi-creator.jpg | Bin .../quickIPTC-multi-creator.jpg_metadata.json | 0 .../src/test/resources/quickIPTC.gif | Bin .../resources/quickIPTC.gif_metadata.json | 0 .../src/test/resources/quickIPTC.png | Bin .../resources/quickIPTC.png_metadata.json | 0 .../src/test/resources/sample.rss | 0 .../src/test/resources/sample.rtf | 0 .../src/test/resources/sample.xhtml.txt | 0 .../src/test/resources/testJPEG_IPTC_EXT.jpg | Bin .../testJPEG_IPTC_EXT.jpg_metadata.json | 0 .../test/resources/tika_engine_config.json | 0 .../transformer/util/RequestParamMap.java | 5 - .../alfresco/transform/base/Application.java | 20 +- .../transform/base/CustomTransformer.java | 7 + .../transform/base/TransformController.java | 28 ++- .../transform/base/TransformEngine.java | 8 +- .../transform/base/TransformRegistryImpl.java | 2 +- .../executors/AbstractCommandExecutor.java | 26 --- .../base/executors/CommandExecutor.java | 10 +- .../base/executors/JavaExecutor.java | 40 ---- .../transform/base/executors/Transformer.java | 130 ------------- .../base/logging/StandardMessages.java | 10 +- .../AbstractMetadataExtractor.java | 43 +++- .../transform/base/util/RequestParamMap.java | 41 ---- 373 files changed, 967 insertions(+), 2119 deletions(-) delete mode 100644 alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOController.java delete mode 100644 alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOCustomConfig.java rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/Dockerfile (100%) delete mode 100644 alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/aio/AIOTransformRegistry.java create mode 100644 alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/coreaio/AIOTransformEngine.java rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/application-default.yaml (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/application.properties (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/licenses/3rd-party/Apache 2.0.txt (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/licenses/3rd-party/ImageMagick-license.txt (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/licenses/3rd-party/libreoffice.txt (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/licenses/3rd-party/pdfium.txt (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/quick.html (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot => alfresco-transform-core-aio}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerHttpRequestTest.java (91%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerImageMagickTest.java (96%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerLibreOfficeTest.java (95%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerMiscTest.java (95%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerPdfRendererTest.java (93%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerTest.java (96%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOControllerTikaTest.java (95%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOCustomConfigTest.java (98%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOImageMagickIT.java (94%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOLibreOfficeTransformationIT.java (94%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOMiscMetadataExtractsIT.java (97%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOMiscTransformsIT.java (94%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOPdfRendererIT.java (94%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOQueueTransformServiceIT.java (95%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOTikaMetadataExtractsIT.java (97%) rename alfresco-transform-core-aio/{alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio => alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio}/AIOTikaTransformationIT.java (94%) rename alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/{aio => coreaio}/AIOTransformRegistryTest.java (99%) delete mode 100644 alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/Application.java delete mode 100644 alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/ImageMagickController.java rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/.maven-dockerignore (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/Dockerfile (100%) create mode 100644 alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickTransformEngine.java rename alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/{ImageMagickCommandExecutor.java => ImageMagickTransformer.java} (60%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot/src/main/resources/licenses => alfresco-transform-imagemagick/src/main/resources}/3rd-party/ImageMagick-license.txt (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/main/resources/application-default.yaml (85%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/main/resources/quick.jpg (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java (99%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/java/org/alfresco/transform/imagemagick/ImageMagickTransformationIT.java (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/engine_config_complete.json (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/engine_config_incomplete.json (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/engine_config_no_transform_options.json (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/engine_config_with_duplicates.json (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.bmp (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.eps (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.gif (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.jpg (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.pbm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.pgm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.png (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.pnm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.ppm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.psd (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.tiff (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.xbm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.xpm (100%) rename alfresco-transform-imagemagick/{alfresco-transform-imagemagick-boot => alfresco-transform-imagemagick}/src/test/resources/quick.xwd (100%) delete mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/Application.java delete mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/LibreOfficeController.java rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/.maven-dockerignore (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/Dockerfile (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/LICENSES.md (100%) create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformEngine.java rename alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/{LibreOfficeJavaExecutor.java => LibreOfficeTransformer.java} (67%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot/src/main/resources/licenses => alfresco-transform-libreoffice/src/main/resources}/3rd-party/libreoffice.txt (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/main/resources/application-default.yaml (87%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/main/resources/application.properties (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/main/resources/quick.doc (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java (90%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeTransformationIT.java (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/engine_config_complete.json (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/engine_config_incomplete.json (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/engine_config_no_transform_options.json (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/engine_config_with_duplicates.json (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/people.csv (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.dita (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.doc (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.docx (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.html (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.odg (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.odp (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.ods (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.odt (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.otp (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.pdf (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.ppsm (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.ppsx (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.ppt (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.pptx (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.stc (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.sti (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.stw (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.sxc (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.sxi (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.txt (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.vdx (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.vsd (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.wpd (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.xls (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.xlsx (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.xltm (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/quick.xml (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/sample.rtf (100%) rename alfresco-transform-libreoffice/{alfresco-transform-libreoffice-boot => alfresco-transform-libreoffice}/src/test/resources/sample.tsv (100%) delete mode 100644 alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/Application.java delete mode 100644 alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/MiscController.java rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/.maven-dockerignore (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/Dockerfile (100%) delete mode 100644 alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectableTransformer.java delete mode 100644 alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectingTransformer.java rename alfresco-transform-misc/{alfresco-transform-misc-boot/src/main/resources/licenses => alfresco-transform-misc/src/main/resources}/3rd-party/Apache 2.0.txt (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/main/resources/application-default.yaml (56%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/main/resources/quick.html (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/java/org/alfresco/transform/misc/MiscControllerTest.java (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/java/org/alfresco/transform/misc/MiscMetadataExtractsIT.java (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java (93%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/java/org/alfresco/transform/misc/MiscTransformsIT.java (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/Sample.java.txt (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/misc_engine_config.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/people.csv (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.alternative.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.attachment.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.docx (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.eml_metadata.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.html (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.htmlChars.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.html_metadata.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.japanese.html (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.japanese.html_metadata.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.key (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.nested.alternative.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.numbers (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.pages (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.spanish.eml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.spanish.eml_metadata.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.xhtml.alf (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.xhtml.alf_metadata.json (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick.xml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quick2.txt (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/quickConcept.dita (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.etx (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.ics (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.jsp.txt (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.md (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.mw (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.rtf (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.sgml (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/sample.tsv (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/script.js (100%) rename alfresco-transform-misc/{alfresco-transform-misc-boot => alfresco-transform-misc}/src/test/resources/style.css (100%) delete mode 100644 alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/LICENSES.md delete mode 100644 alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererController.java delete mode 100644 alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/Application.java rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/.maven-dockerignore (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/Dockerfile (100%) create mode 100644 alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererTransformEngine.java rename alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/{PdfRendererCommandExecutor.java => PdfRendererTransformer.java} (63%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot/src/main/resources/licenses => alfresco-transform-pdf-renderer/src/main/resources}/3rd-party/pdfium.txt (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/main/resources/application-default.yaml (78%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/main/resources/quick.pdf (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer => alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer}/AlfrescoPdfRendererControllerTest.java (99%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer => alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer}/AlfrescoPdfRendererHttpRequestTest.java (97%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer => alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer}/AlfrescoPdfRendererQueueTransformServiceIT.java (98%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer => alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer}/AlfrescoPdfRendererTransformationIT.java (98%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/engine_config_complete.json (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/engine_config_incomplete.json (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/engine_config_no_transform_options.json (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/engine_config_with_duplicates.json (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/pdfrenderer_engine_config.json (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/quick.pdf (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/quick.png (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/quickCS3.ai (100%) rename alfresco-transform-pdf-renderer/{alfresco-transform-pdf-renderer-boot => alfresco-transform-pdf-renderer}/src/test/resources/quickCS5.ai (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/.maven-dockerignore (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/Dockerfile (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot/src/main/resources/licenses => alfresco-transform-tika/src/main/resources}/3rd-party/Apache 2.0.txt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot/src/main/resources/licenses => alfresco-transform-tika/src/main/resources}/3rd-party/Perl-Artistic-license.txt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/main/resources/application-default.yaml (80%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/main/resources/quick.pdf (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/main/resources/templates/transformForm.html (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java (95%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java (85%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java (98%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20140614_163822_Photogrpahy_Class.ARW (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20140614_163822_Photogrpahy_Class.ARW_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20140629_145035_Flower.RW2 (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20140629_145035_Flower.RW2_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20141227_134519_Palace.CR2 (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20141227_134519_Palace.CR2_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20150408_074941_Bush.NEF (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20150408_074941_Bush.NEF_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20160502_190928_London_Underground.RAF (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/20160502_190928_London_Underground.RAF_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/dmsu1332-reproduced.xlsx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/dmsu1332-reproduced.xlsx_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/engine_config_complete.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/engine_config_incomplete.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/engine_config_no_transform_options.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/engine_config_with_duplicates.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/problemFootnotes2.docx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.3g2 (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.3g2_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.3gp (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.3gp_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ai (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ai_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.bmp (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.bmp_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.csv (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.doc (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.doc_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.docx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.docx_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.flv (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.flv_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.gif (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.gif_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.html (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.jar (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.java (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.jpg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.jpg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.key (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.key_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.m4a (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.m4a_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.m4v (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.m4v_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mov (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mov_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mp3 (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mp3_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mp4 (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.mp4_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.msg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.msg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.numbers (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.numbers_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odf (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odf_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odp (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odp_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ods (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ods_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.odt_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ogg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ogg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ogv (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.otg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.otg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.otp (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.otp_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ots (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ots_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ott (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ott_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pages (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pages_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pdf (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pdf_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.png (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.png_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ppt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.ppt_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pptx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.pptx_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.rar (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.sxw (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.sxw_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.tar (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.tar.gz (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.tar_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.tiff (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.tiff_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.txt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.txt_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.vsd (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.vsd_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xls (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xls_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xlsx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xlsx_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xml (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xml_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.xslx (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.z (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.zip (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick.zip_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick2010CustomProps.dwg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quick2010CustomProps.dwg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC-EXT.jpg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC-EXT.jpg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC-multi-creator.jpg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC-multi-creator.jpg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC.gif (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC.gif_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC.png (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/quickIPTC.png_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/sample.rss (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/sample.rtf (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/sample.xhtml.txt (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/testJPEG_IPTC_EXT.jpg (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/testJPEG_IPTC_EXT.jpg_metadata.json (100%) rename alfresco-transform-tika/{alfresco-transform-tika-boot => alfresco-transform-tika}/src/test/resources/tika_engine_config.json (100%) delete mode 100644 t-engine-base/src/main/java/org/alfresco/transform/base/executors/JavaExecutor.java delete mode 100644 t-engine-base/src/main/java/org/alfresco/transform/base/executors/Transformer.java delete mode 100644 t-engine-base/src/main/java/org/alfresco/transform/base/util/RequestParamMap.java diff --git a/README.md b/README.md index 32cb9a5d..8303f87e 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,15 @@ Contains the common transformer (T-Engine) code, plus a few implementations. configuration files and messages sent between clients, T-Engines and T-Router. Also contains code to work out which transform should be used for a combination of configuration files; see the sub-project's [README](https://github.com/Alfresco/alfresco-transform-core/blob/master/alfresco-transform-model/README.md) -* `alfresco-transformer-base` - library packaged as a jar file which contains code that is common +* `alfresco-t-engine-base` - library packaged as a jar file which contains code that is common to all the transformers; see the sub-project's - [README](https://github.com/Alfresco/alfresco-transform-core/blob/master/alfresco-transformer-base/README.md) + [README](https://github.com/Alfresco/alfresco-transform-core/blob/master/alfresco-t-engine-base/README.md) * `alfresco-transform-` - multiple T-Engines; each one of them builds both a SpringBoot fat jar and a [Docker image](https://github.com/Alfresco/alfresco-transform-core#docker) ### Documentation -In addition to the subprojects (such as `alfresco-transformer-base` README above) some additional documentation can be found in: +In addition to the subprojects (such as `alfresco-t-engine-base` README above) some additional documentation can be found in: * [this project's docs](docs) folder * [ACS Packaging docs](https://github.com/Alfresco/acs-packaging/tree/master/docs) folder @@ -49,7 +49,7 @@ The artifacts can be obtained by: org.alfresco - alfresco-transformer-base + alfresco-t-engine-base version ``` diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/pom.xml b/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/pom.xml index 50838284..29e15982 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/pom.xml +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/pom.xml @@ -20,7 +20,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} @@ -30,7 +30,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} tests test-jar diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOController.java b/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOController.java deleted file mode 100644 index 93765567..00000000 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOController.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.aio; - -import org.alfresco.transform.config.TransformConfig; -import org.alfresco.transform.common.TransformException; -import org.alfresco.transform.base.executors.Transformer; -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transformer.probes.ProbeTestTransform; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestParam; - -import java.io.File; -import java.util.HashMap; -import java.util.Map; - -import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; -import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; -import static org.alfresco.transform.config.CoreVersionDecorator.setOrClearCoreVersion; -import static org.alfresco.transform.common.RequestParamMap.CONFIG_VERSION_DEFAULT; -import static org.alfresco.transform.base.util.RequestParamMap.CONFIG_VERSION; -import static org.alfresco.transform.base.util.RequestParamMap.SOURCE_ENCODING; -import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; -import static org.springframework.http.HttpStatus.OK; - -@Controller -public class AIOController extends AbstractTransformerController -{ - private static final Logger logger = LoggerFactory.getLogger(AIOController.class); - - @Autowired - private AIOTransformRegistry transformRegistry; - - @Override - public String getTransformerName() - { - return "All in One Transformer"; - } - - @Override - public String version() - { - return getTransformerName() + " available"; - } - - @Override - public ProbeTestTransform getProbeTestTransform() - { - return new ProbeTestTransform(this, "quick.html", "quick.txt", - 119, 30, 150, 1024, - 60 * 2 + 1, 60 * 2) - { - @Override - protected void executeTransformCommand(File sourceFile, File targetFile) - { - Map parameters = new HashMap<>(); - parameters.put(SOURCE_ENCODING, "UTF-8"); - transformImpl("html", MIMETYPE_HTML, MIMETYPE_TEXT_PLAIN, parameters, sourceFile, targetFile); - } - }; - } - - @Override - public ResponseEntity info( - @RequestParam(value = CONFIG_VERSION, defaultValue = CONFIG_VERSION_DEFAULT) int configVersion) - { - logger.info("GET Transform Config version: " + configVersion); - TransformConfig transformConfig = transformRegistry.getTransformConfig(); - transformConfig = setOrClearCoreVersion(transformConfig, configVersion); - return new ResponseEntity<>(transformConfig, OK); - } - - @Override - public void transformImpl(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, File sourceFile, File targetFile) - { - logger.debug("Processing transform with: transformName; '{}', sourceFile '{}', targetFile '{}', transformOptions" + - " {}", transformName, sourceFile, targetFile, transformOptions); - - Transformer transformer = transformRegistry.getByTransformName(transformName); - if (transformer == null) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), "No transformer mapping for - transform:" - + transformName + " sourceMimetype:" + sourceMimetype + " targetMimetype:" + targetMimetype); - } - - if (logger.isDebugEnabled()) - { - logger.debug("Performing transform with name '{}' using transformer with id '{}'.", transformName, transformer.getTransformerId()); - } - - transformer.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } -} diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOCustomConfig.java b/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOCustomConfig.java deleted file mode 100644 index 8badf978..00000000 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/java/org/alfresco/transform/aio/AIOCustomConfig.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.aio; - -import org.alfresco.transform.registry.TransformServiceRegistry; -import org.alfresco.transform.imagemagick.transformers.ImageMagickCommandExecutor; -import org.alfresco.transform.libreoffice.transformers.LibreOfficeJavaExecutor; -import org.alfresco.transform.pdfRenderer.transformers.PdfRendererCommandExecutor; -import org.alfresco.transform.base.executors.Transformer; -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transform.misc.transformers.SelectingTransformer; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; - -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -@Configuration -public class AIOCustomConfig -{ - @Value("${transform.core.libreoffice.path}") - private String libreofficePath; - - @Value("${transform.core.libreoffice.maxTasksPerProcess}") - private String libreofficeMaxTasksPerProcess; - - @Value("${transform.core.libreoffice.timeout}") - private String libreofficeTimeout; - - @Value("${transform.core.libreoffice.portNumbers}") - private String libreofficePortNumbers; - - @Value("${transform.core.libreoffice.templateProfileDir}") - private String libreofficeTemplateProfileDir; - - @Value("${transform.core.libreoffice.isEnabled}") - private String libreofficeIsEnabled; - - @Value("${transform.core.pdfrenderer.exe}") - private String pdfRendererPath; - - @Value("${transform.core.imagemagick.exe}") - private String imageMagickExePath; - - @Value("${transform.core.imagemagick.dyn}") - private String imageMagickDynPath; - - @Value("${transform.core.imagemagick.root}") - private String imageMagickRootPath; - - @Value("${transform.core.imagemagick.coders}") - private String imageMagickCodersPath; - - @Value("${transform.core.imagemagick.config}") - private String imageMagickConfigPath; - - @Value("${transform.core.tika.pdfBox.notExtractBookmarksTextDefault:false}") - private boolean notExtractBookmarksTextDefault; - - @Value("${transform.core.version}") - private String coreVersion; - - /** - * - * @return Override the TransformRegistryImpl used in {@link AbstractTransformerController} - */ - @Bean - @Primary - public TransformServiceRegistry aioTransformRegistry() throws Exception - { - AIOTransformRegistry aioTransformRegistry = new AIOTransformRegistry(); - aioTransformRegistry.setCoreVersion(coreVersion); - - // T-Engines are sorted by name so they are combined in the same order as in the T-Router - // and Content Repository with individual T-Engines. See TransformersConfigRegistry#retrieveRemoteConfig and - // LocalTransformServiceRegistry#getTEngineUrlsSortedByName. - for (Transformer tEngine : getTEnginesSortedByName()) - { - aioTransformRegistry.registerTransformer(tEngine); // now a poor name - should be combineTransformers - } - aioTransformRegistry.registerCombinedTransformers(); - return aioTransformRegistry; - } - - List getTEnginesSortedByName() - { - return Stream.of(new SelectingTransformer(), -// new TikaJavaExecutor(notExtractBookmarksTextDefault), - new ImageMagickCommandExecutor(imageMagickExePath, imageMagickDynPath, imageMagickRootPath, imageMagickCodersPath, imageMagickConfigPath), - new LibreOfficeJavaExecutor(libreofficePath, libreofficeMaxTasksPerProcess, libreofficeTimeout, libreofficePortNumbers, libreofficeTemplateProfileDir, libreofficeIsEnabled), - new PdfRendererCommandExecutor(pdfRendererPath)) - .sorted(Comparator.comparing(Transformer::getTransformerId)) - .collect(Collectors.toList()); - } -} diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/Dockerfile b/alfresco-transform-core-aio/alfresco-transform-core-aio/Dockerfile similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/Dockerfile rename to alfresco-transform-core-aio/alfresco-transform-core-aio/Dockerfile diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio/pom.xml b/alfresco-transform-core-aio/alfresco-transform-core-aio/pom.xml index 6dc4fa58..5e25bbbc 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio/pom.xml +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/pom.xml @@ -14,7 +14,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/aio/AIOTransformRegistry.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/aio/AIOTransformRegistry.java deleted file mode 100644 index 3a92f182..00000000 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/aio/AIOTransformRegistry.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.aio; - -import com.fasterxml.jackson.databind.ObjectMapper; -import org.alfresco.transform.config.TransformConfig; -import org.alfresco.transform.registry.AbstractTransformRegistry; -import org.alfresco.transform.registry.CombinedTransformConfig; -import org.alfresco.transform.registry.TransformCache; -import org.alfresco.transform.base.executors.Transformer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.HashMap; -import java.util.Map; - -import static java.nio.charset.StandardCharsets.UTF_8; -import static org.alfresco.transform.config.CoreVersionDecorator.setCoreVersionOnSingleStepTransformers; - -/** - * AIOTransformRegistry manages all of the sub transformers registered to it and provides aggregated TransformConfig. - */ -public class AIOTransformRegistry extends AbstractTransformRegistry -{ - private static final Logger log = LoggerFactory.getLogger(AIOTransformRegistry.class); - - private static final String ENGINE_CONFIG_LOCATION_POSTFIX = "_engine_config.json"; - - private String coreVersion; - - private CombinedTransformConfig combinedTransformConfig = new CombinedTransformConfig(); - - // Holds the structures used by AbstractTransformRegistry to look up what is supported. - // Unlike other sub classes this class does not extend Data or replace it at run time. - private TransformCache data = new TransformCache(); - - private ObjectMapper jsonObjectMapper = new ObjectMapper(); - - // Represents the mapping between a transform and a transformer, multiple mappings can point to the same transformer. - private Map transformerEngineMapping = new HashMap(); - - public void setCoreVersion(String coreVersion) - { - this.coreVersion = coreVersion; - } - - /** - * Adds a transformer's (T-Engine) config to the configuration and creates a map of transforms to the T-Engine. - * The name of this method is now misleading as the registry of transforms takes place in - * {@link #registerCombinedTransformers()} . - * @param tEngine The transformer implementation, this could be a single transformer - * or a transformer managing multiple sub transformers. The transformer's configuration file will - * be read based on the {@link Transformer#getTransformerId()} value. - */ - public void registerTransformer(final Transformer tEngine) throws Exception - { - // Load config for the transformer - String location = getTransformConfigLocation(tEngine); - TransformConfig transformConfig = loadTransformConfig(location); - setCoreVersionOnSingleStepTransformers(transformConfig, coreVersion); - String transformerId = tEngine.getTransformerId(); - combinedTransformConfig.addTransformConfig(transformConfig, location, transformerId, this); - - // Map all of the transforms defined in the config to this Transformer implementation - for (org.alfresco.transform.config.Transformer transformerConfig : transformConfig.getTransformers()) - { - String transformerName = transformerConfig.getTransformerName(); - // A later tEngine 'might' override one that has already been defined. That is fine. - Transformer originalTEngine = transformerEngineMapping.get(transformerName); - if (originalTEngine != null) - { - log.debug("Overriding transform with name: '{}' originally defined in '{}'.", transformerName, originalTEngine.getTransformerId()); - } - transformerEngineMapping.put(transformerName, tEngine); - log.debug("Registered transform with name: '{}' defined in '{}'.", transformerName, transformerId); - } - } - - public void registerCombinedTransformers() - { - combinedTransformConfig.combineTransformerConfig(this); - combinedTransformConfig.registerCombinedTransformers(this); - } - - /** - * - * @param transformName The transform name as it appears in TransformConfig. - * @return The transformer implementation mapped to the transform name. - */ - public Transformer getByTransformName(final String transformName) - { - return getTransformerEngineMapping().get(transformName); - } - - /** - * - * @return The aggregated config of all the registered transformers - */ - public TransformConfig getTransformConfig() - { - return combinedTransformConfig.buildTransformConfig(); - } - - protected String getTransformConfigLocation(final Transformer transformer) - { - String location = transformer.getTransformerId() + ENGINE_CONFIG_LOCATION_POSTFIX; - return location; - } - - protected TransformConfig loadTransformConfig(final String name) throws Exception - { - if (getClass().getClassLoader().getResource(name) == null) - { - throw new Exception("Configuration '" + name + "' does not exist on the classpath."); - } - - try (InputStream is = getClass().getClassLoader().getResourceAsStream(name); - Reader reader = new InputStreamReader(is, UTF_8)) - { - return jsonObjectMapper.readValue(reader, TransformConfig.class); - } - catch (IOException e) - { - throw new Exception("Could not read '" + name + "' from the classpath.", e); - } - } - - Map getTransformerEngineMapping() - { - return transformerEngineMapping; - } - - void setTransformerEngineMapping(Map transformerEngineMapping) - { - this.transformerEngineMapping = transformerEngineMapping; - } - - @Override - public TransformCache getData() - { - return data; - } - - @Override - protected void logError(String msg) - { - log.error(msg); - } - - @Override - protected void logWarn(String msg) - { - log.warn(msg); - } -} diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/coreaio/AIOTransformEngine.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/coreaio/AIOTransformEngine.java new file mode 100644 index 00000000..1eee6823 --- /dev/null +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/java/org/alfresco/transform/coreaio/AIOTransformEngine.java @@ -0,0 +1,88 @@ +/* + * #%L + * Alfresco Transform Core + * %% + * Copyright (C) 2005 - 2022 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.transform.coreaio; + +import org.alfresco.transform.base.TransformEngine; +import org.alfresco.transform.base.TransformRegistryImpl; +import org.alfresco.transform.base.probes.ProbeTestTransform; +import org.alfresco.transform.config.TransformConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; + +@Component +public class AIOTransformEngine implements TransformEngine +{ + @Autowired + private TransformRegistryImpl transformRegistry; + @Autowired(required = false) + private List transformEngines; + + @Override + public String getTransformEngineName() + { + return "0060-AllInOne"; + } + + @Override + public String getStartupMessage() + { + String message = ""; + if (transformEngines != null) + { + // Combines the messages of the component TransformEngines. Removes duplicate community license messages. + message = transformEngines.stream() + .filter(transformEngine -> transformEngine != this) + .map(transformEngine -> transformEngine.getStartupMessage()) + .collect( Collectors.joining("\\n")); + message.replace(COMMUNITY_LICENCE + "\\n", ""); + } + return COMMUNITY_LICENCE + "\\n" + message; + } + + @Override + public TransformConfig getTransformConfig() + { + return null; + } + + @Override + public ProbeTestTransform getLivenessAndReadinessProbeTestTransform() + { + return new ProbeTestTransform("quick.pdf", "quick.txt", + MIMETYPE_PDF, MIMETYPE_TEXT_PLAIN, Collections.emptyMap(), + 60, 16, 400, 10240, 60 * 30 + 1, 60 * 15 + 20); + } +} diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/application-default.yaml b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/application-default.yaml similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/application-default.yaml rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/application-default.yaml diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/application.properties b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/application.properties similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/application.properties rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/application.properties diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/Apache 2.0.txt similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/Apache 2.0.txt diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/ImageMagick-license.txt b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/ImageMagick-license.txt similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/ImageMagick-license.txt rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/ImageMagick-license.txt diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/libreoffice.txt b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/libreoffice.txt similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/libreoffice.txt rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/libreoffice.txt diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/pdfium.txt b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/pdfium.txt similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/licenses/3rd-party/pdfium.txt rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/licenses/3rd-party/pdfium.txt diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/quick.html b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/quick.html similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/quick.html rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/quick.html diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerHttpRequestTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerHttpRequestTest.java similarity index 91% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerHttpRequestTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerHttpRequestTest.java index f0090402..9ec2ff6b 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerHttpRequestTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerHttpRequestTest.java @@ -24,9 +24,9 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; -import org.alfresco.transformer.AbstractHttpRequestTest; +import org.alfresco.transform.base.AbstractHttpRequestTest; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerImageMagickTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerImageMagickTest.java similarity index 96% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerImageMagickTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerImageMagickTest.java index fbdc87fd..9e3d380f 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerImageMagickTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerImageMagickTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerLibreOfficeTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerLibreOfficeTest.java similarity index 95% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerLibreOfficeTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerLibreOfficeTest.java index fd690f39..e5f8b8f2 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerLibreOfficeTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerLibreOfficeTest.java @@ -24,14 +24,14 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Map; import org.alfresco.transform.libreoffice.LibreOfficeControllerTest; -import org.alfresco.transform.libreoffice.transformers.LibreOfficeJavaExecutor; +import org.alfresco.transform.libreoffice.transformers.LibreOfficeTransformer; import org.alfresco.transform.base.executors.Transformer; import org.alfresco.transformer.AbstractTransformerController; import org.junit.jupiter.api.Test; @@ -62,7 +62,7 @@ public class AIOControllerLibreOfficeTest extends LibreOfficeControllerTest @Override // Used by the super class to mock the javaExecutor, a different implementation is required here - protected void setJavaExecutor(AbstractTransformerController controller, LibreOfficeJavaExecutor javaExecutor) + protected void setJavaExecutor(AbstractTransformerController controller, LibreOfficeTransformer javaExecutor) { //Need to wire in the mocked javaExecutor into the controller... Map transformers = transformRegistry.getTransformerEngineMapping(); diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerMiscTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerMiscTest.java similarity index 95% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerMiscTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerMiscTest.java index d3272d48..0c21f979 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerMiscTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerMiscTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerPdfRendererTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerPdfRendererTest.java similarity index 93% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerPdfRendererTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerPdfRendererTest.java index fd8315cf..6af371b0 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerPdfRendererTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerPdfRendererTest.java @@ -24,16 +24,13 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.junit.jupiter.api.Assertions.assertTrue; import java.util.Map; -import org.alfresco.transform.aio.AIOController; -import org.alfresco.transform.aio.AIOCustomConfig; -import org.alfresco.transform.aio.AIOTransformRegistry; import org.alfresco.transform.pdfRenderer.AlfrescoPdfRendererControllerTest; import org.alfresco.transform.base.executors.Transformer; import org.junit.jupiter.api.Test; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTest.java similarity index 96% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTest.java index 58794ddd..eecbae55 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import java.io.IOException; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTikaTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTikaTest.java similarity index 95% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTikaTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTikaTest.java index 403145b7..b349c92e 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOControllerTikaTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOControllerTikaTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOCustomConfigTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOCustomConfigTest.java similarity index 98% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOCustomConfigTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOCustomConfigTest.java index 89d47a37..9c46994c 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOCustomConfigTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOCustomConfigTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.aio.AIOController; import org.alfresco.transform.aio.AIOCustomConfig; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOImageMagickIT.java similarity index 94% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOImageMagickIT.java index ff85ada1..68e67919 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOImageMagickIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOImageMagickIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.imagemagick.ImageMagickTransformationIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOLibreOfficeTransformationIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOLibreOfficeTransformationIT.java similarity index 94% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOLibreOfficeTransformationIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOLibreOfficeTransformationIT.java index ac31a2f3..b3864a62 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOLibreOfficeTransformationIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOLibreOfficeTransformationIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.libreoffice.LibreOfficeTransformationIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscMetadataExtractsIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscMetadataExtractsIT.java similarity index 97% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscMetadataExtractsIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscMetadataExtractsIT.java index 6b11b12a..2e4dbf3a 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscMetadataExtractsIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscMetadataExtractsIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.misc.MiscMetadataExtractsIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscTransformsIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscTransformsIT.java similarity index 94% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscTransformsIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscTransformsIT.java index 36cbfa58..fc1616bd 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOMiscTransformsIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOMiscTransformsIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.misc.MiscTransformsIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOPdfRendererIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOPdfRendererIT.java similarity index 94% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOPdfRendererIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOPdfRendererIT.java index cd440114..659c988f 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOPdfRendererIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOPdfRendererIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.pdfRenderer.AlfrescoPdfRendererTransformationIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOQueueTransformServiceIT.java similarity index 95% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOQueueTransformServiceIT.java index adebbdac..9263c753 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOQueueTransformServiceIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOQueueTransformServiceIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaMetadataExtractsIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaMetadataExtractsIT.java similarity index 97% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaMetadataExtractsIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaMetadataExtractsIT.java index 197478a8..b553d5ec 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaMetadataExtractsIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaMetadataExtractsIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.tika.TikaMetadataExtractsIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaTransformationIT.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaTransformationIT.java similarity index 94% rename from alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaTransformationIT.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaTransformationIT.java index d4fb1657..c0b1339b 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio-boot/src/test/java/org/alfresco/transform/aio/AIOTikaTransformationIT.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTikaTransformationIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import org.alfresco.transform.tika.TikaTransformationIT; diff --git a/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/aio/AIOTransformRegistryTest.java b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTransformRegistryTest.java similarity index 99% rename from alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/aio/AIOTransformRegistryTest.java rename to alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTransformRegistryTest.java index 855c4c3d..61db9a4c 100644 --- a/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/aio/AIOTransformRegistryTest.java +++ b/alfresco-transform-core-aio/alfresco-transform-core-aio/src/test/java/org/alfresco/transform/coreaio/AIOTransformRegistryTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.aio; +package org.alfresco.transform.coreaio; import com.fasterxml.jackson.databind.ObjectMapper; import org.alfresco.transform.aio.AIOTransformRegistry; @@ -49,7 +49,7 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import static org.alfresco.transform.base.util.RequestParamMap.PAGE_LIMIT; +import static org.alfresco.transform.common.RequestParamMap.PAGE_LIMIT; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/pom.xml b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/pom.xml index 4845b116..be6f79f5 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/pom.xml +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/pom.xml @@ -20,12 +20,12 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} tests test-jar diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/Application.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/Application.java deleted file mode 100644 index d00d195f..00000000 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/Application.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.imagemagick; - -import io.micrometer.core.instrument.MeterRegistry; -import org.alfresco.transform.imagemagick.transformers.ImageMagickCommandExecutor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.annotation.Bean; -import org.springframework.context.event.EventListener; - -import java.util.Arrays; - -import static org.alfresco.transformer.logging.StandardMessages.LICENCE; - -@SpringBootApplication -@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) -public class Application -{ - private static final Logger logger = LoggerFactory.getLogger(Application.class); - - @Value("${container.name}") - private String containerName; - - @Bean - MeterRegistryCustomizer metricsCommonTags() - { - return registry -> registry.config().commonTags("containerName", containerName); - } - - public static void main(String[] args) - { - SpringApplication.run(Application.class, args); - } - - @EventListener(ApplicationReadyEvent.class) - public void startup() - { - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - Arrays.stream(LICENCE.split("\\n")).forEach(logger::info); - logger.info(ImageMagickCommandExecutor.LICENCE); - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - - logger.info("Starting application components... Done"); - } -} diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/ImageMagickController.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/ImageMagickController.java deleted file mode 100644 index bcfc4a86..00000000 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/java/org/alfresco/transform/imagemagick/ImageMagickController.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.imagemagick; - -import org.alfresco.transform.imagemagick.transformers.ImageMagickCommandExecutor; -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transformer.probes.ProbeTestTransform; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Controller; - -import javax.annotation.PostConstruct; -import java.io.File; -import java.util.Collections; -import java.util.Map; - -/** - * Controller for the Docker based ImageMagick transformer. - * - * - * Status Codes: - * - * 200 Success - * 400 Bad Request: Invalid cropGravity value (North, NorthEast, East, SouthEast, South, SouthWest, West, NorthWest, Center) - * 400 Bad Request: Request parameter is missing (missing mandatory parameter) - * 400 Bad Request: Request parameter is of the wrong type - * 400 Bad Request: Transformer exit code was not 0 (possible problem with the source file) - * 400 Bad Request: The source filename was not supplied - * 500 Internal Server Error: (no message with low level IO problems) - * 500 Internal Server Error: The target filename was not supplied (should not happen as targetExtension is checked) - * 500 Internal Server Error: Transformer version check exit code was not 0 - * 500 Internal Server Error: Transformer version check failed to create any output - * 500 Internal Server Error: Could not read the target file - * 500 Internal Server Error: The target filename was malformed (should not happen because of other checks) - * 500 Internal Server Error: Transformer failed to create an output file (the exit code was 0, so there should be some content) - * 500 Internal Server Error: Filename encoding error - * 507 Insufficient Storage: Failed to store the source file - */ -@Controller -public class ImageMagickController extends AbstractTransformerController -{ - private static final Logger logger = LoggerFactory.getLogger(ImageMagickController.class); - - @Value("${transform.core.imagemagick.exe}") - private String EXE; - - @Value("${transform.core.imagemagick.dyn}") - private String DYN; - - @Value("${transform.core.imagemagick.root}") - private String ROOT; - - @Value("${transform.core.imagemagick.coders}") - private String CODERS; - - @Value("${transform.core.imagemagick.config}") - private String CONFIG; - - ImageMagickCommandExecutor commandExecutor; - - @PostConstruct - private void init() - { - commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT, CODERS, CONFIG); - } - - @Override - public String getTransformerName() - { - return "ImageMagick"; - } - - @Override - public String version() - { - return commandExecutor.version(); - } - - @Override - public ProbeTestTransform getProbeTestTransform() - { - // See the Javadoc on this method and Probes.md for the choice of these values. - return new ProbeTestTransform(this, "quick.jpg", "quick.png", - 35593, 1024, 150, 1024, 60 * 15 + 1, 60 * 15) - { - @Override - protected void executeTransformCommand(File sourceFile, File targetFile) - { - transformImpl(null, null, null, Collections.emptyMap(), sourceFile, targetFile); - } - }; - } - - @Override - protected String getTransformerName(final File sourceFile, final String sourceMimetype, - final String targetMimetype, final Map transformOptions) - { - return null; // does not matter what value is returned, as it is not used because there is only one. - } - - @Override - public void transformImpl(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, File sourceFile, File targetFile) - { - commandExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } -} diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/.maven-dockerignore b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/.maven-dockerignore similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/.maven-dockerignore rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/.maven-dockerignore diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/Dockerfile similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/Dockerfile rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/Dockerfile diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/pom.xml b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/pom.xml index 3f2e0765..bab635de 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/pom.xml +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/pom.xml @@ -14,7 +14,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickOptionsBuilder.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickOptionsBuilder.java index 8270524b..cc2ddaca 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickOptionsBuilder.java +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickOptionsBuilder.java @@ -32,8 +32,8 @@ import org.alfresco.transform.common.TransformException; import java.util.List; import java.util.StringJoiner; -import static org.alfresco.transformer.util.Util.stringToBoolean; -import static org.alfresco.transformer.util.Util.stringToInteger; +import static org.alfresco.transform.base.util.Util.stringToBoolean; +import static org.alfresco.transform.base.util.Util.stringToInteger; import static org.springframework.http.HttpStatus.BAD_REQUEST; /** diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickTransformEngine.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickTransformEngine.java new file mode 100644 index 00000000..2dc4013f --- /dev/null +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/ImageMagickTransformEngine.java @@ -0,0 +1,75 @@ +/* + * #%L + * Alfresco Transform Core + * %% + * Copyright (C) 2005 - 2022 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.transform.imagemagick; + +import org.alfresco.transform.base.TransformEngine; +import org.alfresco.transform.base.probes.ProbeTestTransform; +import org.alfresco.transform.common.TransformConfigResourceReader; +import org.alfresco.transform.config.TransformConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; + +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_JPEG; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_PNG; + +@Component +public class ImageMagickTransformEngine implements TransformEngine +{ + @Autowired + private TransformConfigResourceReader transformConfigResourceReader; + + @Override + public String getTransformEngineName() + { + return "0030-ImageMagick"; + } + + @Override + public String getStartupMessage() + { + return COMMUNITY_LICENCE + + "This transformer uses ImageMagick from ImageMagick Studio LLC. " + + "See the license at http://www.imagemagick.org/script/license.php or in /ImageMagick-license.txt"; + } + + @Override + public TransformConfig getTransformConfig() + { + return transformConfigResourceReader.read("classpath:imagemagick_engine_config.json"); + } + + @Override + public ProbeTestTransform getLivenessAndReadinessProbeTestTransform() + { + return new ProbeTestTransform("quick.jpg", "quick.png", + MIMETYPE_IMAGE_JPEG, MIMETYPE_IMAGE_PNG, Collections.emptyMap(), + 35593, 1024, 150, 1024, 60 * 15 + 1, 60 * 15); + } +} diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickCommandExecutor.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickTransformer.java similarity index 60% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickCommandExecutor.java rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickTransformer.java index dc8f3988..9a2acd0b 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickCommandExecutor.java +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/java/org/alfresco/transform/imagemagick/transformers/ImageMagickTransformer.java @@ -26,104 +26,106 @@ */ package org.alfresco.transform.imagemagick.transformers; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.base.executors.AbstractCommandExecutor; +import org.alfresco.transform.base.executors.RuntimeExec; import org.alfresco.transform.imagemagick.ImageMagickOptionsBuilder; import org.alfresco.transform.common.TransformException; -import org.alfresco.transformer.executors.AbstractCommandExecutor; -import org.alfresco.transformer.executors.RuntimeExec; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; import java.util.HashMap; import java.util.Map; -import static org.alfresco.transformer.util.RequestParamMap.ALLOW_ENLARGEMENT; -import static org.alfresco.transformer.util.RequestParamMap.ALPHA_REMOVE; -import static org.alfresco.transformer.util.RequestParamMap.AUTO_ORIENT; -import static org.alfresco.transformer.util.RequestParamMap.COMMAND_OPTIONS; -import static org.alfresco.transformer.util.RequestParamMap.CROP_GRAVITY; -import static org.alfresco.transformer.util.RequestParamMap.CROP_HEIGHT; -import static org.alfresco.transformer.util.RequestParamMap.CROP_PERCENTAGE; -import static org.alfresco.transformer.util.RequestParamMap.CROP_WIDTH; -import static org.alfresco.transformer.util.RequestParamMap.CROP_X_OFFSET; -import static org.alfresco.transformer.util.RequestParamMap.CROP_Y_OFFSET; -import static org.alfresco.transformer.util.RequestParamMap.END_PAGE; -import static org.alfresco.transformer.util.RequestParamMap.MAINTAIN_ASPECT_RATIO; -import static org.alfresco.transformer.util.RequestParamMap.RESIZE_HEIGHT; -import static org.alfresco.transformer.util.RequestParamMap.RESIZE_PERCENTAGE; -import static org.alfresco.transformer.util.RequestParamMap.RESIZE_WIDTH; -import static org.alfresco.transformer.util.RequestParamMap.START_PAGE; -import static org.alfresco.transformer.util.RequestParamMap.THUMBNAIL; -import static org.alfresco.transformer.util.RequestParamMap.TIMEOUT; -import static org.alfresco.transformer.util.Util.stringToInteger; -import static org.alfresco.transformer.util.Util.stringToLong; +import static org.alfresco.transform.base.util.Util.stringToInteger; +import static org.alfresco.transform.base.util.Util.stringToLong; +import static org.alfresco.transform.common.RequestParamMap.ALLOW_ENLARGEMENT; +import static org.alfresco.transform.common.RequestParamMap.ALPHA_REMOVE; +import static org.alfresco.transform.common.RequestParamMap.AUTO_ORIENT; +import static org.alfresco.transform.common.RequestParamMap.COMMAND_OPTIONS; +import static org.alfresco.transform.common.RequestParamMap.CROP_GRAVITY; +import static org.alfresco.transform.common.RequestParamMap.CROP_HEIGHT; +import static org.alfresco.transform.common.RequestParamMap.CROP_PERCENTAGE; +import static org.alfresco.transform.common.RequestParamMap.CROP_WIDTH; +import static org.alfresco.transform.common.RequestParamMap.CROP_X_OFFSET; +import static org.alfresco.transform.common.RequestParamMap.CROP_Y_OFFSET; +import static org.alfresco.transform.common.RequestParamMap.END_PAGE; +import static org.alfresco.transform.common.RequestParamMap.MAINTAIN_ASPECT_RATIO; +import static org.alfresco.transform.common.RequestParamMap.RESIZE_HEIGHT; +import static org.alfresco.transform.common.RequestParamMap.RESIZE_PERCENTAGE; +import static org.alfresco.transform.common.RequestParamMap.RESIZE_WIDTH; +import static org.alfresco.transform.common.RequestParamMap.START_PAGE; +import static org.alfresco.transform.common.RequestParamMap.THUMBNAIL; +import static org.alfresco.transform.common.RequestParamMap.TIMEOUT; -/** - * CommandExecutor implementation for running ImageMagick transformations. It runs the - * transformation logic as a separate Shell process. - */ -public class ImageMagickCommandExecutor extends AbstractCommandExecutor +@Component +public class ImageMagickTransformer extends AbstractCommandExecutor implements CustomTransformer { - private static final String ID = "imagemagick"; + @Value("${transform.core.imagemagick.exe}") + private String exe; + @Value("${transform.core.imagemagick.dyn}") + private String dyn; + @Value("${transform.core.imagemagick.root}") + private String root; - private final String ROOT; - private final String DYN; - private final String EXE; - private final String CODERS; - private final String CONFIG; + // Not currently used, but may be again in the future if we need an ImageMagick extension + @Value("${transform.core.imagemagick.coders}") + private String coders; + @Value("${transform.core.imagemagick.config}") + private String config; - public ImageMagickCommandExecutor(String exe, String dyn, String root, String coders, String config) + @PostConstruct + private void createCommands() { if (exe == null || exe.isEmpty()) { - throw new IllegalArgumentException("ImageMagickCommandExecutor EXE variable cannot be null or empty"); + throw new IllegalArgumentException("ImageMagickTransformer IMAGEMAGICK_EXE variable cannot be null or empty"); } if (dyn == null || dyn.isEmpty()) { - throw new IllegalArgumentException("ImageMagickCommandExecutor DYN variable cannot be null or empty"); + throw new IllegalArgumentException("ImageMagickTransformer IMAGEMAGICK_DYN variable cannot be null or empty"); } if (root == null || root.isEmpty()) { - throw new IllegalArgumentException("ImageMagickCommandExecutor ROOT variable cannot be null or empty"); + throw new IllegalArgumentException("ImageMagickTransformer IMAGEMAGICK_ROOT variable cannot be null or empty"); } - this.EXE = exe; - this.DYN = dyn; - this.ROOT = root; - this.CODERS = coders; - this.CONFIG = config; super.transformCommand = createTransformCommand(); super.checkCommand = createCheckCommand(); } @Override - public String getTransformerId() + public String getTransformerName() { - return ID; + return "imagemagick"; } - public static final String LICENCE = "This transformer uses ImageMagick from ImageMagick Studio LLC. See the license at http://www.imagemagick.org/script/license.php or in /ImageMagick-license.txt"; - @Override protected RuntimeExec createTransformCommand() { RuntimeExec runtimeExec = new RuntimeExec(); Map commandsAndArguments = new HashMap<>(); commandsAndArguments.put(".*", - new String[]{EXE, "${source}", "SPLIT:${options}", "-strip", "-quiet", "${target}"}); + new String[]{exe, "${source}", "SPLIT:${options}", "-strip", "-quiet", "${target}"}); runtimeExec.setCommandsAndArguments(commandsAndArguments); Map processProperties = new HashMap<>(); - processProperties.put("MAGICK_HOME", ROOT); - processProperties.put("DYLD_FALLBACK_LIBRARY_PATH", DYN); - processProperties.put("LD_LIBRARY_PATH", DYN); + processProperties.put("MAGICK_HOME", root); + processProperties.put("DYLD_FALLBACK_LIBRARY_PATH", dyn); + processProperties.put("LD_LIBRARY_PATH", dyn); //Optional properties (see also https://imagemagick.org/script/resources.php#environment) - if (CODERS != null && !CODERS.isBlank()) + if (coders != null && !coders.isBlank()) { - processProperties.put("MAGICK_CODER_MODULE_PATH", CODERS); + processProperties.put("MAGICK_CODER_MODULE_PATH", coders); } - if (CONFIG != null && !CONFIG.isBlank()) + if (config != null && !config.isBlank()) { - processProperties.put("MAGICK_CONFIGURE_PATH", CONFIG); + processProperties.put("MAGICK_CONFIGURE_PATH", config); } runtimeExec.setProcessProperties(processProperties); @@ -142,12 +144,18 @@ public class ImageMagickCommandExecutor extends AbstractCommandExecutor { RuntimeExec runtimeExec = new RuntimeExec(); Map commandsAndArguments = new HashMap<>(); - commandsAndArguments.put(".*", new String[]{EXE, "-version"}); + commandsAndArguments.put(".*", new String[]{exe, "-version"}); runtimeExec.setCommandsAndArguments(commandsAndArguments); return runtimeExec; } @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO ImageMagick transform"); + } public void transform(String transformName, String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) throws TransformException diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/licenses/3rd-party/ImageMagick-license.txt b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/3rd-party/ImageMagick-license.txt similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/licenses/3rd-party/ImageMagick-license.txt rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/3rd-party/ImageMagick-license.txt diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/application-default.yaml b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/application-default.yaml similarity index 85% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/application-default.yaml rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/application-default.yaml index 30851c71..cc408054 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/application-default.yaml +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/application-default.yaml @@ -3,8 +3,6 @@ queue: transform: core: version: @project.version@ - config: - location: classpath:imagemagick_engine_config.json imagemagick: root: ${IMAGEMAGICK_ROOT:/usr/lib64/ImageMagick-7.0.10} dyn: ${IMAGEMAGICK_DYN:/usr/lib64/ImageMagick-7.0.10/lib} diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/quick.jpg b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/quick.jpg similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/quick.jpg rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/quick.jpg diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java similarity index 99% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java index 3f770d78..76363723 100644 --- a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java +++ b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickControllerTest.java @@ -58,7 +58,7 @@ import javax.annotation.PostConstruct; import org.alfresco.transform.client.model.TransformReply; import org.alfresco.transform.client.model.TransformRequest; -import org.alfresco.transform.imagemagick.transformers.ImageMagickCommandExecutor; +import org.alfresco.transform.imagemagick.transformers.ImageMagickTransformer; import org.alfresco.transformer.AbstractTransformerController; import org.alfresco.transformer.AbstractTransformerControllerTest; import org.alfresco.transformer.executors.RuntimeExec; @@ -119,12 +119,12 @@ public class ImageMagickControllerTest extends AbstractTransformerControllerTest @Value("${transform.core.imagemagick.config}") protected String CONFIG; - ImageMagickCommandExecutor commandExecutor; + ImageMagickTransformer commandExecutor; @PostConstruct private void init() { - commandExecutor = new ImageMagickCommandExecutor(EXE, DYN, ROOT, CODERS, CONFIG); + commandExecutor = new ImageMagickTransformer(EXE, DYN, ROOT, CODERS, CONFIG); } @Autowired diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickHttpRequestTest.java diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickQueueTransformServiceIT.java diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickTransformationIT.java b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickTransformationIT.java similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/java/org/alfresco/transform/imagemagick/ImageMagickTransformationIT.java rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/java/org/alfresco/transform/imagemagick/ImageMagickTransformationIT.java diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_complete.json b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_complete.json similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_complete.json rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_complete.json diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_incomplete.json b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_incomplete.json similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_incomplete.json rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_incomplete.json diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_no_transform_options.json b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_no_transform_options.json similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_no_transform_options.json rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_no_transform_options.json diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_with_duplicates.json b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_with_duplicates.json similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/engine_config_with_duplicates.json rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/engine_config_with_duplicates.json diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.bmp b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.bmp similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.bmp rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.bmp diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.eps b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.eps similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.eps rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.eps diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.gif b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.gif similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.gif rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.gif diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.jpg b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.jpg similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.jpg rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.jpg diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pbm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pbm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pbm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pbm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pgm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pgm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pgm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pgm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.png b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.png similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.png rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.png diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pnm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pnm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.pnm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.pnm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.ppm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.ppm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.ppm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.ppm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.psd b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.psd similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.psd rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.psd diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.tiff b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.tiff similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.tiff rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.tiff diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xbm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xbm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xbm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xbm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xpm b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xpm similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xpm rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xpm diff --git a/alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xwd b/alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xwd similarity index 100% rename from alfresco-transform-imagemagick/alfresco-transform-imagemagick-boot/src/test/resources/quick.xwd rename to alfresco-transform-imagemagick/alfresco-transform-imagemagick/src/test/resources/quick.xwd diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/pom.xml b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/pom.xml index bb0e47b1..e6545925 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/pom.xml +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/pom.xml @@ -20,12 +20,12 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} tests test-jar diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/Application.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/Application.java deleted file mode 100644 index dce69fd4..00000000 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/Application.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.libreoffice; - -import io.micrometer.core.instrument.MeterRegistry; -import org.alfresco.transform.libreoffice.transformers.LibreOfficeJavaExecutor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.annotation.Bean; -import org.springframework.context.event.EventListener; - -import java.util.Arrays; - -import static org.alfresco.transformer.logging.StandardMessages.LICENCE; - -@SpringBootApplication -@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) -public class Application -{ - private static final Logger logger = LoggerFactory.getLogger(Application.class); - - @Value("${container.name}") - private String containerName; - - @Bean - MeterRegistryCustomizer metricsCommonTags() - { - return registry -> registry.config().commonTags("containerName", containerName); - } - - // To run the LibreOffice T-Engine from the command line on a Mac, you generally need to - // install LibreOffice and add: -Dtransform.core.libreoffice.path=/Applications/LibreOffice.app/Contents/ - // to the start up command. - public static void main(String[] args) - { - SpringApplication.run(Application.class, args); - } - - @EventListener(ApplicationReadyEvent.class) - public void startup() - { - logger.info("-------------------------------------------------------------------------------------------------------------------------------------------------------"); - Arrays.stream(LICENCE.split("\\n")).forEach(logger::info); - logger.info(LibreOfficeJavaExecutor.LICENCE); - logger.info("-------------------------------------------------------------------------------------------------------------------------------------------------------"); - - logger.info("Starting application components... Done"); - } -} diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/LibreOfficeController.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/LibreOfficeController.java deleted file mode 100644 index c443b4ee..00000000 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/java/org/alfresco/transform/libreoffice/LibreOfficeController.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.libreoffice; - -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transform.libreoffice.transformers.LibreOfficeJavaExecutor; -import org.alfresco.transformer.probes.ProbeTestTransform; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Controller; - -import javax.annotation.PostConstruct; -import java.io.File; -import java.util.Collections; -import java.util.Map; - -/** - * Controller for the Docker based LibreOffice transformer. - * - * Status Codes: - * - * 200 Success - * 400 Bad Request: Request parameter is missing (missing mandatory parameter) - * 400 Bad Request: Request parameter is of the wrong type - * 400 Bad Request: Transformer exit code was not 0 (possible problem with the source file) - * 400 Bad Request: The source filename was not supplied - * 500 Internal Server Error: (no message with low level IO problems) - * 500 Internal Server Error: The target filename was not supplied (should not happen as targetExtension is checked) - * 500 Internal Server Error: Transformer version check exit code was not 0 - * 500 Internal Server Error: Transformer version check failed to create any output - * 500 Internal Server Error: Could not read the target file - * 500 Internal Server Error: The target filename was malformed (should not happen because of other checks) - * 500 Internal Server Error: Transformer failed to create an output file (the exit code was 0, so there should be some content) - * 500 Internal Server Error: Filename encoding error - * 507 Insufficient Storage: Failed to store the source file - */ -@Controller -public class LibreOfficeController extends AbstractTransformerController -{ - private static final Logger logger = LoggerFactory.getLogger(LibreOfficeController.class); - - @Value("${transform.core.libreoffice.path}") - private String execPath; - - @Value("${transform.core.libreoffice.maxTasksPerProcess}") - private String maxTasksPerProcess; - - @Value("${transform.core.libreoffice.timeout}") - private String timeout; - - @Value("${transform.core.libreoffice.portNumbers}") - private String portNumbers; - - @Value("${transform.core.libreoffice.templateProfileDir}") - private String templateProfileDir; - - @Value("${transform.core.libreoffice.isEnabled}") - private String isEnabled; - - LibreOfficeJavaExecutor javaExecutor; - - @PostConstruct - private void init() - { - javaExecutor = new LibreOfficeJavaExecutor(execPath, maxTasksPerProcess, timeout, portNumbers, templateProfileDir, isEnabled); - } - - @Override - public String getTransformerName() - { - return "LibreOffice"; - } - - @Override - public String version() - { - return "LibreOffice available"; - } - - @Override - public ProbeTestTransform getProbeTestTransform() - { - // See the Javadoc on this method and Probes.md for the choice of these values. - return new ProbeTestTransform(this, "quick.doc", "quick.pdf", - 11817, 1024, 150, 10240, 60 * 30 + 1, 60 * 15 + 20) - { - @Override - protected void executeTransformCommand(File sourceFile, File targetFile) - { - transformImpl(null, null, null, Collections.emptyMap(), sourceFile, targetFile); - javaExecutor.call(sourceFile, targetFile); - } - }; - } - - @Override - protected String getTransformerName(final File sourceFile, final String sourceMimetype, - final String targetMimetype, final Map transformOptions) - { - return null; // does not matter what value is returned, as it is not used because there is only one. - } - - @Override - public void transformImpl(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, File sourceFile, File targetFile) - { - javaExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } -} diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/.maven-dockerignore b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/.maven-dockerignore similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/.maven-dockerignore rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/.maven-dockerignore diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/Dockerfile b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/Dockerfile similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/Dockerfile rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/Dockerfile diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/LICENSES.md b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/LICENSES.md similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/LICENSES.md rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/LICENSES.md diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/pom.xml b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/pom.xml index e31f85d5..89da7bcc 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/pom.xml +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/pom.xml @@ -14,7 +14,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformEngine.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformEngine.java new file mode 100644 index 00000000..f2f60468 --- /dev/null +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformEngine.java @@ -0,0 +1,76 @@ +/* + * #%L + * Alfresco Transform Core + * %% + * Copyright (C) 2005 - 2022 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.transform.libreoffice; + +import org.alfresco.transform.base.TransformEngine; +import org.alfresco.transform.base.probes.ProbeTestTransform; +import org.alfresco.transform.common.TransformConfigResourceReader; +import org.alfresco.transform.config.TransformConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; + +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_WORD; + +@Component +public class LibreOfficeTransformEngine implements TransformEngine +{ + @Autowired + private TransformConfigResourceReader transformConfigResourceReader; + + @Override + public String getTransformEngineName() + { + return "0020-LibreOffice"; + } + + @Override + public String getStartupMessage() + { + return COMMUNITY_LICENCE + + "This transformer uses LibreOffice from The Document Foundation. " + + "See the license at https://www.libreoffice.org/download/license/ or in /libreoffice.txt"; + } + + @Override + public TransformConfig getTransformConfig() + { + + return transformConfigResourceReader.read("classpath:libreoffice_engine_config.json"); + } + + @Override + public ProbeTestTransform getLivenessAndReadinessProbeTestTransform() + { + return new ProbeTestTransform("quick.doc", "quick.pdf", + MIMETYPE_WORD, MIMETYPE_PDF, Collections.emptyMap(), + 11817, 1024, 150, 10240, 60 * 30 + 1, 60 * 15 + 20); + } +} diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeJavaExecutor.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformer.java similarity index 67% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeJavaExecutor.java rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformer.java index 3526300a..621c6f1a 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeJavaExecutor.java +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/java/org/alfresco/transform/libreoffice/transformers/LibreOfficeTransformer.java @@ -28,8 +28,8 @@ package org.alfresco.transform.libreoffice.transformers; import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.star.task.ErrorCodeIOException; +import org.alfresco.transform.base.CustomTransformer; import org.alfresco.transform.common.TransformException; -import org.alfresco.transformer.executors.JavaExecutor; import org.apache.commons.lang3.StringUtils; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; @@ -39,9 +39,14 @@ import org.artofsolving.jodconverter.office.OfficeException; import org.artofsolving.jodconverter.office.OfficeManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import java.io.File; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.io.Serializable; import java.util.Map; @@ -52,105 +57,92 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; * JavaExecutor implementation for running LibreOffice transformations. It loads the * transformation logic in the same JVM (check the {@link JodConverter} implementation). */ -public class LibreOfficeJavaExecutor implements JavaExecutor +@Component +public class LibreOfficeTransformer implements CustomTransformer { - private static String ID = "libreoffice"; - - private static final Logger logger = LoggerFactory.getLogger(LibreOfficeJavaExecutor.class); + private static final Logger logger = LoggerFactory.getLogger(LibreOfficeTransformer.class); private static final int JODCONVERTER_TRANSFORMATION_ERROR_CODE = 3088; - private static String LIBREOFFICE_HOME; + @Value("${transform.core.libreoffice.path}") + private String path; + @Value("${transform.core.libreoffice.maxTasksPerProcess}") + private String maxTasksPerProcess; + @Value("${transform.core.libreoffice.timeout}") + private String timeout; + @Value("${transform.core.libreoffice.portNumbers}") + private String portNumbers; + @Value("${transform.core.libreoffice.templateProfileDir}") + private String templateProfileDir; + @Value("${transform.core.libreoffice.isEnabled}") + private String isEnabled; - private static String LIBREOFFICE_MAX_TASKS_PER_PROCESS; - - private static String LIBREOFFICE_TIMEOUT; - - private static String LIBREOFFICE_PORT_NUMBERS; - - private static String LIBREOFFICE_TEMPLATE_PROFILE_DIR; - - private static String LIBREOFFICE_IS_ENABLED; - - public static final String LICENCE = "This transformer uses LibreOffice from The Document Foundation. See the license at https://www.libreoffice.org/download/license/ or in /libreoffice.txt"; - - private final JodConverter jodconverter; + private JodConverter jodconverter; private final ObjectMapper jsonObjectMapper = new ObjectMapper(); - public LibreOfficeJavaExecutor(String path, String maxTasksPerProcess, String timeout, String portNumbers, String templateProfileDir, String isEnabled) + @PostConstruct + private void createJodConverter() { if (path == null || path.isEmpty()) { - throw new IllegalArgumentException("LibreOfficeJavaExecutor OFFICE_HOME cannot be null or empty"); + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_HOME cannot be null or empty"); } - LIBREOFFICE_HOME = path; - - if(timeout == null || timeout.isEmpty() || !StringUtils.isNumeric(timeout)) + if (maxTasksPerProcess == null || maxTasksPerProcess.isEmpty() || !StringUtils.isNumeric(maxTasksPerProcess)) { - throw new IllegalArgumentException("LibreOfficeJavaExecutor TIMEOUT must have a numeric value"); + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_MAX_TASKS_PER_PROCESS must have a numeric value"); } - LIBREOFFICE_TIMEOUT = timeout; - - if(maxTasksPerProcess == null || maxTasksPerProcess.isEmpty() || !StringUtils.isNumeric(maxTasksPerProcess)) + if (timeout == null || timeout.isEmpty() || !StringUtils.isNumeric(timeout)) { - throw new IllegalArgumentException("LibreOfficeJavaExecutor MAX_TASKS_PER_PROCESS must have a numeric value"); - } - LIBREOFFICE_MAX_TASKS_PER_PROCESS = maxTasksPerProcess; - - if(portNumbers == null || portNumbers.isEmpty()) - { - throw new IllegalArgumentException("LibreOfficeJavaExecutor PORT variable cannot be null or empty"); + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_TIMEOUT must have a numeric value"); } // value parsed and validated in JodConverterSharedInstance#parsePortNumbers(String s, String sys) - LIBREOFFICE_PORT_NUMBERS = portNumbers; - + if (portNumbers == null || portNumbers.isEmpty()) + { + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_PORT_NUMBERS variable cannot be null or empty"); + } if (templateProfileDir == null) { - throw new IllegalArgumentException("LibreOfficeJavaExecutor TEMPLATE_PROFILE_DIR variable cannot be null"); + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_TEMPLATE_PROFILE_DIR variable cannot be null"); } - LIBREOFFICE_TEMPLATE_PROFILE_DIR = templateProfileDir; - - if(isEnabled == null || isEnabled.isEmpty() || !(isEnabled.equalsIgnoreCase("true")|| isEnabled.equalsIgnoreCase("false"))) + if (isEnabled == null || isEnabled.isEmpty() || !(isEnabled.equalsIgnoreCase("true")|| isEnabled.equalsIgnoreCase("false"))) { - throw new IllegalArgumentException("LibreOfficeJavaExecutor IS_ENABLED variable must be set to true/false"); + throw new IllegalArgumentException("LibreOfficeTransformer LIBREOFFICE_IS_ENABLED variable must be set to true/false"); } - LIBREOFFICE_IS_ENABLED = isEnabled; - jodconverter = createJodConverter(); - } - - private static JodConverter createJodConverter() - { - final JodConverterSharedInstance jodconverter = new JodConverterSharedInstance(); - - jodconverter.setOfficeHome(LIBREOFFICE_HOME); // jodconverter.officeHome - jodconverter.setMaxTasksPerProcess(LIBREOFFICE_MAX_TASKS_PER_PROCESS); // jodconverter.maxTasksPerProcess - jodconverter.setTaskExecutionTimeout(LIBREOFFICE_TIMEOUT); // jodconverter.maxTaskExecutionTimeout - jodconverter.setTaskQueueTimeout(LIBREOFFICE_TIMEOUT); // jodconverter.taskQueueTimeout - jodconverter.setConnectTimeout(LIBREOFFICE_TIMEOUT); // jodconverter.connectTimeout - jodconverter.setPortNumbers(LIBREOFFICE_PORT_NUMBERS); // jodconverter.portNumbers - jodconverter.setTemplateProfileDir(LIBREOFFICE_TEMPLATE_PROFILE_DIR); // jodconverter.templateProfileDir - jodconverter.setEnabled(LIBREOFFICE_IS_ENABLED); // jodconverter.enabled - jodconverter.afterPropertiesSet(); - - return jodconverter; + JodConverterSharedInstance sharedInstance = new JodConverterSharedInstance(); + jodconverter = sharedInstance; + sharedInstance.setOfficeHome(path); + sharedInstance.setMaxTasksPerProcess(maxTasksPerProcess); + sharedInstance.setTaskExecutionTimeout(timeout); + sharedInstance.setTaskQueueTimeout(timeout); + sharedInstance.setConnectTimeout(timeout); + sharedInstance.setPortNumbers(portNumbers); + sharedInstance.setTemplateProfileDir(templateProfileDir); + sharedInstance.setEnabled(isEnabled); + sharedInstance.afterPropertiesSet(); } @Override - public String getTransformerId() + public String getTransformerName() { - return ID; + return "libreoffice"; } @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO LibreOffice transform"); + } + public void transform(String transformName, String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) { call(sourceFile, targetFile); } - @Override public void call(File sourceFile, File targetFile, String... args) { try @@ -229,7 +221,6 @@ public class LibreOfficeJavaExecutor implements JavaExecutor * This code exists in case there are custom implementations, that need to be converted to T-Engines. * It is simply a copy and paste from the content repository and has received limited testing. */ - @Override public void extractMetadata(String transformName, String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/licenses/3rd-party/libreoffice.txt b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/3rd-party/libreoffice.txt similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/licenses/3rd-party/libreoffice.txt rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/3rd-party/libreoffice.txt diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/application-default.yaml b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/application-default.yaml similarity index 87% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/application-default.yaml rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/application-default.yaml index 645e2371..e3c39ad5 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/application-default.yaml +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/application-default.yaml @@ -3,8 +3,6 @@ queue: transform: core: version: @project.version@ - config: - location: classpath:libreoffice_engine_config.json libreoffice: path: ${LIBREOFFICE_HOME:/opt/libreoffice7.2} maxTasksPerProcess: ${LIBREOFFICE_MAX_TASKS_PER_PROCESS:200} diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/application.properties b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/application.properties similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/application.properties rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/application.properties diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/quick.doc b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/quick.doc similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/quick.doc rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/quick.doc diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java similarity index 90% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java index 1481f133..a2a5afb0 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeControllerTest.java @@ -28,9 +28,9 @@ package org.alfresco.transform.libreoffice; import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; -import static org.alfresco.transformer.util.RequestParamMap.SOURCE_MIMETYPE; -import static org.alfresco.transformer.util.RequestParamMap.TARGET_EXTENSION; -import static org.alfresco.transformer.util.RequestParamMap.TARGET_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.TARGET_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.TARGET_EXTENSION; import static org.hamcrest.Matchers.containsString; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -58,9 +58,9 @@ import javax.annotation.PostConstruct; import org.alfresco.transform.client.model.TransformReply; import org.alfresco.transform.client.model.TransformRequest; +import org.alfresco.transform.libreoffice.transformers.LibreOfficeTransformer; import org.alfresco.transformer.AbstractTransformerController; import org.alfresco.transformer.AbstractTransformerControllerTest; -import org.alfresco.transform.libreoffice.transformers.LibreOfficeJavaExecutor; import org.alfresco.transformer.executors.RuntimeExec.ExecutionResult; import org.alfresco.transformer.model.FileRefEntity; import org.alfresco.transformer.model.FileRefResponse; @@ -114,12 +114,12 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest @Value("${transform.core.libreoffice.isEnabled}") private String isEnabled; - protected LibreOfficeJavaExecutor javaExecutor; + protected LibreOfficeTransformer javaExecutor; @PostConstruct private void init() { - javaExecutor = Mockito.spy(new LibreOfficeJavaExecutor(execPath, maxTasksPerProcess, timeout, portNumbers, templateProfileDir, isEnabled)); + javaExecutor = Mockito.spy(new LibreOfficeTransformer(execPath, maxTasksPerProcess, timeout, portNumbers, templateProfileDir, isEnabled)); } @Autowired @@ -172,7 +172,7 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest } - protected void setJavaExecutor(AbstractTransformerController controller, LibreOfficeJavaExecutor javaExecutor) + protected void setJavaExecutor(AbstractTransformerController controller, LibreOfficeTransformer javaExecutor) { ReflectionTestUtils.setField(controller, "javaExecutor", javaExecutor); } @@ -314,14 +314,14 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest String errorMessage = ""; try { - new LibreOfficeJavaExecutor(execPath, "INVALID", timeout, portNumbers, templateProfileDir, isEnabled); + new LibreOfficeTransformer(execPath, "INVALID", timeout, portNumbers, templateProfileDir, isEnabled); } catch (IllegalArgumentException e) { errorMessage = e.getMessage(); } - assertEquals("LibreOfficeJavaExecutor MAX_TASKS_PER_PROCESS must have a numeric value", errorMessage); + assertEquals("LibreOfficeTransformer MAX_TASKS_PER_PROCESS must have a numeric value", errorMessage); } @Test @@ -330,14 +330,14 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest String errorMessage = ""; try { - new LibreOfficeJavaExecutor(execPath, maxTasksPerProcess, "INVALID", portNumbers, templateProfileDir, isEnabled); + new LibreOfficeTransformer(execPath, maxTasksPerProcess, "INVALID", portNumbers, templateProfileDir, isEnabled); } catch (IllegalArgumentException e) { errorMessage = e.getMessage(); } - assertEquals("LibreOfficeJavaExecutor TIMEOUT must have a numeric value", errorMessage); + assertEquals("LibreOfficeTransformer TIMEOUT must have a numeric value", errorMessage); } @Test @@ -346,14 +346,14 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest String errorMessage = ""; try { - new LibreOfficeJavaExecutor(execPath, maxTasksPerProcess, timeout, null, templateProfileDir, isEnabled); + new LibreOfficeTransformer(execPath, maxTasksPerProcess, timeout, null, templateProfileDir, isEnabled); } catch (IllegalArgumentException e) { errorMessage = e.getMessage(); } - assertEquals("LibreOfficeJavaExecutor PORT variable cannot be null or empty", errorMessage); + assertEquals("LibreOfficeTransformer PORT variable cannot be null or empty", errorMessage); } @Test @@ -362,13 +362,13 @@ public class LibreOfficeControllerTest extends AbstractTransformerControllerTest String errorMessage = ""; try { - new LibreOfficeJavaExecutor(execPath, maxTasksPerProcess, timeout, portNumbers, templateProfileDir, "INVALID"); + new LibreOfficeTransformer(execPath, maxTasksPerProcess, timeout, portNumbers, templateProfileDir, "INVALID"); } catch (IllegalArgumentException e) { errorMessage = e.getMessage(); } - assertEquals("LibreOfficeJavaExecutor IS_ENABLED variable must be set to true/false", errorMessage); + assertEquals("LibreOfficeTransformer IS_ENABLED variable must be set to true/false", errorMessage); } } diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeHttpRequestTest.java diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeQueueTransformServiceIT.java diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeTransformationIT.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeTransformationIT.java similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeTransformationIT.java rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/java/org/alfresco/transform/libreoffice/LibreOfficeTransformationIT.java diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_complete.json b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_complete.json similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_complete.json rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_complete.json diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_incomplete.json b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_incomplete.json similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_incomplete.json rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_incomplete.json diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_no_transform_options.json b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_no_transform_options.json similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_no_transform_options.json rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_no_transform_options.json diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_with_duplicates.json b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_with_duplicates.json similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/engine_config_with_duplicates.json rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/engine_config_with_duplicates.json diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/people.csv b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/people.csv similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/people.csv rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/people.csv diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.dita b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.dita similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.dita rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.dita diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.doc b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.doc similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.doc rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.doc diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.docx b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.docx similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.docx rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.docx diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.html b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.html similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.html rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.html diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odg b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odg similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odg rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odg diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odp b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odp similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odp rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odp diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ods b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ods similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ods rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ods diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odt b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odt similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.odt rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.odt diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.otp b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.otp similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.otp rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.otp diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.pdf b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.pdf similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.pdf rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.pdf diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppsm b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppsm similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppsm rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppsm diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppsx b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppsx similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppsx rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppsx diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppt b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppt similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.ppt rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.ppt diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.pptx b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.pptx similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.pptx rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.pptx diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stc b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.stc similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stc rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.stc diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sti b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sti similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sti rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sti diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stw b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.stw similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stw rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.stw diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxc b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sxc similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxc rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sxc diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxi b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sxi similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxi rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.sxi diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.txt similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.txt diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.vdx b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.vdx similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.vdx rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.vdx diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.vsd b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.vsd similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.vsd rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.vsd diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.wpd b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.wpd similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.wpd rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.wpd diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xls b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xls similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xls rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xls diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xlsx b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xlsx similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xlsx rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xlsx diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xltm b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xltm similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xltm rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xltm diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xml b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xml similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.xml rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/quick.xml diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/sample.rtf b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/sample.rtf similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/sample.rtf rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/sample.rtf diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/sample.tsv b/alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/sample.tsv similarity index 100% rename from alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/sample.tsv rename to alfresco-transform-libreoffice/alfresco-transform-libreoffice/src/test/resources/sample.tsv diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/pom.xml b/alfresco-transform-misc/alfresco-transform-misc-boot/pom.xml index 06cb1ac0..9274fb46 100644 --- a/alfresco-transform-misc/alfresco-transform-misc-boot/pom.xml +++ b/alfresco-transform-misc/alfresco-transform-misc-boot/pom.xml @@ -20,12 +20,12 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} tests test-jar diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/Application.java b/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/Application.java deleted file mode 100644 index 3d54833b..00000000 --- a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/Application.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.misc; - -import io.micrometer.core.instrument.MeterRegistry; -import org.alfresco.transform.misc.SelectingTransformer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.annotation.Bean; -import org.springframework.context.event.EventListener; - -import java.util.Arrays; - -import static org.alfresco.transformer.logging.StandardMessages.LICENCE; - -@SpringBootApplication -@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) -public class Application -{ - private static final Logger logger = LoggerFactory.getLogger(Application.class); - - @Value("${container.name}") - private String containerName; - - @Bean - MeterRegistryCustomizer metricsCommonTags() - { - return registry -> registry.config().commonTags("containerName", containerName); - } - - public static void main(String[] args) - { - SpringApplication.run(Application.class, args); - } - - @EventListener(ApplicationReadyEvent.class) - public void startup() - { - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - Arrays.stream(LICENCE.split("\\n")).forEach(logger::info); - Arrays.stream(SelectingTransformer.LICENCE.split("\\n")).forEach(logger::info); - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - - logger.info("Starting application components... Done"); - } -} diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/MiscController.java b/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/MiscController.java deleted file mode 100644 index cf2f330d..00000000 --- a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/java/org/alfresco/transform/misc/MiscController.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.misc; - -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transformer.probes.ProbeTestTransform; -import org.alfresco.transform.misc.transformers.SelectingTransformer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; - -import java.io.File; -import java.util.HashMap; -import java.util.Map; - -import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; -import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; -import static org.alfresco.transformer.util.RequestParamMap.SOURCE_ENCODING; - -@Controller -public class MiscController extends AbstractTransformerController -{ - private static final Logger logger = LoggerFactory.getLogger(MiscController.class); - - private SelectingTransformer transformer = new SelectingTransformer(); - - @Override - public String getTransformerName() - { - return "Miscellaneous Transformers"; - } - - @Override - public String version() - { - return getTransformerName() + " available"; - } - - @Override - public ProbeTestTransform getProbeTestTransform() - { - // HtmlParserContentTransformer html -> text - // See the Javadoc on this method and Probes.md for the choice of these values. - return new ProbeTestTransform(this, "quick.html", "quick.txt", - 119, 30, 150, 1024, - 60 * 2 + 1, 60 * 2) - { - @Override - protected void executeTransformCommand(File sourceFile, File targetFile) - { - Map parameters = new HashMap<>(); - parameters.put(SOURCE_ENCODING, "UTF-8"); - transformImpl("html", MIMETYPE_HTML, MIMETYPE_TEXT_PLAIN, parameters, sourceFile, targetFile); - } - }; - } - - @Override - public void transformImpl(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, File sourceFile, File targetFile) - { - transformer.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } -} diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/.maven-dockerignore b/alfresco-transform-misc/alfresco-transform-misc/.maven-dockerignore similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/.maven-dockerignore rename to alfresco-transform-misc/alfresco-transform-misc/.maven-dockerignore diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/Dockerfile b/alfresco-transform-misc/alfresco-transform-misc/Dockerfile similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/Dockerfile rename to alfresco-transform-misc/alfresco-transform-misc/Dockerfile diff --git a/alfresco-transform-misc/alfresco-transform-misc/pom.xml b/alfresco-transform-misc/alfresco-transform-misc/pom.xml index bae2b5b4..80f69d6b 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/pom.xml +++ b/alfresco-transform-misc/alfresco-transform-misc/pom.xml @@ -14,7 +14,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/MiscTransformEngine.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/MiscTransformEngine.java index 846fb77c..f24f965f 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/MiscTransformEngine.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/MiscTransformEngine.java @@ -26,53 +26,59 @@ */ package org.alfresco.transform.misc; +import com.google.common.collect.ImmutableMap; import org.alfresco.transform.base.TransformEngine; import org.alfresco.transform.base.probes.ProbeTestTransform; import org.alfresco.transform.common.TransformConfigResourceReader; import org.alfresco.transform.config.TransformConfig; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; @Component public class MiscTransformEngine implements TransformEngine { - private static final String LICENCE = - "This transformer uses Tika from Apache. See the license at http://www.apache.org/licenses/LICENSE-2.0. or in /Apache\\ 2.0.txt\n" + - "This transformer uses ExifTool by Phil Harvey. See license at https://exiftool.org/#license. or in /Perl-Artistic-License.txt"; + private final Map transformOptions = ImmutableMap.of(SOURCE_ENCODING, "UTF-8"); @Autowired private TransformConfigResourceReader transformConfigResourceReader; - @Value("${transform.core.config.location:classpath:engine_config.json}") - private String engineConfigLocation; @Override public String getTransformEngineName() { - return "0001-Tika"; + return "0050-Misc"; } @Override - public String getStartupMessage() { - return LICENCE; + public String getStartupMessage() + { + return COMMUNITY_LICENCE + + "This transformer uses libraries from Apache. " + + "See the license at http://www.apache.org/licenses/LICENSE-2.0. or in /Apache\\\\ 2.0.txt\\n" + + "Additional libraries used:\n" + + "* htmlparser http://htmlparser.sourceforge.net/license.html"; } @Override public TransformConfig getTransformConfig() { - return transformConfigResourceReader.read(engineConfigLocation); + return transformConfigResourceReader.read("classpath:misc_engine_config.json"); } @Override public ProbeTestTransform getLivenessAndReadinessProbeTestTransform() { - return new ProbeTestTransform("quick.pdf", "quick.txt", - MIMETYPE_PDF, MIMETYPE_TEXT_PLAIN, Collections.emptyMap(), - 60, 16, 400, 10240, 60 * 30 + 1, 60 * 15 + 20); + return new ProbeTestTransform("quick.html", "quick.txt", + MIMETYPE_HTML, MIMETYPE_TEXT_PLAIN, transformOptions, + 119, 30, 150, 1024, 60 * 2 + 1, 60 * 2); } } diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/HtmlMetadataExtractor.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/HtmlMetadataExtractor.java index 38b3ce50..095b7928 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/HtmlMetadataExtractor.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/HtmlMetadataExtractor.java @@ -24,9 +24,11 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transformer.metadataExtractors; +package org.alfresco.transform.misc.metadataExtractors; -import org.alfresco.transform.misc.transformers.SelectableTransformer; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor; +import org.alfresco.transform.common.TransformException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,11 +41,14 @@ import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.Reader; import java.io.Serializable; import java.util.HashMap; import java.util.Map; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; + /** * Metadata extractor for HTML and XHTML. * @@ -61,7 +66,7 @@ import java.util.Map; * @author Derek Hulley * @author adavis */ -public class HtmlMetadataExtractor extends AbstractMetadataExtractor implements SelectableTransformer +public class HtmlMetadataExtractor extends AbstractMetadataExtractor implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger(HtmlMetadataExtractor.class); @@ -71,10 +76,22 @@ public class HtmlMetadataExtractor extends AbstractMetadataExtractor implements public HtmlMetadataExtractor() { - super(logger); + super(EXTRACTOR, logger); } @Override + public String getTransformerName() + { + return getClass().getSimpleName(); + } + + @Override public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO HtmlMetadataExtractor transform"); + } + public void extractMetadata(String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/RFC822MetadataExtractor.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/RFC822MetadataExtractor.java index 36571830..cbbc1cb2 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/RFC822MetadataExtractor.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/metadataExtractors/RFC822MetadataExtractor.java @@ -24,9 +24,11 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transformer.metadataExtractors; +package org.alfresco.transform.misc.metadataExtractors; -import org.alfresco.transform.misc.transformers.SelectableTransformer; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor; +import org.alfresco.transform.common.TransformException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +40,7 @@ import javax.mail.internet.MimeUtility; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.io.OutputStream; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; @@ -46,6 +49,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; + /** * Metadata extractor for RFC822 mime emails. * @@ -66,9 +71,9 @@ import java.util.Set; * @author Derek Hulley * @author adavis */ -public class RFC822MetadataExtractor extends AbstractMetadataExtractor implements SelectableTransformer +public class RFC822MetadataExtractor extends AbstractMetadataExtractor implements CustomTransformer { - private static final Logger logger = LoggerFactory.getLogger(HtmlMetadataExtractor.class); + private static final Logger logger = LoggerFactory.getLogger(RFC822MetadataExtractor.class); protected static final String KEY_MESSAGE_FROM = "messageFrom"; protected static final String KEY_MESSAGE_TO = "messageTo"; @@ -79,10 +84,16 @@ public class RFC822MetadataExtractor extends AbstractMetadataExtractor implement public RFC822MetadataExtractor() { - super(logger); + super(EXTRACTOR, logger); + } + + @Override public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO RFC822MetadataExtractor transform"); } - @Override public void extractMetadata(String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/AppleIWorksContentTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/AppleIWorksContentTransformer.java index 96a0aeab..2f5448c0 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/AppleIWorksContentTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/AppleIWorksContentTransformer.java @@ -27,15 +27,20 @@ package org.alfresco.transform.misc.transformers; import com.google.common.collect.ImmutableList; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.common.TransformException; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.List; @@ -58,7 +63,8 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_JPEG; * @author eknizat * @since 4.0 */ -public class AppleIWorksContentTransformer implements SelectableTransformer +@Component +public class AppleIWorksContentTransformer implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger( AppleIWorksContentTransformer.class); @@ -69,10 +75,22 @@ public class AppleIWorksContentTransformer implements SelectableTransformer private static final List JPG_PATHS = ImmutableList.of( "QuickLook/Thumbnail.jpg", // iWorks 2008/9 "preview.jpg"); // iWorks 2013/14 (720 x 552) We use the best quality image. Others are: - // (225 x 173) preview-web.jpg - // (53 x 41) preview-micro.jpg + // (225 x 173) preview-web.jpg + // (53 x 41) preview-micro.jpg @Override + public String getTransformerName() + { + return "appleIWorks"; + } + + @Override public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO appleIWorks transform"); + } + public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/EMLTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/EMLTransformer.java index 5ae2f38b..68076b08 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/EMLTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/EMLTransformer.java @@ -26,9 +26,12 @@ */ package org.alfresco.transform.misc.transformers; -import org.alfresco.transformer.fs.FileManager; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.base.fs.FileManager; +import org.alfresco.transform.common.TransformException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import javax.mail.MessagingException; import javax.mail.Multipart; @@ -43,6 +46,7 @@ import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Map; @@ -64,8 +68,8 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; * This code is based on a class of the same name originally implemented in alfresco-repository. *

*/ -public class EMLTransformer implements SelectableTransformer - +@Component +public class EMLTransformer implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger(EMLTransformer.class); @@ -73,6 +77,18 @@ public class EMLTransformer implements SelectableTransformer private static final String DEFAULT_ENCODING = "UTF-8"; @Override + public String getTransformerName() + { + return "rfc822"; + } + + @Override public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO rfc822 transform"); + } + public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformer.java index 9b3ebbba..4b678f9e 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/HtmlParserContentTransformer.java @@ -26,15 +26,20 @@ */ package org.alfresco.transform.misc.transformers; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.common.TransformException; import org.htmlparser.Parser; import org.htmlparser.beans.StringBean; import org.htmlparser.util.ParserException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.net.URLConnection; @@ -71,12 +76,26 @@ import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; * @see org.htmlparser.beans.StringBean * @see HTML Parser */ -public class HtmlParserContentTransformer implements SelectableTransformer +@Component +public class HtmlParserContentTransformer implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger( HtmlParserContentTransformer.class); @Override + public String getTransformerName() + { + return "html"; + } + + @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO html transform"); + } + public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/OOXMLThumbnailContentTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/OOXMLThumbnailContentTransformer.java index d684edda..fe4ea888 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/OOXMLThumbnailContentTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/OOXMLThumbnailContentTransformer.java @@ -26,6 +26,8 @@ */ package org.alfresco.transform.misc.transformers; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.common.TransformException; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.openxml4j.opc.PackageRelationship; @@ -33,10 +35,12 @@ import org.apache.poi.openxml4j.opc.PackageRelationshipCollection; import org.apache.poi.openxml4j.opc.PackageRelationshipTypes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.util.Map; @@ -53,12 +57,25 @@ import java.util.Map; * @author Nick Burch * @author eknizat */ -public class OOXMLThumbnailContentTransformer implements SelectableTransformer +@Component +public class OOXMLThumbnailContentTransformer implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger( OOXMLThumbnailContentTransformer.class); + public String getTransformerName() + { + return "ooXmlThumbnail"; + } + @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO ooXmlThumbnail transform"); + } + public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectableTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectableTransformer.java deleted file mode 100644 index 0892e961..00000000 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectableTransformer.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.misc.transformers; - -import java.io.File; -import java.util.Map; - -/** - * Implemented by transformers used by {@link SelectingTransformer}. - * - * @author eknizat - */ -public interface SelectableTransformer -{ - default void transform(String sourceMimetype, String targetMimetype, Map parameters, - File sourceFile, File targetFile) throws Exception - { - } - - default void extractMetadata(String sourceMimetype, String targetMimetype, Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - } - - default void embedMetadata(String sourceMimetype, String targetMimetype, Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - } -} diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectingTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectingTransformer.java deleted file mode 100644 index a0f4ab67..00000000 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/SelectingTransformer.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.misc.transformers; - -import com.google.common.collect.ImmutableMap; -import org.alfresco.transformer.executors.Transformer; -import org.alfresco.transformer.logging.LogEntry; -import org.alfresco.transformer.metadataExtractors.HtmlMetadataExtractor; -import org.alfresco.transformer.metadataExtractors.RFC822MetadataExtractor; - -import java.io.File; -import java.util.Map; -import java.util.StringJoiner; - -import static org.alfresco.transformer.util.RequestParamMap.TRANSFORM_NAME_PARAMETER; - -/** - * The SelectingTransformer selects a registered {@link SelectableTransformer} - * and delegates the transformation to its implementation. - * - * @author eknizat - */ -public class SelectingTransformer implements Transformer -{ - private static final String ID = "misc"; - - public static final String LICENCE = - "This transformer uses libraries from Apache. See the license at http://www.apache.org/licenses/LICENSE-2.0. or in /Apache\\\\ 2.0.txt\\n" + - "Additional libraries used:\n" + - "* htmlparser http://htmlparser.sourceforge.net/license.html"; - - private final Map transformers = ImmutableMap - .builder() - .put("appleIWorks", new AppleIWorksContentTransformer()) - .put("html", new HtmlParserContentTransformer()) - .put("string", new StringExtractingContentTransformer()) - .put("textToPdf", new TextToPdfContentTransformer()) - .put("rfc822", new EMLTransformer()) - .put("ooXmlThumbnail", new OOXMLThumbnailContentTransformer()) - .put("HtmlMetadataExtractor", new HtmlMetadataExtractor()) - .put("RFC822MetadataExtractor", new RFC822MetadataExtractor()) - .build(); - - @Override - public String getTransformerId() - { - return ID; - } - - @Override - public void transform(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - final SelectableTransformer transformer = transformers.get(transformName); - logOptions(sourceFile, targetFile, transformOptions); - transformer.transform(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - - public void extractMetadata(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - final SelectableTransformer transformer = transformers.get(transformName); - logOptions(sourceFile, targetFile, transformOptions); - transformer.extractMetadata(sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - - private static void logOptions(File sourceFile, File targetFile, Map parameters) - { - StringJoiner sj = new StringJoiner(" "); - parameters.forEach((k, v) -> - { - if (!TRANSFORM_NAME_PARAMETER.equals(k)) - { - sj.add("--" + k + "=" + v); - } - }); // keeping the existing style used in other T-Engines - sj.add(getExtension(sourceFile)); - sj.add(getExtension(targetFile)); - LogEntry.setOptions(sj.toString()); - } - - private static String getExtension(File file) - { - final String name = file.getName(); - int i = name.lastIndexOf('.'); - return i == -1 ? "???" : name.substring(i + 1); - } -} diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/StringExtractingContentTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/StringExtractingContentTransformer.java index 2aa58bad..9468aa00 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/StringExtractingContentTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/StringExtractingContentTransformer.java @@ -26,15 +26,20 @@ */ package org.alfresco.transform.misc.transformers; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.common.TransformException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; @@ -58,11 +63,16 @@ import static org.alfresco.transform.common.RequestParamMap.TARGET_ENCODING; * @author Derek Hulley * @author eknizat */ -public class StringExtractingContentTransformer implements SelectableTransformer +@Component +public class StringExtractingContentTransformer implements CustomTransformer { - private static final Logger logger = LoggerFactory.getLogger(StringExtractingContentTransformer.class); + public String getTransformerName() + { + return "string"; + } + /** * Text to text conversions are done directly using the content reader and writer string * manipulation methods. @@ -72,6 +82,13 @@ public class StringExtractingContentTransformer implements SelectableTransformer * be unformatted but valid. */ @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO string transform"); + } + public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformer.java b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformer.java index f8fac5b5..b71e7e3d 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformer.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformer.java @@ -26,7 +26,8 @@ */ package org.alfresco.transform.misc.transformers; -import org.alfresco.transformer.util.RequestParamMap; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.common.TransformException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPageContentStream; @@ -34,6 +35,7 @@ import org.apache.pdfbox.pdmodel.font.PDType1Font; import org.apache.pdfbox.tools.TextToPDF; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.io.BufferedOutputStream; import java.io.BufferedReader; @@ -50,6 +52,7 @@ import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; +import static org.alfresco.transform.common.RequestParamMap.PAGE_LIMIT; import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; /** @@ -62,7 +65,8 @@ import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; * @author Derek Hulley * @author eknizat */ -public class TextToPdfContentTransformer implements SelectableTransformer +@Component +public class TextToPdfContentTransformer implements CustomTransformer { private static final Logger logger = LoggerFactory.getLogger(TextToPdfContentTransformer.class); @@ -70,8 +74,6 @@ public class TextToPdfContentTransformer implements SelectableTransformer private static final byte FE = (byte) 0xFE; private static final byte FF = (byte) 0xFF; - public static final String PAGE_LIMIT = RequestParamMap.PAGE_LIMIT; - private final PagedTextToPDF transformer; public TextToPdfContentTransformer() @@ -106,6 +108,17 @@ public class TextToPdfContentTransformer implements SelectableTransformer } @Override + public String getTransformerName() + { + return "textToPdf"; + } + + @Override public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO textToPdf transform"); + } public void transform(final String sourceMimetype, final String targetMimetype, final Map parameters, final File sourceFile, final File targetFile) throws Exception { diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt b/alfresco-transform-misc/alfresco-transform-misc/src/main/resources/3rd-party/Apache 2.0.txt similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt rename to alfresco-transform-misc/alfresco-transform-misc/src/main/resources/3rd-party/Apache 2.0.txt diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/application-default.yaml b/alfresco-transform-misc/alfresco-transform-misc/src/main/resources/application-default.yaml similarity index 56% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/application-default.yaml rename to alfresco-transform-misc/alfresco-transform-misc/src/main/resources/application-default.yaml index 2624c89b..ccc774b6 100644 --- a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/application-default.yaml +++ b/alfresco-transform-misc/alfresco-transform-misc/src/main/resources/application-default.yaml @@ -2,6 +2,4 @@ queue: engineRequestQueue: ${TRANSFORM_ENGINE_REQUEST_QUEUE:org.alfresco.transform.engine.misc.acs} transform: core: - version: @project.version@ - config: - location: classpath:misc_engine_config.json \ No newline at end of file + version: @project.version@ \ No newline at end of file diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/quick.html b/alfresco-transform-misc/alfresco-transform-misc/src/main/resources/quick.html similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/quick.html rename to alfresco-transform-misc/alfresco-transform-misc/src/main/resources/quick.html diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-misc/alfresco-transform-misc/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-misc/alfresco-transform-misc/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscControllerTest.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscControllerTest.java similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscControllerTest.java rename to alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscControllerTest.java diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscMetadataExtractsIT.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscMetadataExtractsIT.java similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscMetadataExtractsIT.java rename to alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscMetadataExtractsIT.java diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java rename to alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscQueueTransformServiceIT.java diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java similarity index 93% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java rename to alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java index e53fbfcd..739f8104 100644 --- a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscTransformerHttpRequestTest.java @@ -26,7 +26,7 @@ */ package org.alfresco.transform.misc; -import org.alfresco.transformer.AbstractHttpRequestTest; +import org.alfresco.transform.base.AbstractHttpRequestTest; import org.springframework.boot.test.context.SpringBootTest; /** diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscTransformsIT.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscTransformsIT.java similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/java/org/alfresco/transform/misc/MiscTransformsIT.java rename to alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/MiscTransformsIT.java diff --git a/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java index 43ff8b1e..eea70765 100644 --- a/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java +++ b/alfresco-transform-misc/alfresco-transform-misc/src/test/java/org/alfresco/transform/misc/transformers/TextToPdfContentTransformerTest.java @@ -43,8 +43,8 @@ import java.io.StringWriter; import java.util.HashMap; import java.util.Map; -import static org.alfresco.transformer.util.RequestParamMap.PAGE_LIMIT; -import static org.alfresco.transformer.util.RequestParamMap.SOURCE_ENCODING; +import static org.alfresco.transform.common.RequestParamMap.PAGE_LIMIT; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; import static org.junit.jupiter.api.Assertions.assertEquals; public class TextToPdfContentTransformerTest diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/Sample.java.txt b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/Sample.java.txt similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/Sample.java.txt rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/Sample.java.txt diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/misc_engine_config.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/misc_engine_config.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/misc_engine_config.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/misc_engine_config.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/people.csv b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/people.csv similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/people.csv rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/people.csv diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.alternative.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.alternative.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.alternative.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.alternative.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.attachment.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.attachment.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.attachment.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.attachment.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.docx b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.docx similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.docx rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.docx diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.eml_metadata.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.eml_metadata.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.eml_metadata.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.eml_metadata.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.html b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.html similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.html rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.html diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.htmlChars.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.htmlChars.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.htmlChars.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.htmlChars.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.html_metadata.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.html_metadata.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.html_metadata.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.html_metadata.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.japanese.html b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.japanese.html similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.japanese.html rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.japanese.html diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.japanese.html_metadata.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.japanese.html_metadata.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.japanese.html_metadata.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.japanese.html_metadata.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.key b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.key similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.key rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.key diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.nested.alternative.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.nested.alternative.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.nested.alternative.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.nested.alternative.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.numbers b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.numbers similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.numbers rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.numbers diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.pages b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.pages similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.pages rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.pages diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.spanish.eml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.spanish.eml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.spanish.eml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.spanish.eml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.spanish.eml_metadata.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.spanish.eml_metadata.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.spanish.eml_metadata.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.spanish.eml_metadata.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xhtml.alf b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xhtml.alf similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xhtml.alf rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xhtml.alf diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xhtml.alf_metadata.json b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xhtml.alf_metadata.json similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xhtml.alf_metadata.json rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xhtml.alf_metadata.json diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick.xml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick.xml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick2.txt b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick2.txt similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quick2.txt rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quick2.txt diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quickConcept.dita b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quickConcept.dita similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/quickConcept.dita rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/quickConcept.dita diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.etx b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.etx similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.etx rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.etx diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.ics b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.ics similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.ics rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.ics diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.jsp.txt b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.jsp.txt similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.jsp.txt rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.jsp.txt diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.md b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.md similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.md rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.md diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.mw b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.mw similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.mw rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.mw diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.rtf b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.rtf similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.rtf rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.rtf diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.sgml b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.sgml similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.sgml rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.sgml diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.tsv b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.tsv similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/sample.tsv rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/sample.tsv diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/script.js b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/script.js similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/script.js rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/script.js diff --git a/alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/style.css b/alfresco-transform-misc/alfresco-transform-misc/src/test/resources/style.css similarity index 100% rename from alfresco-transform-misc/alfresco-transform-misc-boot/src/test/resources/style.css rename to alfresco-transform-misc/alfresco-transform-misc/src/test/resources/style.css diff --git a/alfresco-transform-model/src/main/java/org/alfresco/transform/common/RequestParamMap.java b/alfresco-transform-model/src/main/java/org/alfresco/transform/common/RequestParamMap.java index 8a309454..dae135de 100644 --- a/alfresco-transform-model/src/main/java/org/alfresco/transform/common/RequestParamMap.java +++ b/alfresco-transform-model/src/main/java/org/alfresco/transform/common/RequestParamMap.java @@ -28,6 +28,13 @@ import org.alfresco.transform.config.CoreVersionDecorator; */ public interface RequestParamMap { + // html parameter names + String FILE = "file"; + String SOURCE_EXTENSION = "sourceExtension"; + String TARGET_EXTENSION = "targetExtension"; + String SOURCE_MIMETYPE = "sourceMimetype"; + String TARGET_MIMETYPE = "targetMimetype"; + // Transform options used in the core transformers. String SOURCE_ENCODING = "sourceEncoding"; String TARGET_ENCODING = "targetEncoding"; diff --git a/alfresco-transform-model/src/main/java/org/alfresco/transform/common/TransformConfigResourceReader.java b/alfresco-transform-model/src/main/java/org/alfresco/transform/common/TransformConfigResourceReader.java index 0be7fcdf..9a88d2ec 100644 --- a/alfresco-transform-model/src/main/java/org/alfresco/transform/common/TransformConfigResourceReader.java +++ b/alfresco-transform-model/src/main/java/org/alfresco/transform/common/TransformConfigResourceReader.java @@ -40,6 +40,12 @@ import java.io.Reader; import static java.nio.charset.StandardCharsets.UTF_8; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; +/** + * Reads {@link TransformConfig} from a {@json} file. Typically used by {@code TransformEngine.getTransformConfig()}. + *
+ *     transformConfigResourceReader.read("classpath:pdfrenderer_engine_config.json");
+ * 
+ */ @Component public class TransformConfigResourceReader { diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/LICENSES.md b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/LICENSES.md deleted file mode 100644 index 10d90777..00000000 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/LICENSES.md +++ /dev/null @@ -1,4 +0,0 @@ -### Licenses - -* The alfresco-pdf-renderer transformer uses the PDFium library from Google Inc. See [https://pdfium.googlesource.com/pdfium/+/master/LICENSE](https://pdfium.googlesource.com/pdfium/+/master/LICENSE) -or the [pdfium.txt](../alfresco-transform-pdf-renderer-boot/src/main/resources/licenses/3rd-party/pdfium.txt) file placed in the root directory of the docker image. diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/pom.xml b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/pom.xml index e79d5919..bacc8c7e 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/pom.xml +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/pom.xml @@ -20,12 +20,12 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} tests test-jar diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererController.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererController.java deleted file mode 100644 index 83c22d29..00000000 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererController.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.pdfRenderer; - -import org.alfresco.transformer.AbstractTransformerController; -import org.alfresco.transform.pdfRenderer.transformers.PdfRendererCommandExecutor; -import org.alfresco.transformer.probes.ProbeTestTransform; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Controller; - -import javax.annotation.PostConstruct; -import java.io.File; -import java.util.Collections; -import java.util.Map; - -/** - * Controller for the Docker based alfresco-pdf-renderer transformer. - * - * Status Codes: - * - * 200 Success - * 400 Bad Request: Request parameter is missing (missing mandatory parameter) - * 400 Bad Request: Request parameter is of the wrong type - * 400 Bad Request: Transformer exit code was not 0 (possible problem with the source file) - * 400 Bad Request: The source filename was not supplied - * 500 Internal Server Error: (no message with low level IO problems) - * 500 Internal Server Error: The target filename was not supplied (should not happen as targetExtension is checked) - * 500 Internal Server Error: Transformer version check exit code was not 0 - * 500 Internal Server Error: Transformer version check failed to create any output - * 500 Internal Server Error: Could not read the target file - * 500 Internal Server Error: The target filename was malformed (should not happen because of other checks) - * 500 Internal Server Error: Transformer failed to create an output file (the exit code was 0, so there should be some content) - * 500 Internal Server Error: Filename encoding error - * 507 Insufficient Storage: Failed to store the source file - */ -@Controller -public class AlfrescoPdfRendererController extends AbstractTransformerController -{ - private static final Logger logger = LoggerFactory.getLogger( - AlfrescoPdfRendererController.class); - - @Value("${transform.core.pdfrenderer.exe}") - private String execPath; - - PdfRendererCommandExecutor commandExecutor; - - @PostConstruct - private void init() - { - commandExecutor = new PdfRendererCommandExecutor(execPath); - } - - @Override - public String getTransformerName() - { - return "Alfresco PDF Renderer"; - } - - @Override - public String version() - { - return commandExecutor.version(); - } - - @Override - public ProbeTestTransform getProbeTestTransform() - { - // See the Javadoc on this method and Probes.md for the choice of these values. - return new ProbeTestTransform(this, "quick.pdf", "quick.png", - 7455, 1024, 150, 10240, 60 * 20 + 1, 60 * 15 - 15) - { - @Override - protected void executeTransformCommand(File sourceFile, File targetFile) - { - transformImpl(null, null, null, Collections.emptyMap(), sourceFile, targetFile); - } - }; - } - - @Override - protected String getTransformerName(final File sourceFile, final String sourceMimetype, - final String targetMimetype, final Map transformOptions) - { - return null; // does not matter what value is returned, as it is not used because there is only one. - } - - @Override - public void transformImpl(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, File sourceFile, File targetFile) - { - commandExecutor.transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } -} diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/Application.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/Application.java deleted file mode 100644 index 5a990709..00000000 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/java/org/alfresco/transform/pdfRenderer/Application.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.pdfRenderer; - -import io.micrometer.core.instrument.MeterRegistry; -import org.alfresco.transform.pdfRenderer.transformers.PdfRendererCommandExecutor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; -import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.annotation.Bean; -import org.springframework.context.event.EventListener; - -import java.util.Arrays; - -import static org.alfresco.transformer.logging.StandardMessages.LICENCE; - -@SpringBootApplication -@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) -public class Application -{ - private static final Logger logger = LoggerFactory.getLogger(Application.class); - - @Value("${container.name}") - private String containerName; - - @Bean - public MeterRegistryCustomizer metricsCommonTags() - { - return registry -> registry.config().commonTags("containerName", containerName); - } - - public static void main(String[] args) - { - SpringApplication.run(Application.class, args); - } - - @EventListener(ApplicationReadyEvent.class) - public void startup() - { - logger.info("-----------------------------------------------------------------------------------------------------------------------------------------------------------"); - Arrays.stream(LICENCE.split("\\n")).forEach(logger::info); - logger.info(PdfRendererCommandExecutor.LICENCE); - logger.info("-----------------------------------------------------------------------------------------------------------------------------------------------------------"); - - logger.info("Starting application components... Done"); - } -} diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/.maven-dockerignore b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/.maven-dockerignore similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/.maven-dockerignore rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/.maven-dockerignore diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/Dockerfile b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/Dockerfile similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/Dockerfile rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/Dockerfile diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/pom.xml b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/pom.xml index d53de47f..5eb0dc88 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/pom.xml +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/pom.xml @@ -14,7 +14,7 @@ org.alfresco - alfresco-transformer-base + alfresco-t-engine-base ${project.version} diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererOptionsBuilder.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererOptionsBuilder.java index fe8dea83..5df54811 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererOptionsBuilder.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererOptionsBuilder.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer; +package org.alfresco.transform.pdfrenderer; import static org.alfresco.transformer.util.Util.stringToBoolean; import static org.alfresco.transformer.util.Util.stringToInteger; diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererTransformEngine.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererTransformEngine.java new file mode 100644 index 00000000..27d070af --- /dev/null +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/PdfRendererTransformEngine.java @@ -0,0 +1,75 @@ +/* + * #%L + * Alfresco Transform Core + * %% + * Copyright (C) 2005 - 2022 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * - + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * - + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * - + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * - + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + * #L% + */ +package org.alfresco.transform.pdfrenderer; + +import org.alfresco.transform.base.TransformEngine; +import org.alfresco.transform.base.probes.ProbeTestTransform; +import org.alfresco.transform.common.TransformConfigResourceReader; +import org.alfresco.transform.config.TransformConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Collections; + +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_PNG; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; +import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; + +@Component +public class PdfRendererTransformEngine implements TransformEngine +{ + @Autowired + private TransformConfigResourceReader transformConfigResourceReader; + + @Override + public String getTransformEngineName() + { + return "0040-PdfRenderer"; + } + + @Override + public String getStartupMessage() { + return COMMUNITY_LICENCE + + "This transformer uses alfresco-pdf-renderer which uses the PDFium library from Google Inc. "+ + "See the license at https://pdfium.googlesource.com/pdfium/+/master/LICENSE or in /pdfium.txt"; + } + + @Override + public TransformConfig getTransformConfig() + { + return transformConfigResourceReader.read("classpath:pdfrenderer_engine_config.json"); + } + + @Override + public ProbeTestTransform getLivenessAndReadinessProbeTestTransform() + { + return new ProbeTestTransform("quick.pdf", "quick.png", + MIMETYPE_PDF, MIMETYPE_IMAGE_PNG, Collections.emptyMap(), + 7455, 1024, 150, 10240, 60 * 20 + 1, 60 * 15 - 15); + } +} \ No newline at end of file diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererCommandExecutor.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererTransformer.java similarity index 63% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererCommandExecutor.java rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererTransformer.java index cd2edbef..b64270fb 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererCommandExecutor.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/java/org/alfresco/transform/pdfRenderer/transformers/PdfRendererTransformer.java @@ -24,52 +24,55 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer.transformers; +package org.alfresco.transform.pdfrenderer.transformers; +import org.alfresco.transform.base.CustomTransformer; +import org.alfresco.transform.base.executors.AbstractCommandExecutor; +import org.alfresco.transform.base.executors.RuntimeExec; import org.alfresco.transform.common.TransformException; -import org.alfresco.transform.pdfRenderer.PdfRendererOptionsBuilder; -import org.alfresco.transformer.executors.AbstractCommandExecutor; -import org.alfresco.transformer.executors.RuntimeExec; +import org.alfresco.transform.pdfrenderer.PdfRendererOptionsBuilder; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import javax.annotation.PostConstruct; import java.io.File; +import java.io.InputStream; +import java.io.OutputStream; import java.util.HashMap; import java.util.Map; -import static org.alfresco.transformer.util.RequestParamMap.ALLOW_PDF_ENLARGEMENT; -import static org.alfresco.transformer.util.RequestParamMap.HEIGHT_REQUEST_PARAM; -import static org.alfresco.transformer.util.RequestParamMap.MAINTAIN_PDF_ASPECT_RATIO; -import static org.alfresco.transformer.util.RequestParamMap.PAGE_REQUEST_PARAM; -import static org.alfresco.transformer.util.RequestParamMap.TIMEOUT; -import static org.alfresco.transformer.util.RequestParamMap.WIDTH_REQUEST_PARAM; -import static org.alfresco.transformer.util.Util.stringToLong; +import static org.alfresco.transform.base.util.Util.stringToLong; +import static org.alfresco.transform.common.RequestParamMap.ALLOW_PDF_ENLARGEMENT; +import static org.alfresco.transform.common.RequestParamMap.HEIGHT_REQUEST_PARAM; +import static org.alfresco.transform.common.RequestParamMap.MAINTAIN_PDF_ASPECT_RATIO; +import static org.alfresco.transform.common.RequestParamMap.PAGE_REQUEST_PARAM; +import static org.alfresco.transform.common.RequestParamMap.TIMEOUT; +import static org.alfresco.transform.common.RequestParamMap.WIDTH_REQUEST_PARAM; /** * CommandExecutor implementation for running PDF Renderer transformations. It runs the * transformation logic as a separate Shell process. */ -public class PdfRendererCommandExecutor extends AbstractCommandExecutor +@Component +public class PdfRendererTransformer extends AbstractCommandExecutor implements CustomTransformer { - private static String ID = "pdfrenderer"; + @Value("${transform.core.pdfrenderer.exe}") + private String exe; - public static final String LICENCE = "This transformer uses alfresco-pdf-renderer which uses the PDFium library from Google Inc. See the license at https://pdfium.googlesource.com/pdfium/+/master/LICENSE or in /pdfium.txt"; - - private final String EXE; - - public PdfRendererCommandExecutor(String exe) + @PostConstruct + private void createCommands() { if (exe == null || exe.isEmpty()) { - throw new IllegalArgumentException("PdfRendererCommandExecutor EXE variable cannot be null or empty"); + throw new IllegalArgumentException("PdfRendererTransformer PDFRENDERER_EXE variable cannot be null or empty"); } - this.EXE = exe; super.transformCommand = createTransformCommand(); super.checkCommand = createCheckCommand(); } - @Override - public String getTransformerId() + @Override public String getTransformerName() { - return ID; + return "pdfrenderer"; } @Override @@ -77,8 +80,7 @@ public class PdfRendererCommandExecutor extends AbstractCommandExecutor { RuntimeExec runtimeExec = new RuntimeExec(); Map commandsAndArguments = new HashMap<>(); - commandsAndArguments.put(".*", - new String[]{EXE, "SPLIT:${options}", "${source}", "${target}"}); + commandsAndArguments.put(".*", new String[]{exe, "SPLIT:${options}", "${source}", "${target}"}); runtimeExec.setCommandsAndArguments(commandsAndArguments); Map defaultProperties = new HashMap<>(); @@ -95,12 +97,18 @@ public class PdfRendererCommandExecutor extends AbstractCommandExecutor { RuntimeExec runtimeExec = new RuntimeExec(); Map commandsAndArguments = new HashMap<>(); - commandsAndArguments.put(".*", new String[]{EXE, "--version"}); + commandsAndArguments.put(".*", new String[]{exe, "--version"}); runtimeExec.setCommandsAndArguments(commandsAndArguments); return runtimeExec; } @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + throw new TransformException(500, "TODO PdfRenderer transform"); + } public void transform(String transformName, String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) throws TransformException diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/licenses/3rd-party/pdfium.txt b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/3rd-party/pdfium.txt similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/licenses/3rd-party/pdfium.txt rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/3rd-party/pdfium.txt diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/application-default.yaml b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/application-default.yaml similarity index 78% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/application-default.yaml rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/application-default.yaml index 1602d74e..921f7323 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/application-default.yaml +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/application-default.yaml @@ -3,7 +3,5 @@ queue: transform: core: version: @project.version@ - config: - location: classpath:pdfrenderer_engine_config.json pdfrenderer: exe: ${PDFRENDERER_EXE:/usr/bin/alfresco-pdf-renderer} \ No newline at end of file diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/quick.pdf b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/quick.pdf similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/quick.pdf rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/quick.pdf diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererControllerTest.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererControllerTest.java similarity index 99% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererControllerTest.java rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererControllerTest.java index 5ff09221..1ef2fe1f 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererControllerTest.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererControllerTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer; +package org.alfresco.transform.pdfrenderer; import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; import static org.hamcrest.Matchers.containsString; diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererHttpRequestTest.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java similarity index 97% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererHttpRequestTest.java rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java index 963040c8..fd8a46a9 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererHttpRequestTest.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererHttpRequestTest.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer; +package org.alfresco.transform.pdfrenderer; import org.alfresco.transformer.AbstractHttpRequestTest; import org.springframework.boot.test.context.SpringBootTest; diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererQueueTransformServiceIT.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java similarity index 98% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererQueueTransformServiceIT.java rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java index c956f643..7f96a457 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererQueueTransformServiceIT.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererQueueTransformServiceIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer; +package org.alfresco.transform.pdfrenderer; import static org.alfresco.transform.common.Mimetype.MIMETYPE_OPENXML_WORDPROCESSING; import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererTransformationIT.java b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererTransformationIT.java similarity index 98% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererTransformationIT.java rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererTransformationIT.java index 613a0dc3..de90d174 100644 --- a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/java/org/alfresco/transform/pdfRenderer/AlfrescoPdfRendererTransformationIT.java +++ b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/java/org/alfresco/transform/pdfrenderer/AlfrescoPdfRendererTransformationIT.java @@ -24,7 +24,7 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.transform.pdfRenderer; +package org.alfresco.transform.pdfrenderer; import static java.text.MessageFormat.format; import static java.util.function.Function.identity; diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_complete.json b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_complete.json similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_complete.json rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_complete.json diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_incomplete.json b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_incomplete.json similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_incomplete.json rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_incomplete.json diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_no_transform_options.json b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_no_transform_options.json similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_no_transform_options.json rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_no_transform_options.json diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_with_duplicates.json b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_with_duplicates.json similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/engine_config_with_duplicates.json rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/engine_config_with_duplicates.json diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/pdfrenderer_engine_config.json b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/pdfrenderer_engine_config.json similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/pdfrenderer_engine_config.json rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/pdfrenderer_engine_config.json diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quick.pdf b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quick.pdf similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quick.pdf rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quick.pdf diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quick.png b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quick.png similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quick.png rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quick.png diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quickCS3.ai b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quickCS3.ai similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quickCS3.ai rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quickCS3.ai diff --git a/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quickCS5.ai b/alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quickCS5.ai similarity index 100% rename from alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer-boot/src/test/resources/quickCS5.ai rename to alfresco-transform-pdf-renderer/alfresco-transform-pdf-renderer/src/test/resources/quickCS5.ai diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/.maven-dockerignore b/alfresco-transform-tika/alfresco-transform-tika/.maven-dockerignore similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/.maven-dockerignore rename to alfresco-transform-tika/alfresco-transform-tika/.maven-dockerignore diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/Dockerfile b/alfresco-transform-tika/alfresco-transform-tika/Dockerfile similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/Dockerfile rename to alfresco-transform-tika/alfresco-transform-tika/Dockerfile diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/TikaTransformEngine.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/TikaTransformEngine.java index 93e1a4e1..31c7cc68 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/TikaTransformEngine.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/TikaTransformEngine.java @@ -31,41 +31,38 @@ import org.alfresco.transform.base.probes.ProbeTestTransform; import org.alfresco.transform.common.TransformConfigResourceReader; import org.alfresco.transform.config.TransformConfig; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Collections; +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; import static org.alfresco.transform.common.Mimetype.MIMETYPE_PDF; import static org.alfresco.transform.common.Mimetype.MIMETYPE_TEXT_PLAIN; @Component public class TikaTransformEngine implements TransformEngine { - private static final String LICENCE = - "This transformer uses Tika from Apache. See the license at http://www.apache.org/licenses/LICENSE-2.0. or in /Apache\\ 2.0.txt\n" + - "This transformer uses ExifTool by Phil Harvey. See license at https://exiftool.org/#license. or in /Perl-Artistic-License.txt"; - @Autowired private TransformConfigResourceReader transformConfigResourceReader; - @Value("${transform.core.config.location:classpath:engine_config.json}") - private String engineConfigLocation; @Override public String getTransformEngineName() { - return "0001-Tika"; + return "0010-Tika"; } @Override - public String getStartupMessage() { - return LICENCE; + public String getStartupMessage() + { + return COMMUNITY_LICENCE + + "This transformer uses Tika from Apache. See the license at http://www.apache.org/licenses/LICENSE-2.0. or in /Apache\\ 2.0.txt\n" + + "This transformer uses ExifTool by Phil Harvey. See license at https://exiftool.org/#license. or in /Perl-Artistic-License.txt"; } @Override public TransformConfig getTransformConfig() { - return transformConfigResourceReader.read(engineConfigLocation); + return transformConfigResourceReader.read("classpath:tika_engine_config.json"); } @Override diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/AbstractTikaMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/AbstractTikaMetadataExtractor.java index 1d7f3613..b8cf8b01 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/AbstractTikaMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/AbstractTikaMetadataExtractor.java @@ -27,8 +27,8 @@ package org.alfresco.transform.tika.metadataExtractors; import org.alfresco.transform.base.CustomTransformer; -import org.alfresco.transform.common.TransformException; import org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor; +import org.alfresco.transform.common.TransformException; import org.apache.tika.embedder.Embedder; import org.apache.tika.extractor.DocumentSelector; import org.apache.tika.metadata.DublinCore; @@ -69,8 +69,6 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; - /** * The parent of all Metadata Extractors which use Apache Tika under the hood. This handles all the * common parts of processing the files, and the common mappings. @@ -101,17 +99,9 @@ public abstract class AbstractTikaMetadataExtractor extends AbstractMetadataExtr private final DateTimeFormatter tikaUTCDateFormater; private final DateTimeFormatter tikaDateFormater; - public static enum Type - { - EXTRACTOR, EMBEDDER - } - - private final Type type; - public AbstractTikaMetadataExtractor(Type type, Logger logger) { - super(logger); - this.type = type; + super(type, logger); // TODO Once TIKA-451 is fixed this list will get nicer DateTimeParser[] parsersUTC = { @@ -130,26 +120,6 @@ public abstract class AbstractTikaMetadataExtractor extends AbstractMetadataExtr tikaDateFormater = new DateTimeFormatterBuilder().append(null, parsers).toFormatter(); } - @Override - public String getTransformerName() { - return getClass().getSimpleName(); - } - - @Override - public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, - String targetMimetype, String targetEncoding, OutputStream outputStream, - Map transformOptions) throws Exception - { - if (type == EXTRACTOR) - { - extractMetadata(sourceMimetype, transformOptions, sourceEncoding, inputStream, targetEncoding, outputStream); - } - else - { - embedMetadata(sourceMimetype, transformOptions, sourceEncoding, inputStream, targetEncoding, outputStream); - } - } - /** * Version which also tries the ISO-8601 formats (in order..), * and similar formats, which Tika makes use of diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/DWGMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/DWGMetadataExtractor.java index 125395ae..977454ff 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/DWGMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/DWGMetadataExtractor.java @@ -37,7 +37,7 @@ import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Map; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; /** * {@code "application/dwg"} and {@code "image/vnd.dwg"} metadata extractor. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/IPTCMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/IPTCMetadataExtractor.java index 36022d0a..93d80295 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/IPTCMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/IPTCMetadataExtractor.java @@ -26,13 +26,6 @@ */ package org.alfresco.transform.tika.metadataExtractors; -import java.io.Serializable; -import java.util.Arrays; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - import org.alfresco.transform.tika.parsers.ExifToolParser; import org.apache.commons.lang3.StringUtils; import org.apache.tika.metadata.Metadata; @@ -41,7 +34,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import java.io.Serializable; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; @Component public class IPTCMetadataExtractor extends AbstractTikaMetadataExtractor diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MP3MetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MP3MetadataExtractor.java index 7467767b..041efbcb 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MP3MetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MP3MetadataExtractor.java @@ -38,8 +38,6 @@ import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Map; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; - /** * MP3 file metadata extractor. * diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MailMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MailMetadataExtractor.java index 82379634..3554c4f0 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MailMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/MailMetadataExtractor.java @@ -38,7 +38,7 @@ import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Map; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; /** * Outlook MAPI format email metadata extractor. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OfficeMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OfficeMetadataExtractor.java index eed591cf..c7190a0b 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OfficeMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OfficeMetadataExtractor.java @@ -38,7 +38,7 @@ import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Map; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; /** * Office file format metadata extractor. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OpenDocumentMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OpenDocumentMetadataExtractor.java index dd53e207..a67c2a09 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OpenDocumentMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/OpenDocumentMetadataExtractor.java @@ -26,9 +26,6 @@ */ package org.alfresco.transform.tika.metadataExtractors; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; -import static org.apache.tika.metadata.DublinCore.NAMESPACE_URI_DC; - import org.apache.tika.metadata.Metadata; import org.apache.tika.metadata.TikaCoreProperties; import org.apache.tika.parser.ParseContext; @@ -51,6 +48,9 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; +import static org.apache.tika.metadata.DublinCore.NAMESPACE_URI_DC; + /** * {@code "application/vnd.oasis.opendocument..."} and {@code "applicationvnd.oasis.opendocument..."} metadata extractor. * diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PdfBoxMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PdfBoxMetadataExtractor.java index 9c7dcec6..d0722051 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PdfBoxMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PdfBoxMetadataExtractor.java @@ -35,7 +35,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; /** * Metadata extractor for the PDF documents. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PoiMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PoiMetadataExtractor.java index f906919c..c110c3d5 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PoiMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/PoiMetadataExtractor.java @@ -45,7 +45,7 @@ import java.util.Collections; import java.util.Set; import java.util.StringJoiner; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; /** * POI-based metadata extractor for Office 07 documents. See http://poi.apache.org/ for information on POI. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAudioMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAudioMetadataExtractor.java index d0e9e5f5..2092244d 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAudioMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAudioMetadataExtractor.java @@ -43,8 +43,8 @@ import java.io.Serializable; import java.util.Calendar; import java.util.Map; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; import static org.alfresco.transform.tika.transformers.Tika.readTikaConfig; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; /** * A Metadata Extractor which makes use of the Apache Tika Audio Parsers to extract metadata from media files. diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAutoMetadataExtractor.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAutoMetadataExtractor.java index 0d0edd7c..ed4aad6b 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAutoMetadataExtractor.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/metadataExtractors/TikaAutoMetadataExtractor.java @@ -38,9 +38,9 @@ import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Map; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; import static org.alfresco.transform.common.Mimetype.MIMETYPE_IMAGE_JPEG; import static org.alfresco.transform.tika.transformers.Tika.readTikaConfig; -import static org.alfresco.transform.tika.metadataExtractors.AbstractTikaMetadataExtractor.Type.EXTRACTOR; /** * A Metadata Extractor which makes use of the Apache Tika auto-detection to select the best parser to extract the diff --git a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/transformers/GenericTikaTransformer.java b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/transformers/GenericTikaTransformer.java index 65f10506..7a47dec2 100644 --- a/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/transformers/GenericTikaTransformer.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/java/org/alfresco/transform/tika/transformers/GenericTikaTransformer.java @@ -28,7 +28,7 @@ package org.alfresco.transform.tika.transformers; import org.alfresco.transform.base.CustomTransformer; import org.alfresco.transform.base.logging.LogEntry; -import org.alfresco.transform.base.util.RequestParamMap; +import org.alfresco.transform.common.RequestParamMap; import org.alfresco.transform.common.TransformException; import org.apache.tika.extractor.DocumentSelector; import org.apache.tika.parser.Parser; diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/3rd-party/Apache 2.0.txt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/licenses/3rd-party/Apache 2.0.txt rename to alfresco-transform-tika/alfresco-transform-tika/src/main/resources/3rd-party/Apache 2.0.txt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/3rd-party/Perl-Artistic-license.txt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/licenses/3rd-party/Perl-Artistic-license.txt rename to alfresco-transform-tika/alfresco-transform-tika/src/main/resources/3rd-party/Perl-Artistic-license.txt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/application-default.yaml b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/application-default.yaml similarity index 80% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/application-default.yaml rename to alfresco-transform-tika/alfresco-transform-tika/src/main/resources/application-default.yaml index 729549ac..e056ae7d 100644 --- a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/application-default.yaml +++ b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/application-default.yaml @@ -3,8 +3,6 @@ queue: transform: core: version: @project.version@ - config: - location: classpath:tika_engine_config.json tika: pdfBox: notExtractBookmarksTextDefault: ${PDFBOX_NOTEXTRACTBOOKMARKS_DEFAULT:false} \ No newline at end of file diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/quick.pdf b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/quick.pdf similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/quick.pdf rename to alfresco-transform-tika/alfresco-transform-tika/src/main/resources/quick.pdf diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/templates/transformForm.html b/alfresco-transform-tika/alfresco-transform-tika/src/main/resources/templates/transformForm.html similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/main/resources/templates/transformForm.html rename to alfresco-transform-tika/alfresco-transform-tika/src/main/resources/templates/transformForm.html diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java similarity index 95% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java index 367261a7..64b82d6a 100644 --- a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaControllerTest.java @@ -26,28 +26,40 @@ */ package org.alfresco.transform.tika; +import org.alfresco.transform.base.AbstractTransformerControllerTest; +import org.alfresco.transform.base.TransformController; +import org.alfresco.transform.base.executors.RuntimeExec; +import org.alfresco.transform.base.model.FileRefEntity; +import org.alfresco.transform.base.model.FileRefResponse; +import org.alfresco.transform.base.probes.ProbeTestTransform; +import org.alfresco.transform.client.model.TransformReply; +import org.alfresco.transform.client.model.TransformRequest; +import org.apache.poi.ooxml.POIXMLProperties; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; +import org.mockito.stubbing.Answer; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.io.Resource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +import javax.servlet.http.HttpServletRequest; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.util.Map; +import java.util.UUID; + import static java.nio.file.Files.readAllBytes; -import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; -import static org.alfresco.transform.tika.transformers.Tika.ARCHIVE; -import static org.alfresco.transform.tika.transformers.Tika.CSV; -import static org.alfresco.transform.tika.transformers.Tika.DOC; -import static org.alfresco.transform.tika.transformers.Tika.DOCX; -import static org.alfresco.transform.tika.transformers.Tika.HTML; -import static org.alfresco.transform.tika.transformers.Tika.MSG; -import static org.alfresco.transform.tika.transformers.Tika.OUTLOOK_MSG; -import static org.alfresco.transform.tika.transformers.Tika.PDF; -import static org.alfresco.transform.tika.transformers.Tika.PDF_BOX; -import static org.alfresco.transform.tika.transformers.Tika.POI; -import static org.alfresco.transform.tika.transformers.Tika.OFFICE; -import static org.alfresco.transform.tika.transformers.Tika.OOXML; -import static org.alfresco.transform.tika.transformers.Tika.PPTX; -import static org.alfresco.transform.tika.transformers.Tika.TEXT_MINING; -import static org.alfresco.transform.tika.transformers.Tika.TIKA_AUTO; -import static org.alfresco.transform.tika.transformers.Tika.TXT; -import static org.alfresco.transform.tika.transformers.Tika.XHTML; -import static org.alfresco.transform.tika.transformers.Tika.XML; -import static org.alfresco.transform.tika.transformers.Tika.XSLX; -import static org.alfresco.transform.tika.transformers.Tika.ZIP; import static org.alfresco.transform.common.Mimetype.MIMETYPE_HTML; import static org.alfresco.transform.common.Mimetype.MIMETYPE_METADATA_EMBED; import static org.alfresco.transform.common.Mimetype.MIMETYPE_OPENXML_PRESENTATION; @@ -61,8 +73,29 @@ import static org.alfresco.transform.common.Mimetype.MIMETYPE_WORD; import static org.alfresco.transform.common.Mimetype.MIMETYPE_XHTML; import static org.alfresco.transform.common.Mimetype.MIMETYPE_XML; import static org.alfresco.transform.common.Mimetype.MIMETYPE_ZIP; -import static org.alfresco.transform.base.util.RequestParamMap.INCLUDE_CONTENTS; -import static org.alfresco.transform.base.util.RequestParamMap.NOT_EXTRACT_BOOKMARKS_TEXT; +import static org.alfresco.transform.common.RequestParamMap.ENDPOINT_TRANSFORM; +import static org.alfresco.transform.common.RequestParamMap.INCLUDE_CONTENTS; +import static org.alfresco.transform.common.RequestParamMap.NOT_EXTRACT_BOOKMARKS_TEXT; +import static org.alfresco.transform.tika.transformers.Tika.ARCHIVE; +import static org.alfresco.transform.tika.transformers.Tika.CSV; +import static org.alfresco.transform.tika.transformers.Tika.DOC; +import static org.alfresco.transform.tika.transformers.Tika.DOCX; +import static org.alfresco.transform.tika.transformers.Tika.HTML; +import static org.alfresco.transform.tika.transformers.Tika.MSG; +import static org.alfresco.transform.tika.transformers.Tika.OFFICE; +import static org.alfresco.transform.tika.transformers.Tika.OOXML; +import static org.alfresco.transform.tika.transformers.Tika.OUTLOOK_MSG; +import static org.alfresco.transform.tika.transformers.Tika.PDF; +import static org.alfresco.transform.tika.transformers.Tika.PDF_BOX; +import static org.alfresco.transform.tika.transformers.Tika.POI; +import static org.alfresco.transform.tika.transformers.Tika.PPTX; +import static org.alfresco.transform.tika.transformers.Tika.TEXT_MINING; +import static org.alfresco.transform.tika.transformers.Tika.TIKA_AUTO; +import static org.alfresco.transform.tika.transformers.Tika.TXT; +import static org.alfresco.transform.tika.transformers.Tika.XHTML; +import static org.alfresco.transform.tika.transformers.Tika.XML; +import static org.alfresco.transform.tika.transformers.Tika.XSLX; +import static org.alfresco.transform.tika.transformers.Tika.ZIP; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -83,40 +116,6 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.util.StringUtils.getFilenameExtension; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.util.Map; -import java.util.UUID; - -import javax.servlet.http.HttpServletRequest; - -import org.alfresco.transform.base.AbstractTransformerControllerTest; -import org.alfresco.transform.base.TransformController; -import org.alfresco.transform.client.model.TransformReply; -import org.alfresco.transform.client.model.TransformRequest; -import org.alfresco.transform.base.executors.RuntimeExec; -import org.alfresco.transform.base.model.FileRefEntity; -import org.alfresco.transform.base.model.FileRefResponse; -import org.alfresco.transform.base.probes.ProbeTestTransform; -import org.apache.poi.ooxml.POIXMLProperties; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.mockito.Mock; -import org.mockito.stubbing.Answer; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.core.io.FileSystemResource; -import org.springframework.core.io.Resource; -import org.springframework.http.HttpHeaders; -import org.springframework.http.ResponseEntity; -import org.springframework.mock.web.MockMultipartFile; -import org.springframework.test.util.ReflectionTestUtils; -import org.springframework.test.web.servlet.MvcResult; -import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; -import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; - /** * Test the TikaController without a server. * Super class includes tests for the AbstractTransformerController. @@ -201,14 +200,14 @@ public class TikaControllerTest extends AbstractTransformerControllerTest assertNotNull(actualOptions); if (expectedOptions != null) { - assertEquals(expectedOptions, actualOptions, "expectedOptions"); + Assertions.assertEquals(expectedOptions, actualOptions, "expectedOptions"); } Long actualTimeout = invocation.getArgument(1); assertNotNull(actualTimeout); if (expectedTimeout != null) { - assertEquals(expectedTimeout, actualTimeout, "expectedTimeout"); + Assertions.assertEquals(expectedTimeout, actualTimeout, "expectedTimeout"); } // Copy a test file into the target file location if it exists @@ -224,7 +223,7 @@ public class TikaControllerTest extends AbstractTransformerControllerTest // Check the supplied source file has not been changed. byte[] actualSourceFileBytes = readAllBytes(new File(actualSource).toPath()); - assertArrayEquals(expectedSourceFileBytes, actualSourceFileBytes, + Assertions.assertArrayEquals(expectedSourceFileBytes, actualSourceFileBytes, "Source file is not the same"); return mockExecutionResult; @@ -250,8 +249,8 @@ public class TikaControllerTest extends AbstractTransformerControllerTest : mockMvcRequest(ENDPOINT_TRANSFORM, sourceFile, "targetExtension", this.targetExtension, INCLUDE_CONTENTS, includeContents.toString()); MvcResult result = mockMvc.perform(requestBuilder) - .andExpect(status().is(OK.value())) - .andExpect(header().string("Content-Disposition", + .andExpect(MockMvcResultMatchers.status().is(OK.value())) + .andExpect(MockMvcResultMatchers.header().string("Content-Disposition", "attachment; filename*= UTF-8''quick." + this.targetExtension)). andReturn(); String content = result.getResponse().getContentAsString(); @@ -366,7 +365,7 @@ public class TikaControllerTest extends AbstractTransformerControllerTest targetEncoding = "rubbish"; mockMvc.perform( mockMvcRequest(ENDPOINT_TRANSFORM, sourceFile, "targetExtension", targetExtension)) - .andExpect(status().is(INTERNAL_SERVER_ERROR.value())); + .andExpect(MockMvcResultMatchers.status().is(INTERNAL_SERVER_ERROR.value())); } // --- Archive --- @@ -557,8 +556,8 @@ public class TikaControllerTest extends AbstractTransformerControllerTest "sourceMimetype", MIMETYPE_OPENXML_SPREADSHEET); MvcResult result = mockMvc.perform(requestBuilder) - .andExpect(status().is(OK.value())) - .andExpect(header().string("Content-Disposition", + .andExpect(MockMvcResultMatchers.status().is(OK.value())) + .andExpect(MockMvcResultMatchers.header().string("Content-Disposition", "attachment; filename*= UTF-8''quick." + targetExtension)). andReturn(); @@ -582,8 +581,8 @@ public class TikaControllerTest extends AbstractTransformerControllerTest mockMvc.perform( mockMvcRequest(ENDPOINT_TRANSFORM, sourceFile, "targetExtension", targetExtension).param( NOT_EXTRACT_BOOKMARKS_TEXT, "true")) - .andExpect(status().is(OK.value())) - .andExpect(header().string("Content-Disposition", + .andExpect(MockMvcResultMatchers.status().is(OK.value())) + .andExpect(MockMvcResultMatchers.header().string("Content-Disposition", "attachment; filename*= UTF-8''quick." + targetExtension)); } @@ -629,7 +628,7 @@ public class TikaControllerTest extends AbstractTransformerControllerTest .header(ACCEPT, APPLICATION_JSON_VALUE) .header(CONTENT_TYPE, APPLICATION_JSON_VALUE) .content(tr)) - .andExpect(status().is(CREATED.value())) + .andExpect(MockMvcResultMatchers.status().is(CREATED.value())) .andReturn().getResponse().getContentAsString(); TransformReply transformReply = objectMapper.readValue(transformationReplyAsString, diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaHttpRequestTest.java diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java similarity index 85% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java index a54aa9fd..fc5f2a72 100644 --- a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaMetadataExtractsIT.java @@ -106,40 +106,40 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT return Stream.of( //IPTCMetadataExtractor - testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quick.jpg"), - testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quickIPTC-EXT.jpg"), - testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quickIPTC-multi-creator.jpg"), - testFile(MIMETYPE_IMAGE_JPEG, "jpg", "testJPEG_IPTC_EXT.jpg"), - testFile(MIMETYPE_IMAGE_GIF, "gif", "quickIPTC.gif"), - testFile(MIMETYPE_IMAGE_PNG, "png", "quickIPTC.png"), - testFile(MIMETYPE_IMAGE_RAW_ARW, "arw", "20140614_163822_Photogrpahy_Class.ARW"), - testFile(MIMETYPE_IMAGE_RAW_CR2, "cr2", "20141227_134519_Palace.CR2"), - testFile(MIMETYPE_IMAGE_RAW_RW2, "rw2", "20140629_145035_Flower.RW2"), - testFile(MIMETYPE_IMAGE_RAW_NEF, "nef", "20150408_074941_Bush.NEF"), - testFile(MIMETYPE_IMAGE_RAW_RAF, "raf", "20160502_190928_London_Underground.RAF"), + TestFileInfo.testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quick.jpg"), + TestFileInfo.testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quickIPTC-EXT.jpg"), + TestFileInfo.testFile(MIMETYPE_IMAGE_JPEG, "jpg", "quickIPTC-multi-creator.jpg"), + TestFileInfo.testFile(MIMETYPE_IMAGE_JPEG, "jpg", "testJPEG_IPTC_EXT.jpg"), + TestFileInfo.testFile(MIMETYPE_IMAGE_GIF, "gif", "quickIPTC.gif"), + TestFileInfo.testFile(MIMETYPE_IMAGE_PNG, "png", "quickIPTC.png"), + TestFileInfo.testFile(MIMETYPE_IMAGE_RAW_ARW, "arw", "20140614_163822_Photogrpahy_Class.ARW"), + TestFileInfo.testFile(MIMETYPE_IMAGE_RAW_CR2, "cr2", "20141227_134519_Palace.CR2"), + TestFileInfo.testFile(MIMETYPE_IMAGE_RAW_RW2, "rw2", "20140629_145035_Flower.RW2"), + TestFileInfo.testFile(MIMETYPE_IMAGE_RAW_NEF, "nef", "20150408_074941_Bush.NEF"), + TestFileInfo.testFile(MIMETYPE_IMAGE_RAW_RAF, "raf", "20160502_190928_London_Underground.RAF"), // DWGMetadataExtractor - testFile(MIMETYPE_APP_DWG, "dwg", "quick2010CustomProps.dwg"), + TestFileInfo.testFile(MIMETYPE_APP_DWG, "dwg", "quick2010CustomProps.dwg"), // MailMetadataExtractor - testFile(MIMETYPE_OUTLOOK_MSG, "msg", "quick.msg"), + TestFileInfo.testFile(MIMETYPE_OUTLOOK_MSG, "msg", "quick.msg"), // MP3MetadataExtractor - testFile(MIMETYPE_MP3, "mp3", "quick.mp3"), + TestFileInfo.testFile(MIMETYPE_MP3, "mp3", "quick.mp3"), // OfficeMetadataExtractor - testFile(MIMETYPE_WORD, "doc", "quick.doc"), + TestFileInfo.testFile(MIMETYPE_WORD, "doc", "quick.doc"), //testFile("application/x-tika-msoffice-embedded; format=ole10_native", "", ""), - testFile(MIMETYPE_VISIO, "vsd", "quick.vsd"), + TestFileInfo.testFile(MIMETYPE_VISIO, "vsd", "quick.vsd"), //testFile("application/vnd.ms-project", "mpp", ""), //testFile("application/x-tika-msworks-spreadsheet", "", ""), //testFile("application/x-mspublisher", "", ""), - testFile(MIMETYPE_PPT, "ppt", "quick.ppt"), + TestFileInfo.testFile(MIMETYPE_PPT, "ppt", "quick.ppt"), //testFile("application/x-tika-msoffice", "", ""), //testFile(MIMETYPE_VISIO_2013, "vsdx", ""), //testFile("application/sldworks", "", ""), //testFile(MIMETYPE_ENCRYPTED_OFFICE, "", ""), - testFile(MIMETYPE_EXCEL, "xls", "quick.xls"), + TestFileInfo.testFile(MIMETYPE_EXCEL, "xls", "quick.xls"), // OpenDocumentMetadataExtractor //testFile("application/x-vnd.oasis.opendocument.presentation", "", ""), @@ -147,14 +147,14 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile(MIMETYPE_OPENDOCUMENT_IMAGE_TEMPLATE, "", ""), //testFile("application/x-vnd.oasis.opendocument.text-web", "", ""), //testFile("application/x-vnd.oasis.opendocument.image", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS_TEMPLATE, "otg", "quick.otg"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS_TEMPLATE, "otg", "quick.otg"), //testFile(MIMETYPE_OPENDOCUMENT_TEXT_WEB, "oth", ""), //testFile("application/x-vnd.oasis.opendocument.spreadsheet-template", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_SPREADSHEET_TEMPLATE, "ots", "quick.ots"), - testFile(MIMETYPE_OPENOFFICE1_WRITER, "sxw", "quick.sxw"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_SPREADSHEET_TEMPLATE, "ots", "quick.ots"), + TestFileInfo.testFile(MIMETYPE_OPENOFFICE1_WRITER, "sxw", "quick.sxw"), //testFile("application/x-vnd.oasis.opendocument.graphics-template", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS, "odg", "quick.odg"), - testFile(MIMETYPE_OPENDOCUMENT_SPREADSHEET, "ods", "quick.ods"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS, "odg", "quick.odg"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_SPREADSHEET, "ods", "quick.ods"), //testFile("application/x-vnd.oasis.opendocument.chart", "", ""), //testFile("application/x-vnd.oasis.opendocument.spreadsheet", "", ""), //testFile(MIMETYPE_OPENDOCUMENT_IMAGE, "odi", ""), @@ -165,23 +165,23 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/vnd.oasis.opendocument.image-template", "", ""), //testFile("application/x-vnd.oasis.opendocument.image-template", "", ""), //testFile("application/x-vnd.oasis.opendocument.presentation-template", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_PRESENTATION_TEMPLATE, "otp", "quick.otp"), - testFile(MIMETYPE_OPENDOCUMENT_TEXT, "odt", "quick.odt"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_PRESENTATION_TEMPLATE, "otp", "quick.otp"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_TEXT, "odt", "quick.odt"), //testFile(MIMETYPE_OPENDOCUMENT_FORMULA_TEMPLATE, "", ""), - testFile(MIMETYPE_OPENDOCUMENT_TEXT_TEMPLATE, "ott", "quick.ott"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_TEXT_TEMPLATE, "ott", "quick.ott"), //testFile("application/vnd.oasis.opendocument.chart-template", "", ""), //testFile("application/x-vnd.oasis.opendocument.chart-template", "", ""), //testFile("application/x-vnd.oasis.opendocument.formula-template", "", ""), //testFile(MIMETYPE_OPENDOCUMENT_DATABASE, "odb", ""), //testFile("application/x-vnd.oasis.opendocument.text-master", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_PRESENTATION, "odp", "quick.odp"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_PRESENTATION, "odp", "quick.odp"), //testFile(MIMETYPE_OPENDOCUMENT_CHART_TEMPLATE, "", ""), //testFile("application/x-vnd.oasis.opendocument.graphics", "", ""), - testFile(MIMETYPE_OPENDOCUMENT_FORMULA, "odf", "quick.odf"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_FORMULA, "odf", "quick.odf"), //testFile(MIMETYPE_OPENDOCUMENT_TEXT_MASTER, "odm", ""), // PdfBoxMetadataExtractor - testFile(MIMETYPE_PDF, "pdf", "quick.pdf"), + TestFileInfo.testFile(MIMETYPE_PDF, "pdf", "quick.pdf"), //testFile(MIMETYPE_APPLICATION_ILLUSTRATOR, "ai", ""), // PoiMetadataExtractor @@ -189,7 +189,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile(MIMETYPE_OPENXML_SPREADSHEET_ADDIN_MACRO, "xlam", ""), //testFile(MIMETYPE_OPENXML_WORD_TEMPLATE, "dotx", ""), //testFile(MIMETYPE_OPENXML_SPREADSHEET_BINARY_MACRO, "xlsb", ""), - testFile(MIMETYPE_OPENXML_WORDPROCESSING, "docx", "quick.docx"), + TestFileInfo.testFile(MIMETYPE_OPENXML_WORDPROCESSING, "docx", "quick.docx"), //testFile(MIMETYPE_OPENXML_PRESENTATION_SLIDE_MACRO, "sldm", ""), //testFile("application/vnd.ms-visio.drawing", "", ""), //testFile(MIMETYPE_OPENXML_PRESENTATION_SLIDESHOW_MACRO, "ppsm", ""), @@ -205,8 +205,8 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/vnd.ms-visio.template.macroenabled.12", "", ""), //testFile("model/vnd.dwfx+xps", "", ""), //testFile(MIMETYPE_OPENXML_PRESENTATION_TEMPLATE, "potx", ""), - testFile(MIMETYPE_OPENXML_PRESENTATION, "pptx", "quick.pptx"), - testFile(MIMETYPE_OPENXML_SPREADSHEET, "xlsx", "quick.xlsx"), + TestFileInfo.testFile(MIMETYPE_OPENXML_PRESENTATION, "pptx", "quick.pptx"), + TestFileInfo.testFile(MIMETYPE_OPENXML_SPREADSHEET, "xlsx", "quick.xlsx"), //testFile("application/vnd.ms-visio.stencil", "", ""), //testFile("application/vnd.ms-visio.template", "", ""), //testFile(MIMETYPE_OPENXML_PRESENTATION_SLIDESHOW, "ppsx", ""), @@ -214,16 +214,16 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile(MIMETYPE_OPENXML_SPREADSHEET_TEMPLATE_MACRO, "xltm", ""), // TikaAudioMetadataExtractor - testFile("video/x-m4v", "m4v", "quick.m4v"), + TestFileInfo.testFile("video/x-m4v", "m4v", "quick.m4v"), //testFile("audio/x-oggflac", "", ""), //testFile("application/mp4", "", ""), - testFile(MIMETYPE_VORBIS, "ogg", "quick.ogg"), - testFile(MIMETYPE_VIDEO_3GP, "3gp", "quick.3gp"), + TestFileInfo.testFile(MIMETYPE_VORBIS, "ogg", "quick.ogg"), + TestFileInfo.testFile(MIMETYPE_VIDEO_3GP, "3gp", "quick.3gp"), //testFile(MIMETYPE_FLAC, "flac", ""), - testFile(MIMETYPE_VIDEO_3GP2, "3g2", "quick.3g2"), - testFile(MIMETYPE_VIDEO_QUICKTIME, "mov", "quick.mov"), - testFile(MIMETYPE_AUDIO_MP4, "m4a", "quick.m4a"), - testFile(MIMETYPE_VIDEO_MP4, "mp4", "quick.mp4"), + TestFileInfo.testFile(MIMETYPE_VIDEO_3GP2, "3g2", "quick.3g2"), + TestFileInfo.testFile(MIMETYPE_VIDEO_QUICKTIME, "mov", "quick.mov"), + TestFileInfo.testFile(MIMETYPE_AUDIO_MP4, "m4a", "quick.m4a"), + TestFileInfo.testFile(MIMETYPE_VIDEO_MP4, "mp4", "quick.mp4"), // TikaAutoMetadataExtractor @@ -243,12 +243,12 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("audio/midi", "", ""), //testFile("application/aaigrid", "", ""), //testFile("application/x-bag", "", ""), - testFile(MIMETYPE_IWORK_KEYNOTE, "key", "quick.key"), + TestFileInfo.testFile(MIMETYPE_IWORK_KEYNOTE, "key", "quick.key"), //testFile("application/x-quattro-pro; version=9", "", ""), //testFile("application/x-ibooks+zip", "", ""), //testFile("audio/wave", "", ""), //testFile("application/x-midi", "", ""), - testFile(MIMETYPE_XML, "xml", "quick.xml"), + TestFileInfo.testFile(MIMETYPE_XML, "xml", "quick.xml"), //testFile(MIMETYPE_RSS, "rss", ""), //testFile("application/x-netcdf", "cdf", ""), //testFile("video/x-daala", "", ""), @@ -276,7 +276,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-rar", "", ""), //testFile("image/sar-ceos", "", ""), //testFile("application/acad", "", ""), - testFile(MIMETYPE_ZIP, "zip", "quick.zip"), + TestFileInfo.testFile(MIMETYPE_ZIP, "zip", "quick.zip"), //testFile(MIMETYPE_IMAGE_PSD, "psd", ""), //testFile("application/x-sharedlib", "", ""), //testFile("audio/x-m4a", "", ""), @@ -302,12 +302,12 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-coredump", "", ""), //testFile("application/x-msaccess", "", ""), //testFile("application/x-dods", "", ""), - testFile(MIMETYPE_IMAGE_PNG, "png", "quick.png"), + TestFileInfo.testFile(MIMETYPE_IMAGE_PNG, "png", "quick.png"), //testFile("application/vnd.ms-outlook-pst", "", ""), //testFile("image/bsb", "", ""), //testFile("application/x-cpio", "cpio", ""), //testFile("audio/ogg", "oga", ""), - testFile("application/x-tar", "tar", "quick.tar"), + TestFileInfo.testFile("application/x-tar", "tar", "quick.tar"), //testFile("application/x-dbf", "", ""), //testFile("video/x-ogm", "", ""), //testFile("application/x-los-las", "", ""), @@ -327,7 +327,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-hdf", "hdf", ""), //testFile("image/x-mff", "", ""), //testFile("image/x-srp", "", ""), - testFile(MIMETYPE_IMAGE_BMP, "bmp", "quick.bmp"), + TestFileInfo.testFile(MIMETYPE_IMAGE_BMP, "bmp", "quick.bmp"), //testFile("video/x-ogguvs", "", ""), //testFile("drawing/dwg", "", ""), //testFile("application/x-doq2", "", ""), @@ -340,7 +340,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-wcs", "", ""), //testFile("text/x-c++src", "", ""), //testFile("application/timestamped-data", "", ""), - testFile(MIMETYPE_IMAGE_TIFF, "tiff", "quick.tiff"), + TestFileInfo.testFile(MIMETYPE_IMAGE_TIFF, "tiff", "quick.tiff"), //testFile("application/msexcel", "", ""), //testFile("application/x-asp", "", ""), //testFile("application/x-rar-compressed", "rar", ""), @@ -396,7 +396,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("image/vnd.microsoft.icon", "", ""), //testFile("application/x-envi", "", ""), //testFile("application/x-dwg", "", ""), - testFile(MIMETYPE_IWORK_NUMBERS, "numbers", "quick.numbers"), + TestFileInfo.testFile(MIMETYPE_IWORK_NUMBERS, "numbers", "quick.numbers"), //testFile("application/vnd.ms-word2006ml", "", ""), //testFile("application/x-bt", "", ""), //testFile("application/x-font-adobe-metric", "", ""), @@ -419,7 +419,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("audio/ogg; codecs=opus", "", ""), //testFile("application/fits", "", ""), //testFile("application/x-r", "", ""), - testFile(MIMETYPE_IMAGE_GIF, "gif", "quick.gif"), + TestFileInfo.testFile(MIMETYPE_IMAGE_GIF, "gif", "quick.gif"), //testFile("application/java-vm", "", ""), //testFile("application/mspowerpoint", "", ""), //testFile("application/x-http", "", ""), @@ -454,13 +454,13 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-executable", "", ""), //testFile("application/x-isatab", "", ""), //testFile("application/grass-ascii-grid", "", ""), - testFile(MIMETYPE_TEXT_PLAIN, "txt", "quick.txt"), + TestFileInfo.testFile(MIMETYPE_TEXT_PLAIN, "txt", "quick.txt"), //testFile("application/gzipped", "", ""), //testFile("application/x-gxf", "", ""), //testFile("application/x-cpg", "", ""), //testFile("application/x-lan", "", ""), //testFile("application/x-xyz", "", ""), - testFile(MIMETYPE_IWORK_PAGES, "pages", "quick.pages"), + TestFileInfo.testFile(MIMETYPE_IWORK_PAGES, "pages", "quick.pages"), //testFile("image/x-jbig2", "", ""), //testFile("image/nitf", "", ""), //testFile("application/mbox", "", ""), @@ -519,7 +519,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT //testFile("application/x-emf", "", ""), //testFile("application/x-geo-pdf", "", ""), //testFile("video/x-ogg-uvs", "", ""), - testFile(MIMETYPE_VIDEO_FLV, "flv", "quick.flv"), + TestFileInfo.testFile(MIMETYPE_VIDEO_FLV, "flv", "quick.flv"), //testFile("application/x-zip-compressed", "", ""), //testFile("application/gzip", "", ""), //testFile("application/x-tika-unix-dump", "", ""), @@ -546,7 +546,7 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT // Test MNT-15219 Excel (.xlsx) containing xmls (shapes/drawings) with multi byte characters may // cause OutOfMemory in Tika Note - doesn't use extractFromMimetype - testFile(MIMETYPE_OPENXML_SPREADSHEET, "xlsx", "dmsu1332-reproduced.xlsx") + TestFileInfo.testFile(MIMETYPE_OPENXML_SPREADSHEET, "xlsx", "dmsu1332-reproduced.xlsx") ); } @@ -565,13 +565,13 @@ public class TikaMetadataExtractsIT extends AbstractMetadataExtractsIT // - the replacement TikaCoreProperties.SUBJECT raw metadata changed into a multi value // The following test files were the ones that failed. return Stream.of( - testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS_TEMPLATE, "otg", "quick.otg"), - testFile(MIMETYPE_OPENOFFICE1_WRITER, "sxw", "quick.sxw"), - testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS, "odg", "quick.odg"), - testFile(MIMETYPE_OPENDOCUMENT_TEXT, "odt", "quick.odt"), - testFile(MIMETYPE_OPENDOCUMENT_TEXT_TEMPLATE, "ott", "quick.ott"), - testFile(MIMETYPE_OPENDOCUMENT_FORMULA, "odf", "quick.odf"), - testFile(MIMETYPE_PDF, "pdf", "quick.pdf") + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS_TEMPLATE, "otg", "quick.otg"), + TestFileInfo.testFile(MIMETYPE_OPENOFFICE1_WRITER, "sxw", "quick.sxw"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_GRAPHICS, "odg", "quick.odg"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_TEXT, "odt", "quick.odt"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_TEXT_TEMPLATE, "ott", "quick.ott"), + TestFileInfo.testFile(MIMETYPE_OPENDOCUMENT_FORMULA, "odf", "quick.odf"), + TestFileInfo.testFile(MIMETYPE_PDF, "pdf", "quick.pdf") ); } } diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaQueueTransformServiceIT.java diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java similarity index 98% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java index b91cc9f5..61068b72 100644 --- a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java +++ b/alfresco-transform-tika/alfresco-transform-tika/src/test/java/org/alfresco/transform/tika/TikaTransformationIT.java @@ -84,7 +84,7 @@ public class TikaTransformationIT sourceFile, sourceMimetype, targetMimetype, targetExtension); try { - final ResponseEntity response = sendTRequest(ENGINE_URL, sourceFile, null, + final ResponseEntity response = EngineClient.sendTRequest(ENGINE_URL, sourceFile, null, targetMimetype, targetExtension, ImmutableMap.of( "targetEncoding", "UTF-8", "sourceMimetype", sourceMimetype)); diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140614_163822_Photogrpahy_Class.ARW b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140614_163822_Photogrpahy_Class.ARW similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140614_163822_Photogrpahy_Class.ARW rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140614_163822_Photogrpahy_Class.ARW diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140614_163822_Photogrpahy_Class.ARW_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140614_163822_Photogrpahy_Class.ARW_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140614_163822_Photogrpahy_Class.ARW_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140614_163822_Photogrpahy_Class.ARW_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140629_145035_Flower.RW2 b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140629_145035_Flower.RW2 similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140629_145035_Flower.RW2 rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140629_145035_Flower.RW2 diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140629_145035_Flower.RW2_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140629_145035_Flower.RW2_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20140629_145035_Flower.RW2_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20140629_145035_Flower.RW2_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20141227_134519_Palace.CR2 b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20141227_134519_Palace.CR2 similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20141227_134519_Palace.CR2 rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20141227_134519_Palace.CR2 diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20141227_134519_Palace.CR2_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20141227_134519_Palace.CR2_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20141227_134519_Palace.CR2_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20141227_134519_Palace.CR2_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20150408_074941_Bush.NEF b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20150408_074941_Bush.NEF similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20150408_074941_Bush.NEF rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20150408_074941_Bush.NEF diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20150408_074941_Bush.NEF_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20150408_074941_Bush.NEF_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20150408_074941_Bush.NEF_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20150408_074941_Bush.NEF_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20160502_190928_London_Underground.RAF b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20160502_190928_London_Underground.RAF similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20160502_190928_London_Underground.RAF rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20160502_190928_London_Underground.RAF diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20160502_190928_London_Underground.RAF_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20160502_190928_London_Underground.RAF_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/20160502_190928_London_Underground.RAF_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/20160502_190928_London_Underground.RAF_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/dmsu1332-reproduced.xlsx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/dmsu1332-reproduced.xlsx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/dmsu1332-reproduced.xlsx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/dmsu1332-reproduced.xlsx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/dmsu1332-reproduced.xlsx_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/dmsu1332-reproduced.xlsx_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/dmsu1332-reproduced.xlsx_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/dmsu1332-reproduced.xlsx_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_complete.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_complete.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_complete.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_complete.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_incomplete.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_incomplete.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_incomplete.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_incomplete.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_no_transform_options.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_no_transform_options.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_no_transform_options.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_no_transform_options.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_with_duplicates.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_with_duplicates.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/engine_config_with_duplicates.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/engine_config_with_duplicates.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/problemFootnotes2.docx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/problemFootnotes2.docx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/problemFootnotes2.docx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/problemFootnotes2.docx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3g2 b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3g2 similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3g2 rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3g2 diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3g2_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3g2_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3g2_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3g2_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3gp b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3gp similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3gp rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3gp diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3gp_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3gp_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.3gp_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.3gp_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ai b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ai similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ai rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ai diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ai_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ai_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ai_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ai_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.bmp b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.bmp similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.bmp rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.bmp diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.bmp_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.bmp_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.bmp_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.bmp_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.csv b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.csv similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.csv rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.csv diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.doc b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.doc similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.doc rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.doc diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.doc_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.doc_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.doc_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.doc_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.docx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.docx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.docx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.docx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.docx_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.docx_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.docx_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.docx_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.flv b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.flv similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.flv rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.flv diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.flv_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.flv_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.flv_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.flv_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.gif b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.gif similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.gif rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.gif diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.gif_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.gif_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.gif_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.gif_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.html b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.html similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.html rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.html diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jar b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jar similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jar rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jar diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.java b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.java similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.java rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.java diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jpg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jpg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jpg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jpg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jpg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jpg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.jpg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.jpg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.key b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.key similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.key rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.key diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.key_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.key_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.key_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.key_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4a b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4a similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4a rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4a diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4a_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4a_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4a_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4a_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4v b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4v similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4v rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4v diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4v_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4v_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.m4v_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.m4v_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mov b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mov similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mov rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mov diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mov_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mov_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mov_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mov_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp3 b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp3 similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp3 rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp3 diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp3_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp3_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp3_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp3_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp4 b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp4 similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp4 rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp4 diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp4_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp4_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.mp4_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.mp4_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.msg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.msg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.msg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.msg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.msg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.msg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.msg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.msg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.numbers b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.numbers similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.numbers rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.numbers diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.numbers_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.numbers_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.numbers_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.numbers_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odf b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odf similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odf rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odf diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odf_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odf_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odf_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odf_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odp b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odp similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odp rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odp diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odp_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odp_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odp_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odp_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ods b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ods similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ods rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ods diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ods_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ods_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ods_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ods_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odt b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odt rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odt_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odt_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.odt_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.odt_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogv b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogv similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ogv rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ogv diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otp b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otp similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otp rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otp diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otp_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otp_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.otp_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.otp_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ots b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ots similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ots rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ots diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ots_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ots_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ots_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ots_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ott b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ott similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ott rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ott diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ott_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ott_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ott_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ott_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pages b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pages similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pages rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pages diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pages_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pages_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pages_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pages_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pdf b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pdf similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pdf rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pdf diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pdf_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pdf_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pdf_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pdf_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.png b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.png similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.png rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.png diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.png_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.png_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.png_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.png_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ppt b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ppt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ppt rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ppt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ppt_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ppt_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.ppt_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.ppt_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pptx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pptx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pptx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pptx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pptx_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pptx_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.pptx_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.pptx_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.rar b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.rar similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.rar rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.rar diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.sxw b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.sxw similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.sxw rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.sxw diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.sxw_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.sxw_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.sxw_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.sxw_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar.gz b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar.gz similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar.gz rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar.gz diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tar_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tar_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tiff b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tiff similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tiff rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tiff diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tiff_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tiff_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.tiff_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.tiff_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.txt b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.txt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.txt rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.txt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.txt_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.txt_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.txt_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.txt_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.vsd b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.vsd similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.vsd rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.vsd diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.vsd_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.vsd_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.vsd_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.vsd_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xls b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xls similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xls rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xls diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xls_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xls_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xls_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xls_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xlsx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xlsx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xlsx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xlsx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xlsx_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xlsx_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xlsx_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xlsx_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xml b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xml similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xml rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xml diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xml_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xml_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xml_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xml_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xslx b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xslx similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.xslx rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.xslx diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.z b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.z similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.z rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.z diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.zip b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.zip similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.zip rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.zip diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.zip_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.zip_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick.zip_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick.zip_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick2010CustomProps.dwg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick2010CustomProps.dwg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick2010CustomProps.dwg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick2010CustomProps.dwg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick2010CustomProps.dwg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick2010CustomProps.dwg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quick2010CustomProps.dwg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quick2010CustomProps.dwg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-EXT.jpg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-EXT.jpg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-EXT.jpg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-EXT.jpg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-EXT.jpg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-EXT.jpg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-EXT.jpg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-EXT.jpg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-multi-creator.jpg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-multi-creator.jpg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-multi-creator.jpg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-multi-creator.jpg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-multi-creator.jpg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-multi-creator.jpg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC-multi-creator.jpg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC-multi-creator.jpg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.gif b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.gif similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.gif rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.gif diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.gif_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.gif_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.gif_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.gif_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.png b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.png similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.png rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.png diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.png_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.png_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/quickIPTC.png_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/quickIPTC.png_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.rss b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.rss similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.rss rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.rss diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.rtf b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.rtf similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.rtf rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.rtf diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.xhtml.txt b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.xhtml.txt similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/sample.xhtml.txt rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/sample.xhtml.txt diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/testJPEG_IPTC_EXT.jpg b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/testJPEG_IPTC_EXT.jpg similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/testJPEG_IPTC_EXT.jpg rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/testJPEG_IPTC_EXT.jpg diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/testJPEG_IPTC_EXT.jpg_metadata.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/testJPEG_IPTC_EXT.jpg_metadata.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/testJPEG_IPTC_EXT.jpg_metadata.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/testJPEG_IPTC_EXT.jpg_metadata.json diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/tika_engine_config.json b/alfresco-transform-tika/alfresco-transform-tika/src/test/resources/tika_engine_config.json similarity index 100% rename from alfresco-transform-tika/alfresco-transform-tika-boot/src/test/resources/tika_engine_config.json rename to alfresco-transform-tika/alfresco-transform-tika/src/test/resources/tika_engine_config.json diff --git a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/RequestParamMap.java b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/RequestParamMap.java index 19428792..84bfb474 100644 --- a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/RequestParamMap.java +++ b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/RequestParamMap.java @@ -41,10 +41,5 @@ public interface RequestParamMap extends org.alfresco.transform.common.RequestPa String TRANSFORM_NAME_PROPERTY = "transformName"; String TRANSFORM_NAME_PARAMETER = "alfresco.transform-name-parameter"; - String FILE = "file"; - String SOURCE_EXTENSION = "sourceExtension"; - String SOURCE_MIMETYPE = "sourceMimetype"; - String TARGET_EXTENSION = "targetExtension"; - String TARGET_MIMETYPE = "targetMimetype"; String TEST_DELAY = "testDelay"; } diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/Application.java b/t-engine-base/src/main/java/org/alfresco/transform/base/Application.java index 582da7d4..7d7035d6 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/Application.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/Application.java @@ -43,7 +43,7 @@ import org.springframework.context.event.EventListener; import java.util.Arrays; import java.util.List; -import static org.alfresco.transform.base.logging.StandardMessages.LICENCE; +import static org.alfresco.transform.base.logging.StandardMessages.COMMUNITY_LICENCE; @SpringBootApplication @EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class}) @@ -51,9 +51,6 @@ public class Application { private static final Logger logger = LoggerFactory.getLogger(Application.class); - @Autowired(required = false) - private List transformEngines; - @Value("${container.name}") private String containerName; @@ -67,19 +64,4 @@ public class Application { SpringApplication.run(Application.class, args); } - - @EventListener(ApplicationReadyEvent.class) - public void startup() - { - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - Arrays.stream(LICENCE.split("\\n")).forEach(logger::info); - if (transformEngines != null) { - transformEngines.stream() - .map(transformEngine -> transformEngine.getStartupMessage()) - .forEach(message -> Arrays.stream(message.split("\\n")).forEach(logger::info)); - } - logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); - - logger.info("Starting application components... Done"); - } } diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/CustomTransformer.java b/t-engine-base/src/main/java/org/alfresco/transform/base/CustomTransformer.java index f36948cd..3b16b024 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/CustomTransformer.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/CustomTransformer.java @@ -26,10 +26,17 @@ */ package org.alfresco.transform.base; +import org.alfresco.transform.config.TransformConfig; + import java.io.InputStream; import java.io.OutputStream; import java.util.Map; +/** + * Interface to be implemented by transform specific code. The {@code transformerName} should match the transformerName + * in the {@link TransformConfig} returned by the {@link TransformEngine}. So that it is automatically picked up, it + * must exist in a package under {@code org.alfresco.transform} and have the Spring {@code @Component} annotation. + */ public interface CustomTransformer { String getTransformerName(); diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformController.java b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformController.java index 2c5a9a54..e100aa82 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformController.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformController.java @@ -44,6 +44,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; import org.springframework.core.io.Resource; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -94,11 +96,11 @@ import static org.alfresco.transform.base.fs.FileManager.createTargetFileName; import static org.alfresco.transform.base.fs.FileManager.deleteFile; import static org.alfresco.transform.base.fs.FileManager.getFilenameFromContentDisposition; import static org.alfresco.transform.base.fs.FileManager.save; -import static org.alfresco.transform.base.util.RequestParamMap.FILE; -import static org.alfresco.transform.base.util.RequestParamMap.SOURCE_ENCODING; -import static org.alfresco.transform.base.util.RequestParamMap.SOURCE_EXTENSION; -import static org.alfresco.transform.base.util.RequestParamMap.SOURCE_MIMETYPE; -import static org.alfresco.transform.base.util.RequestParamMap.TARGET_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.FILE; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_ENCODING; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_EXTENSION; +import static org.alfresco.transform.common.RequestParamMap.SOURCE_MIMETYPE; +import static org.alfresco.transform.common.RequestParamMap.TARGET_MIMETYPE; import static org.springframework.http.HttpStatus.BAD_REQUEST; import static org.springframework.http.HttpStatus.CREATED; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; @@ -178,6 +180,22 @@ public class TransformController } } + + @EventListener(ApplicationReadyEvent.class) + public void startup() + { + logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); + if (transformEngines != null) + { + transformEngines.stream() + .map(transformEngine -> transformEngine.getStartupMessage()) + .forEach(message -> Arrays.stream(message.split("\\n")).forEach(logger::info)); + } + logger.info("--------------------------------------------------------------------------------------------------------------------------------------------------------------"); + + logger.info("Starting application components... Done"); + } + /** * @return a string that may be used in client debug. */ diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformEngine.java b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformEngine.java index 527cb449..34f57e97 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformEngine.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformEngine.java @@ -26,11 +26,14 @@ */ package org.alfresco.transform.base; +import org.alfresco.transform.common.TransformConfigResourceReader; import org.alfresco.transform.config.TransformConfig; import org.alfresco.transform.base.probes.ProbeTestTransform; /** - * The interface to the custom transform code applied on top of a base t-engine. + * Interface to be implemented by transform specific code. Provides information about the t-engine as a whole. + * Also see {@link CustomTransformer} which provides the code that performs transformation. There may be several + * in a single t-engine. */ public interface TransformEngine { @@ -45,7 +48,8 @@ public interface TransformEngine String getStartupMessage(); /** - * @return a definition of what the t-engine supports. Normally read from a json Resource on the classpath. + * @return a definition of what the t-engine supports. Normally read from a json Resource on the classpath using a + * {@link TransformConfigResourceReader}. */ TransformConfig getTransformConfig(); diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformRegistryImpl.java b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformRegistryImpl.java index c4ae7812..cec4b16c 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/TransformRegistryImpl.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/TransformRegistryImpl.java @@ -65,7 +65,7 @@ public class TransformRegistryImpl extends AbstractTransformRegistry .sorted(Comparator.comparing(TransformEngine::getTransformEngineName)) .forEach(transformEngine -> { TransformConfig transformConfig = transformEngine.getTransformConfig(); - if (transformConfig != null) + if (transformConfig != null) // if not a wrapping TransformEngine like all-in-one { setCoreVersionOnSingleStepTransformers(transformConfig, coreVersion); combinedTransformConfig.addTransformConfig(transformConfig, diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/AbstractCommandExecutor.java b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/AbstractCommandExecutor.java index f48f886a..5d3ea3b5 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/AbstractCommandExecutor.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/AbstractCommandExecutor.java @@ -35,9 +35,6 @@ import java.util.Map; import org.alfresco.transform.common.TransformException; -/** - * - */ public abstract class AbstractCommandExecutor implements CommandExecutor { protected RuntimeExec transformCommand = createTransformCommand(); @@ -65,27 +62,4 @@ public abstract class AbstractCommandExecutor implements CommandExecutor "Transformer failed to create an output file"); } } - - @Override - public String version() - { - if (checkCommand != null) - { - final ExecutionResult result = checkCommand.execute(); - if (result.getExitValue() != 0 && result.getStdErr() != null && result.getStdErr().length() > 0) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), - "Transformer version check exit code was not 0: \n" + result); - } - - final String version = result.getStdOut().trim(); - if (version.isEmpty()) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), - "Transformer version check failed to create any output"); - } - return version; - } - return "Version not checked"; - } } diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/CommandExecutor.java b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/CommandExecutor.java index 45cf3041..5e279e1a 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/CommandExecutor.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/CommandExecutor.java @@ -37,14 +37,11 @@ import java.util.Map; * * @author Cezar Leahu */ -public interface CommandExecutor extends Transformer +public interface CommandExecutor { void run(Map properties, File targetFile, Long timeout); - String version(); - - default void run(String options, File sourceFile, File targetFile, - Long timeout) + default void run(String options, File sourceFile, File targetFile, Long timeout) { LogEntry.setOptions(options); @@ -56,8 +53,7 @@ public interface CommandExecutor extends Transformer run(properties, targetFile, timeout); } - default void run(String options, File sourceFile, String pageRange, File targetFile, - Long timeout) + default void run(String options, File sourceFile, String pageRange, File targetFile, Long timeout) { LogEntry.setOptions(pageRange + (pageRange.isEmpty() ? "" : " ") + options); diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/JavaExecutor.java b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/JavaExecutor.java deleted file mode 100644 index 545a2f27..00000000 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/JavaExecutor.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.base.executors; - -import java.io.File; - -/** - * Basic interface for executing transformations inside Java/JVM. - * - * @author Cezar Leahu - * @author adavis - */ -public interface JavaExecutor extends Transformer -{ - void call(File sourceFile, File targetFile, String... args) throws Exception; -} diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/Transformer.java b/t-engine-base/src/main/java/org/alfresco/transform/base/executors/Transformer.java deleted file mode 100644 index 73751b94..00000000 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/executors/Transformer.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.alfresco.transform.base.executors; - -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ - -import org.alfresco.transform.common.TransformException; - -import java.io.File; -import java.util.Map; - -import static org.alfresco.transform.common.Mimetype.MIMETYPE_METADATA_EMBED; -import static org.alfresco.transform.common.Mimetype.MIMETYPE_METADATA_EXTRACT; -import static org.alfresco.transform.base.util.RequestParamMap.TRANSFORM_NAME_PARAMETER; -import static org.springframework.http.HttpStatus.BAD_REQUEST; -import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; - -/** - * Basic interface for executing transforms and metadata extract or embed actions. - * - * @author adavis - */ -public interface Transformer -{ - /** - * @return A unique transformer id, - * - */ - String getTransformerId(); - - default void transform(String sourceMimetype, String targetMimetype, Map transformOptions, - File sourceFile, File targetFile) throws TransformException { - final String transformName = transformOptions.remove(TRANSFORM_NAME_PARAMETER); - transformExtractOrEmbed(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - - default void transformExtractOrEmbed(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws TransformException - { - try - { - if (MIMETYPE_METADATA_EXTRACT.equals(targetMimetype)) - { - extractMetadata(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - else if (MIMETYPE_METADATA_EMBED.equals(targetMimetype)) - { - embedMetadata(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - else - { - transform(transformName, sourceMimetype, targetMimetype, transformOptions, sourceFile, targetFile); - } - } - catch (TransformException e) - { - throw e; - } - catch (IllegalArgumentException e) - { - throw new TransformException(BAD_REQUEST.value(), getMessage(e), e); - } - catch (Exception e) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), getMessage(e), e); - } - if (!targetFile.exists()) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), - "Transformer failed to create an output file. Target file does not exist."); - } - if (sourceFile.length() > 0 && targetFile.length() == 0) - { - throw new TransformException(INTERNAL_SERVER_ERROR.value(), - "Transformer failed to create an output file. Target file is empty but source file was not empty."); - } - } - - private static String getMessage(Exception e) - { - return e.getMessage() == null ? e.getClass().getSimpleName() : e.getMessage(); - } - - default void transform(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - } - - default void extractMetadata(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - } - - /** - * @deprecated The content repository has no non test embed metadata implementations. - * This code exists in case there are custom implementations, that need to be converted to T-Engines. - * It is simply a copy and paste from the content repository and has received limited testing. - */ - default void embedMetadata(String transformName, String sourceMimetype, String targetMimetype, - Map transformOptions, - File sourceFile, File targetFile) throws Exception - { - } -} diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/logging/StandardMessages.java b/t-engine-base/src/main/java/org/alfresco/transform/base/logging/StandardMessages.java index 1eb6bc79..94be1e2f 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/logging/StandardMessages.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/logging/StandardMessages.java @@ -28,8 +28,16 @@ package org.alfresco.transform.base.logging; public interface StandardMessages { - String LICENCE = + String COMMUNITY_LICENCE = "If the Alfresco software was purchased under a paid Alfresco license, the terms of the paid license agreement \n" + "will prevail. Otherwise, the software is provided under terms of the GNU LGPL v3 license. \n" + "See the license at http://www.gnu.org/licenses/lgpl-3.0.txt. or in /LICENSE.txt \n\n"; + + String ENTERPRISE_LICENCE = + "This image is only intended to be used with the Alfresco Enterprise Content Repository which is covered by\n" + + "https://www.alfresco.com/legal/agreements and https://www.alfresco.com/terms-use\n" + + "\n" + + "License rights for this program may be obtained from Alfresco Software, Ltd. pursuant to a written agreement\n" + + "and any use of this program without such an agreement is prohibited.\n" + + "\n"; } diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/metadataExtractors/AbstractMetadataExtractor.java b/t-engine-base/src/main/java/org/alfresco/transform/base/metadataExtractors/AbstractMetadataExtractor.java index c1bb9817..c1d6fc37 100644 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/metadataExtractors/AbstractMetadataExtractor.java +++ b/t-engine-base/src/main/java/org/alfresco/transform/base/metadataExtractors/AbstractMetadataExtractor.java @@ -29,6 +29,7 @@ package org.alfresco.transform.base.metadataExtractors; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import org.alfresco.transform.base.CustomTransformer; import org.alfresco.transform.common.TransformException; import org.slf4j.Logger; @@ -50,6 +51,8 @@ import java.util.Set; import java.util.StringTokenizer; import java.util.TreeMap; +import static org.alfresco.transform.base.metadataExtractors.AbstractMetadataExtractor.Type.EXTRACTOR; + /** * Helper methods for metadata extract and embed. *

@@ -93,7 +96,7 @@ import java.util.TreeMap; * @author Derek Hulley * @author adavis */ -public abstract class AbstractMetadataExtractor +public abstract class AbstractMetadataExtractor implements CustomTransformer { private static final String EXTRACT = "extract"; private static final String EMBED = "embed"; @@ -118,8 +121,16 @@ public abstract class AbstractMetadataExtractor private ThreadLocal>> extractMapping = new ThreadLocal<>(); private Map> embedMapping; - public AbstractMetadataExtractor(Logger logger) + public enum Type { + EXTRACTOR, EMBEDDER + } + + private final Type type; + + public AbstractMetadataExtractor(Type type, Logger logger) + { + this.type = type; this.logger = logger; defaultExtractMapping = Collections.emptyMap(); embedMapping = Collections.emptyMap(); @@ -134,9 +145,22 @@ public abstract class AbstractMetadataExtractor } } + @Override + public String getTransformerName() + { + return getClass().getSimpleName(); + } + public abstract Map extractMetadata(String sourceMimetype, Map transformOptions, File sourceFile) throws Exception; + public void embedMetadata(String sourceMimetype, Map transformOptions, + String sourceEncoding, InputStream inputStream, + String targetEncoding, OutputStream outputStream) throws Exception + { + // TODO + throw new TransformException(500, "TODO embedMetadata"); + } public void embedMetadata(String sourceMimetype, String targetMimetype, Map transformOptions, File sourceFile, File targetFile) throws Exception { @@ -469,6 +493,21 @@ public abstract class AbstractMetadataExtractor return true; } + @Override + public void transform(String sourceMimetype, String sourceEncoding, InputStream inputStream, + String targetMimetype, String targetEncoding, OutputStream outputStream, + Map transformOptions) throws Exception + { + if (type == EXTRACTOR) + { + extractMetadata(sourceMimetype, transformOptions, sourceEncoding, inputStream, targetEncoding, outputStream); + } + else + { + embedMetadata(sourceMimetype, transformOptions, sourceEncoding, inputStream, targetEncoding, outputStream); + } + } + public void extractMetadata(String sourceMimetype, Map transformOptions, String sourceEncoding, InputStream inputStream, String targetEncoding, OutputStream outputStream) throws Exception diff --git a/t-engine-base/src/main/java/org/alfresco/transform/base/util/RequestParamMap.java b/t-engine-base/src/main/java/org/alfresco/transform/base/util/RequestParamMap.java deleted file mode 100644 index 598fc26d..00000000 --- a/t-engine-base/src/main/java/org/alfresco/transform/base/util/RequestParamMap.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * #%L - * Alfresco Transform Core - * %% - * Copyright (C) 2005 - 2022 Alfresco Software Limited - * %% - * This file is part of the Alfresco software. - * - - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - - * Alfresco is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - - * Alfresco is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - - * You should have received a copy of the GNU Lesser General Public License - * along with Alfresco. If not, see . - * #L% - */ -package org.alfresco.transform.base.util; - -/** - * Extends the list of transform options with historic request parameters or 'extra' parameters used in testing - * or communication in the all-in-one transformer. - */ -public interface RequestParamMap extends org.alfresco.transform.common.RequestParamMap -{ - String TRANSFORM_NAME_PARAMETER = "alfresco.transform-name-parameter"; - - String FILE = "file"; - String SOURCE_EXTENSION = "sourceExtension"; - String SOURCE_MIMETYPE = "sourceMimetype"; - String TARGET_MIMETYPE = "targetMimetype"; -}