JiriOndrusek opened a new pull request, #9078:
URL: https://github.com/apache/camel-quarkus/pull/9078

   Fixes #9076. Add tika and docling parsers to the ingestion pipelines
   
   * Adds an optional per-pipeline, build-time parser option (tika | docling) 
that turns binary payloads (PDF, office, HTML) into text before splitting — 
tika extracts  in-process, docling produces markdown via a Docling Serve 
instance. Stacked on #9039's PR.
   
   * The PR also refactors the route generation around the new parse stage, 
splitting  the grown IngestRoutes into focused classes so each route topology 
reads as a single narrative chain.
   
     Architecture:
   
     - The parse step slots between the consumer and the ingestion engine, 
identically for both route topologies (watched directory and consumer-fed 
endpoint).
     - Route generation now has one creation path for both declaration styles 
(properties and @Ingest builder), producing a PipelineSpec and dispatching to 
one of two route topologies. IngestRoutes keeps only that narrative; step 
factories live in IngestSteps, the parse stage in IngestParsers, bean 
resolution in IngestBeanResolver.
     - A parsed document is treated as untrusted input: its identity is 
captured before the parse, and the payload cannot influence parser behavior via 
headers or charset heuristics.
     - Native support covers the Tika PDF recipe (scoped angus-activation 
feature exclusion, PDFBox runtime initialization + resources); 
tika-parser-pdf-module is BOM-managed.
     - Build-time validation rejects unknown parsers and missing parser 
components, naming the artifact to add; covered by deployment tests and 
JVM+native ITs for both parsers and both topologies.
   
   
   
   
   <!-- Uncomment and fill this section if your PR is not trivial
   [ ] An issue should be filed for the change unless this is a trivial change 
(fixing a typo or similar). One issue should ideally be fixed by not more than 
one commit and the other way round, each commit should fix just one issue, 
without pulling in other changes.
   [ ] Each commit in the pull request should have a meaningful and properly 
spelled subject line and body. Copying the title of the associated issue is 
typically enough. Please include the issue number in the commit message 
prefixed by #.
   [ ] The pull request description should explain what the pull request does, 
how, and why. If the info is available in the associated issue or some other 
external document, a link is enough.
   [ ] Phrases like Fix #<issueNumber> or Fixes #<issueNumber> will auto-close 
the named issue upon merging the pull request. Using them is typically a good 
idea.
   [ ] Please run mvn process-resources -Pformat (and amend the changes if 
necessary) before sending the pull request.
   [ ] Contributor guide is your good friend: 
https://camel.apache.org/camel-quarkus/latest/contributor-guide.html
   -->


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to