Skip to content

EPMRPP-109656 || Events refactoring#32

Merged
Evelina02 merged 2 commits intodevelopfrom
EPMRPP-109656-events-refactoring
Dec 24, 2025
Merged

EPMRPP-109656 || Events refactoring#32
Evelina02 merged 2 commits intodevelopfrom
EPMRPP-109656-events-refactoring

Conversation

@Evelina02
Copy link
Contributor

@Evelina02 Evelina02 commented Dec 22, 2025

Summary by CodeRabbit

Release Notes

  • Refactor
    • Improved plugin event handling architecture for enhanced system reliability
    • Enhanced launch retrieval mechanism for more accurate event processing
    • Optimized internal dependency management

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 22, 2025

Warning

Rate limit exceeded

@Evelina02 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 34 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 417063f and 51c8c46.

📒 Files selected for processing (4)
  • build.gradle
  • src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java
  • src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java
  • src/test/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListenerTest.java

Walkthrough

This change refactors the event handling infrastructure by removing generic event handler abstractions and replacing them with direct Spring ApplicationListener implementations. PluginLoadedEventHandler is rewritten to listen to PluginUploadedEvent. SlackLaunchFinishEventListener is updated to retrieve Launch by ID instead of source. A dependency is updated in build.gradle.

Changes

Cohort / File(s) Summary
Removed generic event handling infrastructure
src/main/java/com/epam/reportportal/extension/slack/event/EventHandlerFactory.java, src/main/java/com/epam/reportportal/extension/slack/event/handler/EventHandler.java, src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventHandlerFactory.java, src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginEventListener.java, src/main/java/com/epam/reportportal/extension/slack/event/handler/plugin/PluginLoadedEventHandler.java
Deleted generic EventHandler interface, EventHandlerFactory interface, PluginEventHandlerFactory implementation, PluginEventListener router, and old PluginLoadedEventHandler (handler/plugin variant).
Event listener refactoring
src/main/java/com/epam/reportportal/extension/slack/SlackPluginExtension.java, src/main/java/com/epam/reportportal/extension/slack/event/plugin/PluginLoadedEventHandler.java
Updated SlackPluginExtension to use new PluginLoadedEventHandler and PluginUploadedEvent. Added new PluginLoadedEventHandler (event/plugin variant) implementing ApplicationListener directly. Removed IntegrationRepository dependency in favor of IntegrationTypeRepository.
Launch event listener update
src/main/java/com/epam/reportportal/extension/slack/event/launch/SlackLaunchFinishEventListener.java
Changed Launch retrieval from source-based to launchId-based lookup.
Build configuration
build.gradle
Updated service-api artifact revision from 3e34a90 to a47f5cf in the else branch of dependencies.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify all usages and callers of removed EventHandlerFactory, EventHandler, and PluginEventListener are fully updated or eliminated
  • Confirm PluginUploadedEvent type and behavior matches expectations for new PluginLoadedEventHandler
  • Validate Spring component registration and wiring of the new PluginLoadedEventHandler
  • Review LaunchFinishEventListener logic with launchId-based retrieval for correctness and potential impact on event handling

Suggested reviewers

  • hlebkanonik

Poem

🐰 Away with factory patterns grand,

Spring listeners now take command!

Generic handlers fade to dust,

Direct ApplicationListeners we trust—

Simpler flows, the code runs spry! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references a ticket (EPMRPP-109656) and describes the change as 'Events refactoring', which aligns with the substantial event handling architecture changes throughout the codebase.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Evelina02 Evelina02 merged commit e1ef4ae into develop Dec 24, 2025
3 checks passed
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.

3 participants