Re-architect submission handler inheritance hierarchy #2285
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Despite being the core of CDash as a product, the submission handlers are currently messy, with lots of duplicated code, subclass-specific logic in superclasses, and convoluted code paths after being hacked on for two decades.
This foundational PR eliminates several interfaces which were previously being treated as abstract classes, with many identical redefinitions of the same methods. All of the raw includes of handlers have also been cleaned up, in support of a fully-autoloaded future. I plan to properly namespace the handlers so they can be autoloaded by the default autoloader instead of our custom autoloader in a future PR. In a separate string of future PRs, I plan to slowly begin the process of pulling out common logic into base classes and moving subclass-specific logic down into those subclasses.