spring-projects / spring-projects/spring-security
SEC-2862: Make AclService Generic
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.6k
- Forks
- 6.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 52
Description
Ruben Dijkstra (Migrated from SEC-2862) said:
Since AclService can be extended, it should be trivial to make AclService generic.
For example, MutableAclService operates only on MutableAcl, but all inherited methods still return Acl.
Since it is a fact, you can downcast Acl to MutableAcl at all times, but it would be cleaner for the compiler to do this for you.
Since the generic methods would erase to Acl, I would like to hear about any other opinions that could prevent this change.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the AclService and MutableAclService declarations and inspect the inherited methods that currently return Acl. Check how the generic signatures erase and whether existing extensions remain source- and binary-compatible; done means MutableAclService callers receive MutableAcl without manual casts while the API continues to compile and pass its tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- security
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100