RFR: 1256: Use stream api to simplify the csr issue lookup [v2]
Guoxiong Li
gli at openjdk.java.net
Wed Dec 1 08:04:38 UTC 2021
On Tue, 30 Nov 2021 23:18:25 GMT, Erik Joelsson <erikj at openjdk.org> wrote:
>> Guoxiong Li has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Use stream api instead of the encapsulated method.
>
> bots/pr/src/main/java/org/openjdk/skara/bots/pr/CSRCommand.java line 165:
>
>> 163: }
>> 164:
>> 165: var csr = jbsIssue.get().links().stream()
>
> This particular pattern now occurs twice in this file. Perhaps worth moving to a private method at least, to reduce some duplication.
Fixed.
> bots/pr/src/main/java/org/openjdk/skara/bots/pr/CheckRun.java line 142:
>
>> 140: .filter(link -> link.relationship().isPresent() && "csr for".equals(link.relationship().get()))
>> 141: .findAny().flatMap(Link::issue).orElse(null);
>> 142: if (csr == null) {
>
> I just noticed this pattern being used a lot. Instead of .orElse(null), I would prefer if you let `csr` be an optional and used `csr.isPresent()` in the if statement. You will then need to use `csr.get()` to actually get the value, but this is safe as it's protected by the condition on isPresent(). If the variable in question is used a lot, you can choose resolve it with .get() into a new variable at the top of the if/else block.
>
> This applies to several places where the same pattern is used.
Fixed.
-------------
PR: https://git.openjdk.java.net/skara/pull/1248
More information about the skara-dev
mailing list