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

[NAE-1998] Implement transactions for events #266

Open
wants to merge 50 commits into
base: release/8.0.0
Choose a base branch
from

Conversation

Retoocs
Copy link
Contributor

@Retoocs Retoocs commented Jul 31, 2024

Description

Implement transactions for Petriflow actions. Optimized some services

Implements NAE-1998

Dependencies

No new dependencies were introduced

Third party dependencies

No new dependencies were introduced

Blocking Pull requests

There are no dependencies on other PR

How Has Been This Tested?

Manually and with unit tests. Test file: TransactionTest

Test Configuration

Name Tested on
OS Linux Mint 21.1 Cinnamon
Runtime Java 11
Dependency Manager Maven 3.6.3
Framework version Spring Boot 2.7.8
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 @mazarijuraj
  • 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

- init transaction implementation
- move and update NaeTransaction
- rework transaction execution in ActionDelegate
- add TransactionTest file with resource file
- move and update TransactionTest
- implement transaction timeout in NaeTransaction
- rename ActionDelegate.transaction parameter
- update return type of ActionDelegate.transaction
- fix transaction timeout in ActionRunner
- refactor elastic indexing of case, task and petriNet
- implement ElasticPetriNetService.findAllByIdentifier
- rework PetriNetEventHandler, CaseEventHandler, TaskEventHandler
- update and implement some tests in TransactionTest
- update transaction error logging in ActionDelegate
- implement new tests in TransactionTest
- implement error propagation into rollback closure in NaeTransaction
- implement test for error propagation
- add javadoc
- refactor ActionDelegate.throwIfCallBackFailed
- optimize imports
- change mongo configuration to replica set
- fix mongo event handlers to work with empty documents
- fix access modifiers in ActionRunner and MongoConfig
@Retoocs Retoocs added the new feature A change that introduces new functionality label Jul 31, 2024
@Retoocs Retoocs self-assigned this Jul 31, 2024
- optimize DataService.getData
- optimize DataService.setData
- implement and use ActionDelegate.deleteCase
- optimize PetriNetService.importPetriNet
- fix some warnings
- fix WorkflowAuthorizationServiceTest
- fixes according to unit tests
- change builder() to with()
- change builder() to with()
- remove disabled test
# Conflicts:
#	src/test/groovy/com/netgrif/application/engine/auth/WorkflowAuthorizationServiceTest.groovy
#	src/test/groovy/com/netgrif/application/engine/export/service/ExportServiceTest.groovy
#	src/test/groovy/com/netgrif/application/engine/petrinet/domain/EventTest.groovy
#	src/test/resources/change_caseref_value_action_test.xml
- fix tests
- update application-test.properties
@Retoocs Retoocs marked this pull request as ready for review August 9, 2024 14:16
- fix TransactionTest.testBasicTransactionWithFailure
- implement transactional option in DataService.setData
- implement new tests in DataServiceTest
- make DataService.getData optionally transactional
- add javadoc for DataService.setData
- optimize DataService.setData
- update DataServiceTest
- make WorkflowService.createCase optionally transactional
- implement new tests in WorkflowServiceTest
- fix id of create_case_locale.xml
- make WorkflowService.deleteCase optionally transactional
- implement new tests in WorkflowServiceTest
- optimize transactions in API
- make TaskService.assignTask optionally transactional
- make TaskService.finishTask optionally transactional
- make TaskService.cancelTask optionally transactional
- implement new tests in TaskServiceTest
- make PetriNetService.importPetriNet optionally transactional
- fix handling non-existing petriNets in PetriNetService.findByImportId
- implement new tests in PetriNetServiceTest
- refactor PetriNetService.deletePetriNet
- make PetriNetService.deletePetriNet optionally transactional
- optimize NaeTransaction build up
- implement and apply NaeTransactionProperties with default values
- fix NaeTransactionBuilder.forceCreation
- add and use application-test-transaction.properties
- implement performance test in TransactionTest
- add javadoc in TaskDataSets
- add test net from builder with some changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature A change that introduces new functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants