directory-scimple icon indicating copy to clipboard operation
directory-scimple copied to clipboard

Add ScimRequestContext to Request.create method

Open bdemers opened this issue 2 months ago • 5 comments

Deprecate old method, new method falls back to previous

Wart, implementors must still implement the old method

bdemers avatar Sep 12 '25 16:09 bdemers

View details about the 'Apache Rat - Check' build 533 in the Build Scan 📊

github-actions[bot] avatar Sep 12 '25 16:09 github-actions[bot]

View details about the 'Maven Verify (with Java 21-zulu)' build 1668 in the Build Scan 📊

github-actions[bot] avatar Sep 12 '25 16:09 github-actions[bot]

View details about the 'Maven Verify (with Java 17-zulu)' build 1668 in the Build Scan 📊

github-actions[bot] avatar Sep 12 '25 16:09 github-actions[bot]

@CS-Birb I took a quick pass at replacing the attribute args with a ScimRequestContext (just the create method at first to get a feel for how it would look, but the rest of the methods would need to be implemented before merging)

I think this could work, but I don't like my fall back strategy (default method, calls the old method). Implementors would need to implement the new method, and the old, which feel wrong.

Any thoughts?

bdemers avatar Sep 12 '25 16:09 bdemers

I'd struggled to think of an ideal fallback strategy with my previous PR too. Bit of a catch-22.

Making the new method default has the lowest impact for existing implementations of the Repository, but to use the new method will require keeping an override for the old.

Between M1 and the next production release there are already breaking changes in the Repository method signatures (I.e. version string to ETags, attribute references in more methods) so this may be a viable time to implement this as a breaking change. Adding new fields later on to the ScimRequestContext could then only be minor changes

CS-Birb avatar Sep 15 '25 00:09 CS-Birb