You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (JIRA)" <ji...@apache.org> on 2018/04/20 19:53:15 UTC
[jira] [Closed] (GEODE-3723) Reconsider using Optional as
the parameter for getRequiredPermissions
[ https://issues.apache.org/jira/browse/GEODE-3723?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Baker closed GEODE-3723.
--------------------------------
> Reconsider using Optional<String> as the parameter for getRequiredPermissions
> -----------------------------------------------------------------------------
>
> Key: GEODE-3723
> URL: https://issues.apache.org/jira/browse/GEODE-3723
> Project: Geode
> Issue Type: Bug
> Components: security
> Reporter: Dan Smith
> Assignee: Jens Deppe
> Priority: Major
> Fix For: 1.3.0
>
>
> The new method on function, getRequiredPermissions takes an Optional<String> as parameter.
> At point point, we added a parameterized type to the function interface (Function<T>). However, if someone tries to implement Function without the type (eg implements Function instead of implemments Function<Object>), then they get the below compilation error:
> {noformat}
> Error:(85, 41) java: name clash: getRequiredPermissions(java.util.Optional<java.lang.String>) in org.apache.geode.cache.lucene.internal.distributed.WaitUntilFlushedFunction and getRequiredPermissions(java.util.Optional<java.lang.String>) in org.apache.geode.cache.execute.Function have the same erasure, yet neither overrides the other
> {noformat}
> In addition to this annoyance Optional is generally discouraged as a parameter to a method in favor of method overloading. At least my IDE is providing a warning to that effect. Maybe having an overloaded method for getRequiredPermissions would be better?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)