[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