stable

Clone or download

Read-only

[Refacto] Stop injecting nullable fields in SemanticTimeframe

Note to reviewers: - I apologize for the huge size of this commit, but taking down this design on which are based numerous features is a hard thing to do. - This refactoring is the first one of a serie. In the next steps I will attempt to extract the logic applying to each configuration option in the dedicated TimeframeBuilders objects. For the moment, I had no choice to leave crappy temporary code in SemanticTimeframe (getStartDateField, getEndDateField, getDurationField) otherwise I would have broken timeperiods across all plateforms :scream: How to test: - No functional changes expected in: -- XML import/export of the semantic -- Tracker duplication -- Semantic configuration (Admin UI) -- Semantic exposure in REST routes -- Wherever the semantic is being used (sorry, I did not make a list) This commit is part of: story #21362 Base artifact timeframe on a linked artifact Change-Id: If396b160f6798c11d46b39c070a44830831fae03

Modified Files

Name
M plugins/roadmap/tests/unit/Roadmap/REST/v1/RoadmapTasksRetrieverTest.php +18 −12 Go to diff View file
M plugins/roadmap/tests/unit/Roadmap/REST/v1/TaskRepresentationBuilderForTrackerCacheTest.php +9 −6 Go to diff View file
M plugins/tracker/include/REST/SemanticTimeframeWithDurationRepresentation.php +3 −2 Go to diff View file
M plugins/tracker/include/REST/SemanticTimeframeWithEndDateRepresentation.php +3 −2 Go to diff View file
M plugins/tracker/include/Tracker/Semantic/Timeframe/ArtifactTimeframeHelper.php +1 −1 Go to diff View file
A plugins/tracker/include/Tracker/Semantic/Timeframe/IComputeTimeframes.php +44 −0 Go to diff View file
A plugins/tracker/include/Tracker/Semantic/Timeframe/IRepresentSemanticTimeframe.php +25 −0 Go to diff View file
M plugins/tracker/include/Tracker/Semantic/Timeframe/SemanticTimeframe.php +17 −138 Go to diff View file
M plugins/tracker/include/Tracker/Semantic/Timeframe/SemanticTimeframeBuilder.php +10 −8 Go to diff View file
M plugins/tracker/include/Tracker/Semantic/Timeframe/SemanticTimeframeFromXMLBuilder.php +8 −3 Go to diff View file
D plugins/tracker/include/Tracker/Semantic/Timeframe/SemanticTimeframeSaver.php +0 −54 Go to diff View file
A plugins/tracker/include/Tracker/Semantic/Timeframe/TimeframeNotConfigured.php +77 −0 Go to diff View file
A plugins/tracker/include/Tracker/Semantic/Timeframe/TimeframeWithDuration.php +132 −0 Go to diff View file
A plugins/tracker/include/Tracker/Semantic/Timeframe/TimeframeWithEndDate.php +132 −0 Go to diff View file
M plugins/tracker/tests/rest/_fixtures/Semantics/project.xml +59 −50 Go to diff View file
M plugins/tracker/tests/unit/Tracker/FormElement/ChartConfigurationFieldRetriverTest.php +20 −18 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/ArtifactTimeframeHelperTest.php +33 −16 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/SemanticTimeframeBuilderTest.php +13 −21 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/SemanticTimeframeFromXMLBuilderTest.php +160 −0 Go to diff View file
D plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/SemanticTimeframeSaverTest.php +0 −152 Go to diff View file
D plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/SemanticTimeframeTest.php +0 −374 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/TimeframeBuilderTest.php +25 −128 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/TimeframeNotConfiguredTest.php +92 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/TimeframeWithDurationTest.php +176 −0 Go to diff View file
A plugins/tracker/tests/unit/Tracker/Semantic/Timeframe/TimeframeWithEndDateTest.php +165 −0 Go to diff View file