stable

Clone or download

Read-only

Use asynchronous event as the only source for Iteration creations

part of story #21368 create mirrored iteration No functional change expected when creating mirrored iterations: - Make sure your redis worker is running - Run `tuleap config-set feature_flag_program_management_display_iteration 1` to enable iterations. - Edit a Program Increment artifact and add one or more artifact links with _is_child type to Iteration artifacts. - a log message will be added to "program_management_syslog" for each iteration: [debug] Processing iteration creation with iteration #6318 for user - Only links to Iterations that have never been linked in previous changesets of the Program Increment are considered. If you edit the PI again, the iterations are not processed again. Notes: This also introduces a "Builder" for the iteration creation processor that follows in the footsteps of program increments. Later it will save us memory on each worker event because we will only instantiate a big stack of classes when needed. Change-Id: Ibd467bffb9160bff0a1e20e3be4fe72a25ff664e

Modified Files

Name
M plugins/program_management/db/install.sql +0 −10 Go to diff View file
M plugins/program_management/db/uninstall.sql +0 −1 Go to diff View file
M plugins/program_management/include/Adapter/Events/ProgramIncrementUpdateEventProxy.php +126 −12 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StoredIterationNoLongerValidException.php Go to diff View file
A plugins/program_management/include/Adapter/JSON/PendingProgramIncrementUpdateRepresentation.php +63 −0 Go to diff View file
R plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationProxy.php Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/LastChangesetRetriever.php +1 −1 Go to diff View file
D plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationDAO.php +0 −113 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateDispatcher.php +7 −11 Go to diff View file
M plugins/program_management/include/Adapter/Program/Backlog/Iteration/IterationsLinkedToProgramIncrementDAO.php +2 −3 Go to diff View file
A plugins/program_management/include/Domain/Events/PendingIterationCreation.php +71 −0 Go to diff View file
M plugins/program_management/include/Domain/Events/ProgramIncrementUpdateEvent.php +12 −3 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ArtifactUpdatedHandler.php +11 −3 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StoreIterationCreations.php Go to diff View file
D plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/DeletePendingIterations.php +0 −30 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationCreation.php +39 −63 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationCreationDetector.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/IterationCreationProcessor.php +3 −3 Go to diff View file
D plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/PendingIterationCreation.php +0 −36 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/ProcessIterationCreation.php +1 −1 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateEventHandler.php +10 −67 Go to diff View file
D plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateScheduler.php +0 −42 Go to diff View file
D plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/SearchPendingIterations.php +0 −31 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/Iteration/IterationIdentifier.php +8 −5 Go to diff View file
M plugins/program_management/include/Domain/Program/Backlog/ProgramIncrement/ProgramIncrementUpdate.php +3 −31 Go to diff View file
M plugins/program_management/include/program_managementPlugin.php +28 −34 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/ProgramIncrementUpdateEventProxyTest.php +183 −14 Go to diff View file
A plugins/program_management/tests/unit/Adapter/JSON/PendingIterationCreationRepresentationTest.php +45 −0 Go to diff View file
A plugins/program_management/tests/unit/Adapter/JSON/PendingProgramIncrementUpdateRepresentationTest.php +87 −0 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/LastChangesetRetrieverTest.php +9 −20 Go to diff View file
D plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/PendingIterationCreationProxyTest.php +0 −45 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateDispatcherTest.php +11 −16 Go to diff View file
M plugins/program_management/tests/unit/Builder/IterationCreationBuilder.php +6 −17 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StoredChangesetNotFoundException.php Go to diff View file
A plugins/program_management/tests/unit/Builder/PendingIterationCreationBuilder.php +44 −0 Go to diff View file
A plugins/program_management/tests/unit/Domain/Events/PendingIterationCreationTest.php +88 −0 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/ArtifactUpdatedHandlerTest.php +10 −21 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/DomainChangesetTest.php +8 −15 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationCreationDetectorTest.php +1 −1 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationCreationProcessorTest.php +1 −1 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/IterationCreationTest.php +47 −96 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateEventHandlerTest.php +26 −132 Go to diff View file
D plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementUpdateSchedulerTest.php +0 −72 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/Iteration/IterationIdentifierTest.php +2 −2 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/Iteration/JustLinkedIterationCollectionTest.php +1 −1 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/ProgramIncrement/ProgramIncrementUpdateTest.php +2 −64 Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StoredProgramIncrementNoLongerValidException.php Go to diff View file
R plugins/program_management/include/Domain/Program/Backlog/AsynchronousCreation/StoredUserNotFoundException.php Go to diff View file
R plugins/program_management/tests/unit/Stub/SearchPendingIterationsStub.php Go to diff View file
M plugins/program_management/tests/unit/Stub/ProgramIncrementUpdateEventStub.php +44 −9 Go to diff View file
M plugins/program_management/tests/unit/Stub/VerifyIterationHasBeenLinkedBeforeStub.php +1 −1 Go to diff View file