A null @NonnullAfterInit getId() ?

Tom Zeller tzeller at dragonacea.biz
Mon Nov 6 13:05:24 EST 2017



> On Nov 6, 2017, at 11:42 AM, Cantor, Scott <cantor.2 at osu.edu> wrote:
> 
>> Turns out that the RelyingPartyMetadataProvider has the null id.
>> 
>> To “fix”, I (1) added the shibboleth.IdentifiableBeanPostProcessor to the
>> shibboleth.MetadataResolverService’s beanPostProcessors,
> 
> It already is in my copy.

Ah, I was working off maint-3.3 / 3.3.1 not master.

The commit was 4462ff497a95219d0c486c8ec07a8efa17f6b977.

> 
>> (2) added
>> 'implements IdentifiableComponent' to the RelyingPartyMetadataProvider,
> 
> Also already true, it inherits from a class that extends AbstractInitializeable

I see Initializeable and Identified but not Identifiable in the type hierarchy of RelyingPartyMetadataProvider.

> 
>> and (3) added setId() to RelyingPartyMetadataProvider.
> 
> Which suggests something's wrong since the post processor should be doing that.

Hmm, the IdentifiableBeanPostProcessor only touches IdentifiableComponents, and the RelyingPartyMetadataProvider is not Identifiable, but it does inherit setId(). Just adding ‘implements IdentifiableComponent’ to RelyingPartyMetadataProvider results in Eclipse complaining with "The inherited method AbstractIdentifiedInitializableComponent.setId(String) cannot hide the public abstract method in IdentifiableComponent”.

Somewhat confused,
Tom


More information about the dev mailing list