Skip to content

Conversation

@groldan
Copy link
Member

@groldan groldan commented Sep 3, 2025

Implements a complete annotation processor that converts Spring XML bean definitions
to Java @configuration classes. The transpiler handles all major Spring XML patterns
found across GeoServer configurations including abstract bean inheritance, factory
methods, constructor injection, property wiring, and AOP proxy beans.

Key features include preservation of original XML structure in generated javadocs,
proper handling of bean aliases and circular references, support for component-scan
elements, and comprehensive test coverage with XMLUnit-based assertions that ignore
formatting differences and comments.

The implementation uses a visitor pattern for extensible code generation and
leverages Spring's own XML parsing infrastructure to ensure robust handling of
all namespace features while capturing the original DOM elements for documentation.

@groldan groldan added enhancement New feature or request dependencies dependency management refactor A refactoring that does not affect functionality labels Oct 16, 2025
@groldan groldan force-pushed the feature/spring-config-transpiler branch from 320226c to 995725a Compare October 16, 2025 03:25
@groldan groldan force-pushed the feature/spring-config-transpiler branch from 995725a to e6172b0 Compare October 23, 2025 15:12
@groldan groldan force-pushed the feature/spring-config-transpiler branch from e6172b0 to b3b6a32 Compare November 7, 2025 01:51
@groldan groldan force-pushed the feature/spring-config-transpiler branch from b3b6a32 to ed2a606 Compare November 25, 2025 15:28
@groldan groldan force-pushed the main branch 3 times, most recently from 25610e5 to 6b98748 Compare December 11, 2025 16:46
…ation

Implements a complete annotation processor that converts Spring XML bean definitions
to Java @configuration classes. The transpiler handles all major Spring XML patterns
found across GeoServer configurations including abstract bean inheritance, factory
methods, constructor injection, property wiring, and AOP proxy beans.

Key features include preservation of original XML structure in generated javadocs,
proper handling of bean aliases and circular references, support for component-scan
elements, and comprehensive test coverage with XMLUnit-based assertions that ignore
formatting differences and comments.

The implementation uses a visitor pattern for extensible code generation and
leverages Spring's own XML parsing infrastructure to ensure robust handling of
all namespace features while capturing the original DOM elements for documentation.
@groldan groldan force-pushed the feature/spring-config-transpiler branch from ed2a606 to 486d7f4 Compare December 12, 2025 16:03
@github-actions
Copy link
Contributor

📖 Documentation Preview Ready!

The documentation has been built for this PR.

🔗 Click here to view the Live Preview

(Note: It may take a minute for GitHub Pages to update)

📊 Build Information:

  • Commit: 486d7f4
  • Status: ✅ Build Successful
  • Artifacts: Download Build

🔒 Security Note:

This preview was built using safe mode (documentation-only changes).


Generated by GitHub Actions

@github-actions
Copy link
Contributor

📊 Documentation Changes Analysis

  • Pages in Base: 17
  • Pages in PR: 17
  • Net Change: 0

🆕 New Pages

None

🗑️ Removed Pages

None

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies dependency management enhancement New feature or request refactor A refactoring that does not affect functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant