97 Commits

Author SHA1 Message Date
alandavis
f24969199c ACS-2002 T-Engine debug should include direct access url
[trigger release] 2.5.7-A9
2022-03-06 06:52:33 +00:00
alandavis
90fd2d55af ACS-2002 T-Engine debug should include direct access url
[trigger release] 2.5.7-A8
2022-03-05 12:01:51 +00:00
alandavis
d1c6015913 ACS-2002 Add T-Engine debug for local transforms
[trigger release] 2.5.7-A7
2022-03-05 10:19:45 +00:00
alandavis
27b04ee049 ACS-2587 Fix test failure
[trigger release] 2.5.7-A4
2022-02-24 00:01:56 +00:00
Alan Davis
61c1f802ef
ACS-2587 Include directAccessUrl in T-Config if supported (#539)
The t-config returned by the T-Router & T-Engines should include directAccessUrl as an optional transform option when the T-engine supports it.

[trigger release] 2.5.7-A4
2022-02-23 23:51:10 +00:00
Alan Davis
f05b54dea3
ACS-2497 Rework httpTransformRequestUsingDirectAccessUrlTest so it can be used in AI and Aspose (#535) 2022-02-18 14:08:18 +00:00
Kacper Magdziarz
11e3cb4b20
ACS-2497 T-Core: Accept DAU requests (#525)
* ACS-2497 Add implementation of Direct Access Url usage for transformation.
Add possibly to pass Direct Access Url to Transform request instead of a sending a file.
2022-02-14 11:30:48 +01:00
Alan Davis
a89e161004
ACS-2498 Switch to using a configVersion parameter on the /transform/config endpoint (#530)
* Fixed the config returned by the AIO as it did not include the coreVersion even though the individual ones did.
2022-02-10 23:50:19 +00:00
Alan Davis
df519cfd6f
ACS-2498 Add coreVersion to T-Engine config (#526)
The bulk of the changes in this PR are to do with adding a coreVersion element to the transform element in the T-Engine config. For more detail see the class header of CoreVersionDecorator.

* Support the use of coreVersion so that it is possible to upgrade pods in any order
* Moved the majority of the RequestParamMap static finals to alfresco-transform-model and added a new one: "includeCoreVersion" parameter.
2022-02-09 22:39:40 +00:00
Alan Davis
e76da6878c
ACS-2479 AI Transformers do not start if built using ATS 1.5.0 components (#522)
[trigger release] 2.5.6

* Changes just tidy up white space and pick up the modified T-Model
2022-01-27 18:29:28 +00:00
Alan Davis
59325bc38a
Repeat Bump dependency.tika.version from 2.1.0 to 2.2.1 (#516)
* Repeat Bump dependency.tika.version from 2.1.0 to 2.2.1

Original PR https://github.com/Alfresco/alfresco-transform-core/pull/506 was merged to master where it failed. There had been no build of the PR before the merge, which is why this branch has been created.

* Use non deprecated TikaCoreProperties.SUBJECT with tika 2.2.1.

The deprecated OfficeOpenXMLCore.SUBJECT value worked in 2.2.0 but not 2.2.1

* With the upgrade of Tika from 2.2.0 to 2.2.1, the deprecated OfficeOpenXMLCore.SUBJECT metadata value became being null and the replacement TikaCoreProperties.SUBJECT became a multi value in a few of our test cases. For backward compatibility with very old versions of Alfresco, we have historically been added a number of extra values including "subject" and "description" back into the raw metadata, before mapping them onto Alfresco properties. These values existed in the original version of Tika used by Alfresco, so it is possible there are custom mappings out there that using them.

To complicate matters a little, out standard mappings for some types put the raw "subject" value into cm:description property. What makes it interesting is that the extra "description" value is not used but has the value originally in our expected metadata extarct data. That is why the quick_*_json files have been modified.
2022-01-13 17:25:56 +00:00
alandavis
b18798f313 [trigger release] 2.5.5-A1
- missing bit of useful debug included
2022-01-05 16:04:20 +00:00
Alan Davis
a98f937b4a
ACS-2002 Enhance T-Router debug (#507)
[trigger release] 2.5.5-A1

By default T-Engines now provide the more readable TransformerDebug DEBUG messages, rather than the original detailed request and reply messages, which are still available as TRACE.
2022-01-05 12:17:17 +00:00
Alan Davis
00c8fc7b34
ACS-1998 Enhance the transform config (#484) 2021-11-13 11:29:21 +00:00
Alan Davis
509acf4760
ACS-1778 Common transform routing code for Repo and t-router (#453)
* Addition of logWarn method
* Pick up new alfresco-transform-model tag 1.4.0
2021-08-19 17:58:10 +01:00
David Edwards
74680fbe58
ACS-1677 Provide file extension from JMS request if missing in SFS (#428) 2021-06-15 16:39:28 +01:00
David Edwards
5ce59d9c04
ATS-899 create IPTCMetadatorExtractor within Tika T-engine (#372) 2021-04-21 15:04:51 +01:00
David Edwards
03d08d0c9e
MNT-22082 transformation of pdf to text hang (#367)
A new constructor has been added to the TikaController to provide
the new spring config.
The creation of the TikaExecutor has been moved to "singleton pattern" as
the injection of the @Value happens after the instantiation of the
TikaJavaExecutor and does not pass the value correctly. The
instantiation is now done once, on the first transform request.
Param has been added to the AIO beans.
2021-04-13 09:59:42 +01:00
Marcus Svartmark
e976338c84
Include throwable cause in TransformException (#330)
Thanks @marsv024 for your contribution. The suggested changes have been verified and will be now merge into master.
2021-02-16 16:14:50 +00:00
David Edwards
ef21365e00
ACS-930 Security update to spring boot 2.4.1 (#321)
* ACS-930 Upgrade to Junit5
2021-01-15 10:31:25 +00:00
Alan Davis
2fd11d5aed
REPO-5191 Bug: T-Engine should provide mapping rather than the repo. (#316)
Bug found while reviewing documents on how to create a custom metadata extractor. The original refactor had left the repo doing the mapping. It should have been passing the fully qualified repo properties to the T-Engine to do the mapping.

Linked to:
    Alfresco/alfresco-community-repo#227
    Alfresco/acs-packaging#1826
2021-01-06 22:25:40 +00:00
Alan Davis
00fbb6405a
ATS-829 Release T-Engines 2.3.6 (#307)
ATS-829: Release T-Core (T-Engines) 2.3.6 [trigger release]

Linked to REPO-5219 Allow AGS AMP to specify metadata extract mapping

Added an extractMapping transform option to all metadata extractors to override the default one.

3rd party libraries to get a green build.
* Upgrade cxf-rt-transports-http and woodstox-core to avoid issues
* Upgrade to org.springframework.boot:spring-boot-starter-parent:2.3.5.RELEASE to avoid problem in org.springframework:spring-web
* Upgrade to activemq 5.15.13 to avoid problem in activemq-broker 5.15.12
2020-11-19 18:35:22 +00:00
Epure Alexandru-Eusebiu
81b2b8a231 MNT-21869: libreoffice timeout set too high [trigger release]
Change SERVER.PORT to SERVER_PORT for consistency
2020-09-25 11:23:20 +03:00
Alexandru-Eusebiu Epure
32e48b413b
MNT-21869 libreoffice timeout set too high (#295)
* MNT-21869 libreoffice timeout set too high
   Reduce default value of timeout for libreoffice from 2000min to 20min
   Add option to configure libreoffice timeout externally.
   Enable to configure externally the port on which the app starts.
  Add external-engine-configuration.md
2020-09-25 10:54:06 +03:00
David Edwards
ba513c71cd
ACS-393 Update Spring Boot to 2.3.1.RELEASE (#270)
* ACS-393 Update SpringBoot to 2.3.1.RELEASE

* ACS-393 Add messages back to error handling
2020-07-01 15:50:12 +01:00
montgolfiere
8c7edcda62
ATS-738 / MNT-21613: Allow option to use -DACTIVEMQ_URL (without needing to also set -Dactivemq.url) (#266) 2020-07-01 15:45:00 +01:00
Ayman Harake
14e70b9785
ATS-762: T-Core Legacy Part 2 - Legacy Pipeline additions (was: review failing legacy transforms) (#262)
* ATS-762: Add Tika unit test for pdf to csv

* ATS-762: Fix indentation

* ATS-762: Added 3 tests for simple pipepline. msg > txt, txt > doc, txt > odt, txt > rtf

* ATS-762: Added tests for libreofficeToPdf pipeline

* ATS-762: Addressed Jan's comment about not using asterisk when importing modules

* ATS-762: Changed comment to pdf-->csv to address Jan's comment on the PR

* task/ATS-762_T: noticed the txt mime type was wrong so fixed it

Co-authored-by: kristian <kristian.dimitrov@alfresco.com>
2020-06-19 18:03:56 +01:00
Alan Davis
d495459b9b
ATS-777 / REPO-4334: Move metadata extraction into T-Engines (#256)
* REPO-4334 Move metadata extraction into T-Engines
- new "transformImpl" required (processTransform deprecated)
- JavaDoc

Co-authored-by: Jan Vonka <jan.vonka@alfresco.com>
2020-06-16 14:41:49 +01:00
Alan Davis
06109dee75
REPO-4334 Move metadata extraction into T-Engines (#247)
* Metadata extract code added to T-Engines
* Required a refactor of duplicate code to avoid 3x more duplication:
        - try catches used to return return exit codes
        - calls to java libraries or commands to external processes
        - building of transform options in controllers, adaptors
* integration tests based on current extracts performed in the repo
* included extract code for libreoffice, and embed code even though not used out of the box any more. There may well be custom extracts using them that move to T-Engines
* removal of unused imports
* minor autoOrient / allowEnlargement bug fixes that were not included in Paddington on the T-Engine side.
2020-06-11 20:20:22 +01:00
Kristian Dimitrov
f6819cf8e0
ATS-731 Update T-Engines config with remaining legacy transformers
* ATS-731: Add half of the missing simple legacy transforms

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Updated transforms list to include missing legacy transforms

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Added missing Transforms

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Added xml xltm, xlam, ppsx, ppsm, msg, and dita to pdf

* ATS-731: Remove depreciated workaround

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Added more missing transforms. Only 6 left to do

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Merged with Kristian's changes

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Added Kristians' last commit back

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Added final 6 missing transforms

* ATS-731: Remove unnecessary test configs (Tests now pull configs from jars)

* task/ATS-731_Update_T-Engines_config_with_remaining_legacy_transformers: Reverted libra office file back to how it was at Kristian's last commit

* task/ATS-731_Update_T: Took back out the outlook transforms so that they can be done by a pipeline inestead

* ATS-731: Read default engine configs from jars in tests

* ATS-731: Removed failing transforms from Image magick

* ATS-731: The branch now only contains the transforms that work and have been tested. Just one more needs to be added in libre office

* Added the last of the working transfroms

* ATS-731: Added one more transform

* Revert "ATS-731: Remove depreciated workaround"

This reverts commit 82de937e

* ATS-731: Enable info log level for the depreciated workaround

Co-authored-by: aharake <ayman.harake@alfresco.com>
2020-06-01 15:54:15 +01:00
Alan Davis
b538b809d7
REPO-5188 SourceEncoding should not be used to select transforms as i… (#249)
* REPO-5188 SourceEncoding should not be used to select transforms as it is always provided to T-Engines

* Fix test. Now that SourceEncoding is in the options but is not used to select the transformer, we need to add another
option to force the use of the textToPdf transform rather than libreoffice.
2020-06-01 14:30:10 +01:00
David Edwards
410997689f
ATS-702: Add AIO tests from LibreOffice (#231)
Created test-jar for libreoffice-boot
Updated LibreOfficeControllerTest.java so it can provide inheritance
Updated LibreOfficeControllerTest#testPojoTransform to uses a viable targetMimetype
Fixed inconsitent naming for @Value annotation
Moved surefire config to super pom
Implement LibreOfficeIT on AIO Controller
2020-04-22 19:17:01 +01:00
David Edwards
e2ba7676a6
ATS-702 Add AIOControllerTest for Imagemagick transforms (#208)
Runs the tests inherited from the imagemagick-boot-test-jar through the All in One Transformer

Co-authored-by: Erik Knizat <erik.knizat@alfresco.com>
Co-authored-by: kristian <kristian.dimitrov@alfresco.com>
Co-authored-by: eknizat <26163420+eknizat@users.noreply.github.com>
2020-04-21 11:45:23 +01:00
Jan Vonka
110ac1414c ATS-665: Tweak standard lic message (space / newline) 2020-04-21 11:23:48 +01:00
Kristian Dimitrov
a1b6283a4c
ATS-669: Parameterize T-Engines transformer execution locations (#203)
* ATS-669: Implement cmd line arguments for ImageMagick, PdfRenderer and LibreOffice

* ATS-669: Remove unnecessary test ImageMagick line

* ATS-669: Implement Spring boot properties via application.yaml

* ATS-669: Implement Spring config binds and utilize new functionality in pdfRender

* ATS-669: Wire externalProps for ImageMagick

* ATS-669: Wire externalProps for LibreOffice

* ATS-669: Fix failing tests

* ATS-669: Implement parameterized execution for All-In-One transform module

* ATS-669: Use string values instead of GlobalProperties class

* ATS-669: Change pdfrenderer property format

* ATS-669: Add validation to executor constructors

* ATS-669: Fix failing LibreOffice tests

* ATS-669: Add missing license

* ATS-669: Update LibreOffice version

* ATS-669: Remove unnecessary annotation

* ATS-669: Standardise properties

* ATS-669: Change field variable names

* ATS-669: Change field variable values

* ATS-669: Add unit tests for passing system properties

* ATS-669: Standardise yaml properties

* ATS-669: Remove unnecessary super() calls

* ATS-669: Change CRLF to LF

* ATS-669: Change LF to CRLF

* ATS-669: Fix yaml indentation

* ATS-669: Update tika and misc yaml file with new sub-property

* ATS-669: Remove unused import

* ATS-669: Update TransformRegistryImpl property location
2020-04-16 16:32:01 +01:00
montgolfiere
0bd6624d00
ATS-665: Update standard license log message on startup for all T-Engines (#221)
- also minor fix for Misc to be consistent with other T-Engines
- see also ATS-711
2020-04-15 19:27:02 +01:00
eknizat
612e378082
ATS-711: Update JavaDoc and format code (#217)
* Update JavaDoc and format code
* Add more tests
2020-04-14 14:08:21 +01:00
eknizat
af77d429e7
ATS-675:Add All-In-One transformer (#200)
* ATS-695/ATS-675 Add aio boot project

- Added the bare bones of a spring boot project to be used by aio. Currently based loosely on transform-misc.

* ATS-674/ATS-695 Add forms for each transformer.

* ATS-675/ATS-695 add empty test to pass build during dev

* ATS-695 remove maven profile to fix build

* ATS-675 Define interface and the aio transformer

* Fix formatting and rename the module as per review comments

* ATS-675/ATS-695 Add ProbeTestTransformation

Currenly uses MiscController implementation.

* ATS-675/ATS-695 Add logger method,

This will be code repeated in the local transform method and the processTransform method

* ATS-675/ATS-695 Implement local transform method

Minimum implementation for transform method.

* ATS-675/ATS-695  Implement processTransform

* ATS-675/ATS-695 Rename project to alfresco-transform-core-aio-boot

Add alfresco-transform-core-aio dependencies

* ATS-675/ATS-695 Fix build

Update project location
Update imports and variable declarations in TODOs
Add error handling.
Formatting.

* ATS-693: Update transform-misc Dockerfile with newly reserved uid

* Revert "ATS-691: Combine the win/linux pathToFile logic"

This reverts commit 61fe4820

* ATS-693: Update transform-misc Dockerfile with newly reserved uid

* "ATS-693: Add Dockerfile to aio-boot module"

* ATS-675/ATS-695 Add resource required for ProbeTestTrasform

* ATS-675/ATS-695 Remove test resources, to be added in test implementation

* ATS-693: Fix path to jar resources

* ATS-675/ATS-703 Moved Options builder to non boot jar.

* ATS-675/ATS-703 Rename OptionsBuilder to PdfRendererOptionsBuilder

This is to avoid confilct with OptionsBuilders in other T-engines.

* ATS-675/ATS-695 Added PdfRendererApadpter.java

Added dependency to pom.xml
Required transformation of String to Long, method added to Util.java

* ATS-675/ ATS-704

Implemented LibreOfficeAdapter

* ATS-675 Parity with base aio naming convention

* ATS-675/ATS-705 Implemented ImageMagickAdapter

Moved and renamed OptionsBuilder. Moved to alfresco-transform-imagemagick, renamed ImageMagickOptionsBuilder.
Added dependencies to pom.xml

* ATS-693: Implement maven docker build

* Initial tests
* Add initial tests for config aggregation
* Update AbstractTransformerControllerTest to use the new engine config names

* Fix up controller

* Fix travis tests  (#205)

* Fix engine specific properties for engine config location
* Temporarily add engine configs to test resources for the boot modules.  Will need to fix this properly

* Resolve some review comments

* ATS-675 - Move static strings to util class

* Refactor classes for simpler design (#210)

* ATS-702 Fix error handling

(cherry picked from commit e30cb5fda6ba2ae09c91ef61e69cba4689bcc8d9)

* ATS-675 Rename test class (fixes typo)

* ATS-675: Add aio transformer to static scan
2020-04-08 17:40:34 +01:00
Kristian Dimitrov
5c6782a3aa
ATS-691: Make path to test files OS agnostic (#197)
* ATS-691: Make path to test files OS agnostic

* ATS-691: Decode URL object in the method's return
2020-04-01 16:13:56 +01:00
dependabot-preview[bot]
a491270375 Bump spring-boot-starter-parent from 2.1.8.RELEASE to 2.2.1.RELEASE (#155)
- fix tests
2019-12-06 17:34:32 +02:00
Lucian Tuca
fbe87a6460
ATS-440 (#149)
ATS-440: ATS: T-Engines - release 2.1.0
   - preparing next release
2019-10-28 11:20:52 +02:00
CezarLeahu
c650bf292c
ATS-545: Code formatting and small improvements (#113) 2019-09-12 16:46:48 +03:00
alandavis
d6777b58eb REPO-4639 Content conversion failed using Tika (#108)
* REPO-4639: Split tika engine_config.json into separate transformers.

* WIP: REPO-4639 Content conversion failed using Tika

The Tika T-Engine "transform" option does not exist when called via the Transform Service or Local transforms, which resulted in no transforms taking place. However this value is really not be needed as the T-Engine should be able to read its own engine_config.xml to work out which sub transform to use. Transforms only worked via Legacy transforms, which used a T-Engine.

This code is based on tried and tested ACS repository code. It has been further simplified.

TODO:
- replace the ConfigFileFinder class just added with something that uses Spring to read the JSON. i.e. simplify it.
- replace the CombinedConfig class just added with something that does not need the InLineTransformer. i.e. simplify it.
- create tests based on the repo tests
- remove the source and target mimetype checks in Tika as a check against engine_config.xml is cleaner.
- repeat the process for the Misc T-Engine as it has similar code checking source and target mimetypes.
- remove the transform option passed by the legacy transforms.

* Removed CombindConfig and ConfigFileFnder classes.

* Extracted AbstractTransformRegistry so that it may be used in the ACS repository too.

TODO AbstractTransformRegistry and AbstractTransformRegistry need to be moved to the alfresco-transform-model pakage

* tidy up only

* REPO-4639: Add priority to duplicate transforms.

* REPO-4639: Refactor TikaTransformationIT to use the new Tika /transform specifications
Changes AbstractTransformerControllerTest as the engine_config is now loaded in TransformRegistryImpl instead of AbstractTransformerController

* Rename to TransformServiceRegistry, so we don't have to change the repo code.

* Added the baseUrl parameter to the register method and fixed the missed rename in the last commit.

* Javadoc change only

* Moved common classes (with repo) AbbstractTransformRegistry and TransformServiceRegistry to alfresco-transform-model

* Replace (simplify) all the isTransformable calls with a check against the JSON.
- Tests now only pass targetEncoding to the 'string' transformer.

* Fix failing tests.

* Revert port change

* REPO-4639 : Add priorities to misc engine_config

* REPO-4639 : Add priorities to pdf-renderer and  imagemagick engine_config

* Remove test that is @Ignored

* Pick up alfresco-transformer-model 1.0.2.7-REPO-4639-1

* REPO-4639 : Add priorities to libreoffice engine_config

* REPO-4639 : Add priorities to tika engine_config

* REPO-4639 : Remove all priorities with value equal to 50 (default) from engine_config

* Switch over to using TransformServiceRegistry in org.alfresco.transform.client.registry
Reintroduce the noExtensionSourceFilenameTest having removed @Ignore.

* New whitesource issue on commons-compress 1.18. Upgrading to 1.19.

* Removed the text/javascript -> text/plain test as this is not supported

* Modifications as a result of changes to method names in alfresco-transform-model

* Pick up alfresco-transform-model 1.0.2.7-ATS545-2

* Remove unused imports
2019-09-12 15:34:42 +03:00
Alexandru-Eusebiu Epure
bcd6fefe4d
REPO-4617 Add missing source types for T-engines (#95)
Update missing sourceMediaType -> targetMediaType for alfresco-pdf-renderer
   Update missing sourceMediaType -> targetMediaType for imagemagick
   Update missing sourceMediaType -> targetMediaType for tika libreoffice
   Update missing sourceMediaType -> targetMediaType for tika
   Update missing sourceMediaType -> targetMediaType for misc transformer
   Add T-engine Integration Tests
   Fix JavaDoc warnings
   Add sample files for tested mimetypes
2019-09-03 13:34:07 +03:00
CezarLeahu
d9747f015d
ATS-466/ATS-538/ATS-539: Incorporate Misc T-Engine in ATS (#98)
- fix multiple Misc Transformer bugs related to file mimeTypes
- remove usage of 'source/targetMimetype' as transform options/parameters
- add 'source/targetMimetype' arguments to the 'processTransform' method
- remove unnecessary code (e.g. useless overridden methods)
- add quick* test resource files
- add integration test for 'Local Transformations' on the Misc engine
- set up Integration Tests POM configuration for all T-Engine modules
2019-08-26 13:59:38 +03:00
CezarLeahu
bb187dc00f
ATS-488 : Remove alfresco-core dependency (#90)
- remove *alfresco-core* dependency
- remove *alfresco-data-model* dependency
- replace _TempFileProvider_ with local implementation
- duplicate _RuntimeExec_ and _ExecParameterTokenizer_ from alfresco-core
- partially duplicate _MimetypeMap_ from alfresco-data-model
2019-08-20 10:05:39 +03:00
Cezar.Leahu
1f47cd47b4 ATS-532 : Restore Java language level to 1.8 2019-08-19 19:43:23 +03:00
CezarLeahu
22de0ce5df
ATS-532 : Code improvements (#89)
- move startup message from controllers to the Application classes (SpringBoot configuration beans)
- added static imports for most static variables and static methods
- simplified a few nested *if*s
- replaced Arrays.asList() with explicit immutable collections
- fixed a few IntelliJ code inspection warnings
2019-08-18 18:45:14 +03:00
Cezar.Leahu
485347729b ATS-531 : Reformat code 2019-08-14 22:46:36 +03:00
CezarLeahu
3e4f6af0e4
ATS-467 : JMS config startup message (#72) 2019-07-10 13:42:28 +03:00