[jboss-jira] [JBoss JIRA] (ELY-1453) Sigtest: In public API non public class RealmDefiniteOutcomeAuthenticationEvent is used

Jan Kalina (JIRA) issues at jboss.org
Thu Nov 23 09:51:00 EST 2017


    [ https://issues.jboss.org/browse/ELY-1453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493419#comment-13493419 ] 

Jan Kalina commented on ELY-1453:
---------------------------------

Problem is public `RealmEventVisitor` use package local abstract class `RealmDefiniteOutcomeAuthenticationEvent` in method declaration.
I see following solutions:

a) to set `RealmDefiniteOutcomeAuthenticationEvent` as public, *but to change its constructor to be package-local*. Abstract parent would become public, but without possibility to create new children from outside of elytron. (but this would extend public api)

b) to replace method of `RealmEventVisitor` which use that abstract class by two methods - one for each child. (but not sure if this would not be considered api breaking change - even through it is not to possible to create more children of this abstract parent...)

[~dmlloyd] as you has added this api, which solution you would recommend?

> Sigtest: In public API non public class RealmDefiniteOutcomeAuthenticationEvent is used
> ---------------------------------------------------------------------------------------
>
>                 Key: ELY-1453
>                 URL: https://issues.jboss.org/browse/ELY-1453
>             Project: WildFly Elytron
>          Issue Type: Bug
>          Components: API / SPI
>    Affects Versions: 1.2.0.Beta10
>            Reporter: Martin Choma
>
> SigTest check reveals:
> {noformat}
> Hidden class found:
> org.wildfly.security.auth.server.event.RealmDefiniteOutcomeAuthenticationEvent
> in method public
> {org.wildfly.security.auth.server.event.RealmEventVisitor%1}
> org.wildfly.security.auth.server.event.RealmEventVisitor.handleDefiniteOutcomeAuthenticationEvent(org.wildfly.security.auth.server.event.RealmDefiniteOutcomeAuthenticationEvent,{org.wildfly.security.auth.server.event.RealmEventVisitor%0})
> in class org.wildfly.security.auth.server.event.RealmEventVisitor
> {noformat}
> Fix could be as easy as make RealmDefiniteOutcomeAuthenticationEvent public.
> But I still left for developers judgement if make constructor of RealmDefiniteOutcomeAuthenticationEvent package private. Thus RealmDefiniteOutcomeAuthenticationEvent can't be inherited from. If that was reason for not marking this class as public originally.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list