geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Smith (JIRA)" <>
Subject [jira] [Created] (GEODE-3723) Reconsider using Optional<String> as the parameter for getRequiredPermissions
Date Fri, 29 Sep 2017 01:00:00 GMT
Dan Smith created GEODE-3723:

             Summary: Reconsider using Optional<String> as the parameter for getRequiredPermissions
                 Key: GEODE-3723
             Project: Geode
          Issue Type: Bug
          Components: security
            Reporter: Dan Smith
             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:

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

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

View raw message