Feature/appconfigurator validation migration #309
Draft
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.
Overall Goal
The goal is to move the validation methods from the
config/ApplicationConfiguratorclass into domain-specific feature classes and their respectivevalidatemethods.Directly moving them was not possible since the domain-specific feature classes are only executed at runtime.
As the
validatemethods are currently being implemented in the GIT abstraction feature, those methods were used as a foundation for moving validation logic into feature-specificvalidatemethods.The main idea is that each feature class should be able to configure and validate itself.
In the future, this approach should be extended to support not only validation but also setter methods.
Since a complete refactoring and migration would be too large for one step, the following was implemented in this PR:
Implementation
preConfigInitandpostConfigInit.CommonFeatureConfighas been created in theconfigpackage.This class can be shared between several features.
Although it extends the
Featureclass, it is explicitly ignored in theDI context and test context.
Next Steps
With the implementation of this story, the extraction of the Registry Feature configuration will be tested.
This feature should have minimal dependencies, serving as a proof of concept for the new structure.