Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.0 #521

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open

3.0 #521

wants to merge 26 commits into from

Conversation

caring-coder
Copy link
Member

No description provided.

Reformat tables for improved readability and add explanations for additional methods. Use consistent code formatting for clarity in customization examples.
Eliminate outdated methods and configurations marked for removal in "2.x" versions. Streamline exception handling and placeholder resolution logic.

Transition to simplified APIs reduces technical debt and enforces cleaner design for version "3.0.0-SNAPSHOT".
…d cleaning up code formatting

Streamline WordprocessingMLPackage documents by merging consecutive runs with identical styles, reducing redundancy and improving maintainability. Clean up code formatting for better readability and adherence to standards.
Centralize handling of placeholders and comment processing by integrating the logic into `CommentProcessorRegistry` and `PlaceholderReplacer`.
This improves maintainability and ensures consistent behavior across variable and comment placeholders.
Annotate nullable parameters and return types in PlaceholderReplacer to clarify null handling and prevent potential runtime issues.
…onfiguration setup

Enable simpler stamping calls with a new static `stamp` method. Improve code modularity and reduce duplication by refactoring comment processor configuration and formatter implementations.
…of streamlined `standard`

Streamline configuration management by merging preprocessing steps directly into `standard`. Consolidates usage and eliminates redundant method invocation for better clarity and maintainability.
Replace the `lineBreakPlaceholder` functionality with a dedicated `Linebreaker` postprocessor.
This makes line break handling more modular and shifts its responsibility to postprocessors, improving code maintainability and clarity.
…for configuration

Extract `streamParagraphs` logic into `DocumentUtil` to centralize functionality. Modify `addPreprocessor` and `addPostprocessor` methods to return `OfficeStamperConfiguration`, allowing method chaining.

This improves code reusability, readability, and consistency, while supporting fluent API design for configurations.
Copy link

github-actions bot commented Dec 23, 2024

Qodana Community for JVM

1 new problem were found

Inspection name Severity Problems
Result of method call ignored 🔶 Warning 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

Replace Javadoc-style multi-line comments with Markdown-style comments for improved readability and consistency with other documentation formats.
Introduce `DocumentScanner` to traverse Word documents hierarchically and process content efficiently. Update `DocxPart` to expose a `scanner()` method for integration.
Enable comprehensive document content inspection and structured iteration, simplifying comment processing and enhancing modularity.
Eliminate unused code to streamline the codebase and reduce maintenance overhead.
…Processors

Introduce `apply` methods to `CommentProcessor` and `CommentProcessors` for processing DocxParts with specific contexts. Enhance `DocumentScanner` to handle text placeholders and generate processor contexts dynamically.

This enables streamlined and efficient document processing by integrating placeholder handling and processor context application in the workflow.
Introduce `ExpressionResolver` to enhance the processing of placeholders in comments. Enables dynamic evaluation of expressions within the document workflow.
Simplify placeholder resolution by removing redundant methods and consolidating responsibility into `resolveExpressionsForParagraph`. This reduces complexity and improves maintainability.
Move exception handling logic from PlaceholderReplacer to ObjectResolverRegistry and simplify PlaceholderReplacer constructor.
Centralizing exception resolution improves maintainability and enforces single responsibility.
Improve code readability by eliminating redundant whitespace. This aligns with style conventions and maintains cleaner code.
…cxStamper

Introduce `ExpressionParser` abstraction to enhance flexibility and decouple from `SpelExpressionParser`. Update configuration to align with the new interface.

This change enables easier extension or replacement of expression parsing logic across the API while preserving backward compatibility.
…rocessor"

Rename classes, interfaces, test files, and methods to adopt "Processor" over "CommentProcessor" for clarity and consistency. Update documentation and imports accordingly.

This improves naming simplicity and generalizes usage beyond comment-based processing, reflecting the broader functionality of processors.
… ProcessorRegistry

Unify method names into `process` and `run` for clarity and consistency. Streamline code by reducing redundant method calls and improving readability.
Merge redundant `process` methods, improving consistency and readability. Simplify processor execution logic to avoid unnecessary indirection.
Prevent inconsistent formatting in document processing logic. Ensures cleaner and more maintainable code structure.
…teration logic

Replace WordprocessingMLPackage with Part in DocumentScanner constructor to generalize supported components. Enhance parsing by adding explicit handling for various WordprocessingML elements.

This change reduces coupling and improves flexibility, enabling broader applicability of DocumentScanner to different parts of a document.
Provide formatted output including anchor ID for Pict elements to improve document rendering consistency.
…g logic

Streamline scanner logic by reducing redundant calls and handling content processing directly within the scanner loop.
This ensures better readability, eliminates unnecessary steps, and improves maintainability.
…and simplify processor creation

Redesign `ExpressionResolver` into `ExpressionParser` to streamline evaluation context management and parsing logic. Refactor processors to use `Supplier<Processor>` instead of `Function<ParagraphPlaceholderReplacer, Processor>` to eliminate dependencies on `PlaceholderReplacer`.

This change improves modularity, simplifies API usage, and reduces coupling between components while maintaining functionality.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant