Skip to content

Release 7.0.0 - revision 2 updates #304

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

Draft
wants to merge 187 commits into
base: release/7.0.0
Choose a base branch
from
Draft

Conversation

tuplle
Copy link
Member

@tuplle tuplle commented May 8, 2025

Description

A lot of changed.

More description TBD.

Dependencies

Third party dependencies

Blocking Pull requests

<Depends on #(PR id)>/

How Has Been This Tested?

  • <Name of a test [test file](link to the test file)>

Test Configuration

<Please describe configuration for tests to run if applicable, like program parameters, host OS, VM configuration etc.>

Name Tested on
OS
Runtime
Dependency Manager
Framework version
Run parameters
Other configuration

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • My changes have been checked, personally or remotely, with @...
  • I have commented my code, particularly in hard-to-understand areas
  • I have resolved all conflicts with the target branch of the PR
  • I have updated and synced my code with the target branch
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes:
    • Lint test
    • Unit tests
    • Integration tests
  • I have checked my contribution with code analysis tools:
  • I have made corresponding changes to the documentation:
    • Developer documentation
    • User Guides
    • Migration Guides

renczesstefan and others added 30 commits October 20, 2023 15:01
- implemented plugin registration
- plugin registration server
- plugin unregistration server
- plugin executin basics
- implemented execution for plugin
- implemented execution for plugin
- added injector to action delegate
- added injector to action delegate
- added injector to action delegate
- modified injector
- moved meta objects
- modified injector
- added name attribute to plugin
- added logging
- modified convention
- modified convention
- modified pom
- added conditional on property
- add or update javadoc
- optimize imports in DemoRunner
- implement PluginRunner
- make Plugin.identifier indexed
- refactor in PluginRegistrationService
- refactor methods in PluginService
- fix warning in ClassToStringConverter
- fix properties for plugin management
- update gRPC version
- move methods in PluginService
- implement PluginRegistrationServiceTest
- implement PluginServiceTest
- implement unregistration of plugin
- implement PluginRegistrationServiceTest.testUnregister
- rework plugin as process
- update plugin runner
- remove plugin models and repository
- add method in ImportHelper
- mark method ImportHelper.populateDataset as deprecated
- add error logging in PluginRegistrationService
- create plugin constants in PluginConstants
- create plugin utils in PluginUtils
- update javadoc
- fix and update tests
- update error response in PluginRegistrationService
- add and use custom exceptions
- implement request validation in PluginRegistrationService
- fix error handling in PluginService
- fix import in PluginService
- update and add tests in PluginRegistrationServiceTest
- update tests to test PluginInjector protected methods
- implement CreateOrUpdateOutcomeTest
- add translations into plugin processes
- fix logging in PluginService
- fix uninjecting outdated metadata when activating plugin in PluginService
- update tests in PluginRegistrationServiceTest
- fix actions in test_plugin_injector.xml
- add attribute in GetOrCreateOutcome
- fix handling of overlapping methods in request
- add test for overlapping methods in PluginRegistrationServiceTest
renczesstefan and others added 30 commits May 29, 2025 10:58
- In the constructor for `Task` (domain `Task` to DTO), the mapping of the user field was updated to set `userId` by fetching the string ID (`task.getUser().getStringId()`) instead of creating a `User` object (`User.createUser(...`).
- These changes simplify the `Task` class by focusing on storing the `userId` directly instead of the complete `User` object.
- Added `@ConditionalOnMissingBean` annotation to the `actionDelegate` bean to ensure it is only created if not already defined.
- Renamed `Module` to `NaeModule` throughout `ActionDelegate.groovy` for consistency with naming conventions.
- Added `userRealmId` property to the `Task` class with getters and setters for better user realm tracking.
- Updated `TaskService` to handle `userRealmId` during task start, delegation, and completion processes.
- Removed `@NoArgsConstructor` annotations from `ElasticCase` and `ElasticTask` to enforce proper instantiation via constructors.
- Added `@JsonIgnore` to the `getUserRealmId` method for serialization behavior control.

These changes enhance task user identification and support future implementation of multi-realm capabilities.
- Added `userRealmId` property to the `Task` class with getters and setters for better user realm tracking.
- Updated `TaskService` to handle `userRealmId` during task start, delegation, and completion processes.
- Removed `@NoArgsConstructor` annotations from `ElasticCase` and `ElasticTask` to enforce proper instantiation via constructors.
- Added `@JsonIgnore` to the `getUserRealmId` method for serialization behavior control.

These changes enhance task user identification and support future implementation of multi-realm capabilities.
- reverted noargsconstructor
- added userRealmId to builder constructor
[NAE-2115] Task search on Search Node
- Remove `@JsonIgnore` annotation from overridden `getTasks` method
- Added transformation methods `transformCaseFieldField` and `transformFilterFieldField` to `ElasticCaseMappingService`.
- Introduced new classes `CaseField` and `FilterField` in both `elastic` and `spring.elastic` domains.
- Updated `I18nField` to include `translations` using a `Map<String, String>` and annotated it appropriately for ElasticSearch.
- Enhanced `GetDataEvent` to handle null values safely in `getMessage`.
- Modified `User` domain to handle `tel` attribute when `attributes` is null.
- Fixed formatting of multiple methods for better readability.
- Updated `docker-compose.yml` to correct misplaced `networks` and `volumes` definition.
…alization

- Introduced a `getValue` method to multiple field classes (`MapField`, `DataField`, `UserField`, `CaseField`, `DateField`, and others) to standardize data retrieval from field objects.
- Created a new `ImmediateField` class for representing immediate data fields in `ElasticCase`.
- Updated `ElasticCase` to include handling for `immediateData` with proper mapping from `ImmediateField`.
- Refactored imports across the affected classes to use `java.util.*` and streamline code.
- Enhanced `FileField` with support for file paths and proper serialization via `getValue`.
- Updated various field structure definitions to ensure clarity and consistency in field data management.

This change improves maintainability and provides better support for advanced data retrieval and serialization of field objects.
- Corrects the condition to check if the user is null before accessing its realmId. Prevents potential NullPointerException when the user object is not initialized.
Adjusted null and boundary checks in `getValue` methods to prevent runtime exceptions and ensure data integrity. Added validation for filter type in `ActionDelegate` to avoid illegal arguments and improved string handling for robustness.
Introduced annotations (`EntryPoint` and `EntryPointMethod`) and corresponding domain models (`Plugin`, `EntryPoint`, `Method`, and `ListenerFilter`) to support a plugin architecture. These enable defining and managing plugins, their methods, and listener filters for remote invocation.
Introduced a new interface to define plugin registration configuration. It includes methods for retrieving the plugin name, version, and entry points. This provides a foundation for standardizing plugin integration.
Introduced core classes and services to enable a plugin architecture. This includes plugin injection, entry point management, and dynamic meta-class updates for ActionDelegate. The changes set the foundation for extensible plugin support within the system.
Introduced core classes and services to enable a plugin architecture. This includes plugin injection, entry point management, and dynamic meta-class updates for ActionDelegate. The changes set the foundation for extensible plugin support within the system.
The EntryPointLoaderService interface was unused and redundant, so it has been deleted to simplify the codebase. This helps maintain cleaner and more maintainable code.
Replaced the use of EntryPointLoaderService with ApplicationContext to retrieve PluginRegistrationConfiguration beans. This simplifies the process of loading plugins and their entry points, consolidating configuration management and improving maintainability.
Updated the PluginRunner to assign the plugin version from the configuration file instead of using a hardcoded value. This ensures better flexibility and easier version management for plugins.
Introduced PluginHolder as a new field in ActionDelegate and initialized it in the constructor. This change supports enhanced plugin management within the ActionDelegate logic.
- Enhanced PluginInjector with improved meta-class injection logic and documentation.
- Updated PluginRegistrationConfiguration to include metadata retrieval.
- Introduced @target and @retention annotations for ListenerFilter definition.
- Ensured compatibility with method-level usage and set retention policy at runtime.
[NAE-2129] Inject Plugin JAR into Community Edition
Introduced `unInject` method to remove plugins from the meta-class system, disabling their dynamic calls. Updated `updateMetaClasses` to handle both injection and removal actions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugfix A change that fixes a bug critical A change that is critical to a release and must not be omitted improvement A change that improves on an existing feature new feature A change that introduces new functionality update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants