stable

Clone or download

Read-only

Refactoring: Extract representation builders

part of story #18336 add support of markdown No functional change expected: - in all routes that list Artifacts (GET artifacts, changesets, reports) - in GET FRS releases route - in Artifact webhooks (that are triggered after an update or creation of artifact). Instead of pushing even more responsibilities to Comment and Changeset classes, this contribution aims to decrease them. The same way we don't ask a DAO class to output HTML, we should not ask a data class to output JSON representations. This refactoring enables us to (later) inject dependencies in the CommentRepresentationBuilder to extract references and render Markdown in HTML. Change-Id: Iee7da77fb3b44005ac5338fcf7312a738405af37

Modified Files

Name
M plugins/frs/include/FRS/REST/v1/ReleaseRepresentation.php +12 −4 Go to diff View file
M plugins/testmanagement/include/TestManagement/REST/v1/ExecutionsResource.class.php +1 −1 Go to diff View file
M plugins/tracker/include/REST/Artifact/ArtifactRepresentation.class.php +1 −1 Go to diff View file
M plugins/tracker/include/REST/Artifact/ArtifactRepresentationBuilder.php +21 −18 Go to diff View file
M plugins/tracker/include/REST/Artifact/ArtifactUpdater.class.php +1 −1 Go to diff View file
A plugins/tracker/include/REST/Artifact/Changeset/ChangesetRepresentation.php +102 −0 Go to diff View file
A plugins/tracker/include/REST/Artifact/Changeset/ChangesetRepresentationBuilder.php +146 −0 Go to diff View file
R plugins/tracker/include/REST/Artifact/ChangesetRepresentationCollection.class.php Go to diff View file
R plugins/tracker/include/REST/Artifact/ChangesetCommentRepresentation.class.php Go to diff View file
A plugins/tracker/include/REST/Artifact/Changeset/Comment/CommentRepresentationBuilder.php +44 −0 Go to diff View file
R plugins/tracker/include/REST/Artifact/Followup/NewChangesetCommentRepresentation.php Go to diff View file
D plugins/tracker/include/REST/Artifact/ChangesetRepresentation.class.php +0 −102 Go to diff View file
M plugins/tracker/include/REST/v1/ArtifactsResource.class.php +10 −3 Go to diff View file
M plugins/tracker/include/REST/v1/ReportsResource.class.php +13 −9 Go to diff View file
M plugins/tracker/include/REST/v1/TrackersResource.class.php +9 −2 Go to diff View file
A plugins/tracker/include/Tracker/Artifact/Changeset/Followup/InvalidCommentFormatException.php +31 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Changeset/PostCreation/ActionsRunner.php +19 −7 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Changeset/PostCreation/WebhookNotificationTask.php +19 −7 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Changeset.class.php +0 −70 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Changeset_Comment.class.php +7 −1 Go to diff View file
M plugins/tracker/include/Tracker/Webhook/ArtifactPayload.php +9 −37 Go to diff View file
A plugins/tracker/include/Tracker/Webhook/ArtifactPayloadBuilder.php +68 −0 Go to diff View file
M plugins/tracker/tests/unit/REST/Artifact/ArtifactRepresentationBuilderTest.php +102 −55 Go to diff View file
M plugins/tracker/tests/unit/REST/Artifact/ArtifactUpdaterTest.php +1 −1 Go to diff View file
A plugins/tracker/tests/unit/REST/Artifact/Changeset/ChangesetRepresentationBuilderTest.php +277 −0 Go to diff View file
A plugins/tracker/tests/unit/REST/Artifact/Changeset/Comment/CommentRepresentationBuilderTest.php +89 −0 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Artifact/Changeset/PostCreation/WebhookNotificationTaskTest.php +8 −6 Go to diff View file
D plugins/tracker/tests/unit/Tracker/Artifact/Tracker_Artifact_ChangesetTest.php +0 −214 Go to diff View file
R plugins/tracker/tests/unit/Tracker/Webhook/ArtifactPayloadTest.php Go to diff View file
M plugins/tracker/tests/unit/Tracker_Artifact_Changeset_CommentTest.php +18 −22 Go to diff View file