Dan Smith created GEODE-3723: -------------------------------- Summary: 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 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 (v6.4.14#64029)