77 Commits

Author SHA1 Message Date
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
Lucian Tuca
1ae2dd745a Merge branch 'master' into ATS-460 2019-07-09 12:11:05 +03:00
Cezar.Leahu
8b3e451b44 ATS-467 : Disable JMS Config beans on missing "activemq.url" property 2019-07-09 10:17:19 +03:00
Lucian Tuca
f1edbb71e9 ATS-460 : ATS: T-Engines - Update license information to *not* refer to Enterprise edition
- updated controller line
2019-07-08 11:40:29 +03:00
CezarLeahu
be48c8e7a9
ATS-467 : T-Engine logs fill up with ActiveMQ errors when used in ACS Community edition
- instantiate JMS beans only when 'activemq.url' property is set
- fix integration tests
2019-07-05 11:39:39 +03:00
eknizat
ff0f659ded
REPO-4331: Add remaining core transformers (#45)
* REPO-4331: Add remaining core transformers
* HtmlParserContentTransformer
* AppleIWorksContentTransformer
* StringExtractingContentTransformer
* TextToPdfContentTransformer
* OOXMLThumbnailContentTransformer
2019-06-20 12:31:38 +01:00
DenisGabriela
8ba4ae9c11 ATS-250 : ATS: T-Engines: Improve the convert message error handling (T-Base) (#51)
- code refactoring:
    if successful -> return the object ( Optional.ofNullable(request) )
    if not successful -> throw an exception (instead of sending an error message on the queue)
- when calling 'convert()' method, catch this exception and send a T-Reply with error message on the queue
- add correlationID to error logs
2019-06-13 16:52:17 +03:00
Cezar.Leahu
8419cc4b6d ATS-448 : Small T-Engine configuration improvements
- ignore empty fields during serialization
 - changed application.properties files to application-default.yaml
2019-06-05 13:21:15 +03:00
DenisGabriela
ee6227c8b7 ATS-434 : Implement /transform/config endpoint in T-Engines (#46)
- fix config file loading
- rename `/info` endpoint to '/transform/config'
2019-06-04 13:43:58 +03:00
DenisGabriela
d2292f94a0 ATS-434 : Implement /info endpoint in T-Engines (#44)
- implement '/info' endpoint
   - add engine_config files
   - use SNAPSHOT transform-model with new Transform Config models (TODO update after transform-model release)
   - remove 'tests' from travis stages
   - add new junits
   - add test resources
2019-05-31 14:14:03 +03:00
CezarLeahu
70652dcb31
ATS-400 : Update Copyright (#23)
* ATS-400 : Update Copyright

* ATS-400 : Update maven license plugin configuration

* ATS-400 : Update Copyright with the license-maven-plugin

* ATS-400 : Update licence-maven-plugin default configuration
2019-05-20 14:06:25 +03:00
Lucian Tuca
279efd3071 ATS-329
- updated exception package
2019-04-11 16:41:00 +03:00
Lucian Tuca
c5f528c434 ATS-371 : Error in AWS_AI Engine when upload .jpeg files in ACS
- updated behaviour for empty source files to throw bad request exception and replies
   - updated docker-transformer for ai engine
2019-04-05 12:35:39 +03:00
Denis Ungureanu
07386b1a1d ATS-237 : Unit tests for the queue logic (router & engine) 2019-02-05 13:56:59 +00:00
Lucian Tuca
7c466b7c82 ATS-238 2019-02-05 13:55:43 +00:00
Cezar.Leahu
89786df316 ATS-234 : Increase default JMS connection number from 10 to 20 2019-01-11 17:27:01 +02:00
Lucian Tuca
86bb0210e0 ATS-227 : PoC: Improve scaling/performance of transforms via T-Engine queues ? 2019-01-11 08:49:10 +00:00
Cezar Leahu
54a7b07e55 ATS-213 : Transformers should have unique option name 2018-12-11 16:02:04 +00:00
Jan Vonka
e20f7a1bd2 ATS-224 : (shadow of ACE-5923) T-Engines: refine logging for probes (liveness & readiness)
- change log level from info to trace (and use parameterised formatting)
2018-12-07 10:00:52 +00:00
DenisGabriela
7c6d2ed024 ATS-198 : ACE-5893: T-Engines - Files bigger than 1MB can not be uploaded via multipart API
- renamed multipart properties
2018-11-15 12:42:01 +02:00
Cezar Leahu
24611ea42e ATS-176 : Log improvements with Slf4j 2018-11-13 15:22:38 +00:00