SUSE / salt-netapi-client

Java bindings for the Salt API
MIT License
85 stars 95 forks source link

Xor.Right.right() should return Optional.ofNullable(right) #308

Open JimSermersheim opened 1 year ago

JimSermersheim commented 1 year ago

I have a minion function that can in some conditions return None. When this happens, the Result element for the minion is a Result(null) -- in other words, The Result's xor is a Right, where the right value is null. Calling Result.result() causes a NullPointerException because Xor.Right.right() is returning Optional.of(right). Since it's returning an Optional, it seems like it'd be better to return Optional.ofNullable(right).

The same would probably apply to Xor.Left.left(), though I can't think of the use case where the value there would be null.

JimSermersheim commented 1 year ago

Workaround: don't' call Result.result(). Instead, use Result.consume(). The consumerResult will be given a null object for the case in the description