This repository was archived by the owner on Dec 5, 2024. It is now read-only.
Improved the sturdyness of repository deletion #3
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.
Description
Refactoring of the extension, changing from a inheritance based structure, to a composition based one. This helps a lot with testing, and makes the code easier to understand, and it didn't changed any public interfaces, so it is entirely retro compatible.
The main points of the refactor are:
RepositoryFactory
classGithubRepository
/SharedGithubRepository
/GithubRepositoryFeature
interceptors now inherits directly fromAbstractMethodInterceptor
.RepositoryFieldOperations
which is a slightly-changed, and has similar methods to the oldGithubRepositoryFieldInterceptor
.Besides there were several some in the deletion code to make it more sturdy, the main ones being:
FileNotFoundException
exceptions, and also checks if the repository still exists before trying deletionException
exceptions in the deletion process, now are only ignoringFileNotFoundException
(404) exceptions, to make more clear which errors are happening.The refactoring is isolated in the
refactor/interceptors
branch, for ease of comparison, and if so wished, a new PR with only the refactored code can be open as well.Changes