Skip to content

chore: reorganize bundled jbang examples with category sub-grouping#24492

Merged
davsclaus merged 4 commits into
mainfrom
chore/reorganize-jbang-examples
Jul 7, 2026
Merged

chore: reorganize bundled jbang examples with category sub-grouping#24492
davsclaus merged 4 commits into
mainfrom
chore/reorganize-jbang-examples

Conversation

@davsclaus

@davsclaus davsclaus commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Claude Code on behalf of davsclaus

Summary

Reorganize bundled CLI/TUI examples into topic-based subfolders and add category sub-grouping to both the CLI listing and TUI example browser for better discoverability. This is the companion PR to apache/camel-jbang-examples#70 which reorganizes the external examples repo.

Changes

Example reorganization:

  • Moved 13 bundled examples into categorized folders: beginner/, eip/, database/, language/, observability/, transformation/
  • Added 3 new EIP examples: eip/content-based-router, eip/splitter, eip/aggregator
  • Updated catalog JSON with new paths for all 29 examples

CLI (camel run --example):

  • Examples sub-grouped by category within each difficulty level
  • Short names shown (without category prefix)
  • Level headers with ====== underline separators
  • Proper acronym casing: EIP, AI, REST

TUI example browser:

  • Folder-based navigation model — beginner examples shown directly, other categories as folders
  • Enter a folder to see its examples, .. or Esc to go back
  • Level separators (Beginner, Intermediate, Advanced) for all levels
  • Folders scoped by level (e.g., Observability shows only beginner or intermediate examples depending on which level's folder you open)
  • Selection restored when navigating back from a folder

Tests:

  • Updated all test references to use new categorized example names
  • All camel-jbang-core and TUI tests pass

Folder structure

ai/              beginner/        cloud/           database/
eip/             language/        messaging/       observability/
rest/            security/        transformation/

Dependency

Merge apache/camel-jbang-examples#70 first — online examples will 404 until the external repo has the new folder paths.

Test plan

  • All camel-jbang-core tests pass (786 tests)
  • All TUI plugin tests pass
  • CLI listing shows category sub-grouping
  • TUI folder navigation works with level-scoped filtering
  • Run camel run --example=beginner/timer-log after both PRs merged

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

davsclaus and others added 3 commits July 7, 2026 09:29
…zer and tool-calling options to AgentConfiguration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
Organize bundled examples into topic-based subfolders matching
the companion reorganization of apache/camel-jbang-examples:

- beginner/ - timer-log, cron-log, rest-api, routes, tui-hello-world, camel-1-tribute
- eip/ - circuit-breaker, content-based-router (new), splitter (new), aggregator (new)
- database/ - sql
- language/ - groovy
- observability/ - memory-leak, message-size, route-topology
- transformation/ - xslt

Three new EIP examples added:
- content-based-router: choice/when routing by message content
- splitter: split batch into individual messages
- aggregator: collect messages into batches

Catalog JSON updated with new paths for all 29 examples.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • components/camel-ai/camel-langchain4j-agent-api
  • dsl/camel-jbang/camel-jbang-core
  • dsl/camel-jbang/camel-jbang-plugin-tui

🔬 Scalpel shadow comparison — Scalpel: 11 tested, 28 compile-only — current: 10 all tested

Maveniverse Scalpel detected 39 affected modules (current approach: 10).

⚠️ Modules only in Scalpel (29)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-lucene
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-csimple-maven-plugin
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

Skip-tests mode would test 11 modules (3 direct + 8 downstream), skip tests for 28 (generated code, meta-modules)

Modules Scalpel would test (11)
  • camel-jbang-core
  • camel-jbang-mcp
  • camel-jbang-plugin-mcp
  • camel-jbang-plugin-route-parser
  • camel-jbang-plugin-tui
  • camel-jbang-plugin-validate
  • camel-langchain4j-agent
  • camel-langchain4j-agent-api
  • camel-launcher-container
  • camel-yaml-dsl-validator
  • camel-yaml-dsl-validator-maven-plugin
Modules with tests skipped (28)
  • apache-camel
  • camel-allcomponents
  • camel-catalog
  • camel-catalog-console
  • camel-catalog-lucene
  • camel-catalog-maven
  • camel-catalog-suggest
  • camel-componentdsl
  • camel-csimple-maven-plugin
  • camel-endpointdsl
  • camel-endpointdsl-support
  • camel-itest
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-kamelet-main
  • camel-launcher
  • camel-report-maven-plugin
  • camel-route-parser
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers
  • camel-yaml-dsl-maven-plugin
  • coverage
  • docs
  • dummy-component

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • dsl/camel-jbang/camel-jbang-core: 1 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (39 modules)
  • Camel :: AI :: LangChain4j :: Agent
  • Camel :: AI :: LangChain4j :: Agent :: API
  • Camel :: All Components Sync point
  • Camel :: Assembly
  • Camel :: Catalog :: CSimple Maven Plugin (deprecated)
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Catalog :: Camel Report Maven Plugin
  • Camel :: Catalog :: Camel Route Parser
  • Camel :: Catalog :: Console
  • Camel :: Catalog :: Dummy Component
  • Camel :: Catalog :: Lucene (deprecated)
  • Camel :: Catalog :: Maven
  • Camel :: Catalog :: Suggest
  • Camel :: Component DSL
  • Camel :: Coverage
  • Camel :: Docs
  • Camel :: Endpoint DSL
  • Camel :: Endpoint DSL :: Support
  • Camel :: Integration Tests
  • Camel :: JBang :: Core
  • Camel :: JBang :: Integration tests
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Main
  • Camel :: JBang :: Plugin :: Edit
  • Camel :: JBang :: Plugin :: Generate
  • Camel :: JBang :: Plugin :: Kubernetes
  • Camel :: JBang :: Plugin :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Testing
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Kamelet Main
  • Camel :: Launcher
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL
  • Camel :: YAML DSL :: Deserializers
  • Camel :: YAML DSL :: Maven Plugins
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

Add category-based organization to the example browser in both CLI
(camel run --example) and TUI. Examples are now sub-grouped by category
within each difficulty level. The TUI uses a folder-based navigation
model with ".." to go back. Fix tests for the new categorized names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@davsclaus davsclaus changed the title chore: reorganize bundled jbang examples into categorized folders chore: reorganize bundled jbang examples with category sub-grouping Jul 7, 2026
@apupier

apupier commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Have you launhed the Integration test locally? (mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test)
I cannot myself as I have unrelated errors with these integration tests

@davsclaus

Copy link
Copy Markdown
Contributor Author

[INFO] Tests run: 106, Failures: 0, Errors: 0, Skipped: 6

@davsclaus
davsclaus merged commit de7124e into main Jul 7, 2026
5 checks passed
@davsclaus
davsclaus deleted the chore/reorganize-jbang-examples branch July 7, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants