Davide Giannella commented on OAK-7225:

[~reschke] I've replaced the exposed part of guava with the OOTB java bits. The 
changes are trivial and you can review them in  [^OAK-7225-0.diff] or on the 

I've looked a bit more into the usages of guava and potential replacement. The 
trickiest part is the replacement of the 
 which provides a handy way to name threads in the Executor. It's possible to 
replace it though with a simple custom implementation extending the default 
implementation in java.

Most of the guava code in the Atomic counter I found could be replaced: 
checkNotNull vs Objects.requireNonNull, ImmutableSet etc vs 
Collections.unmodifiable()... But I don't actually know if we could get rid of 
the whole Guava thing for the whole functionality. And it goes beyond the scope 
of this issue.


> Replace AtomicCounter Supplier
> ------------------------------
>                 Key: OAK-7225
>                 URL: https://issues.apache.org/jira/browse/OAK-7225
>             Project: Jackrabbit Oak
>          Issue Type: Sub-task
>          Components: core
>    Affects Versions: 1.4.0, 1.6.0
>            Reporter: Davide Giannella
>            Assignee: Davide Giannella
>            Priority: Major
>         Attachments: OAK-7225-0.diff
> In the 
> [AtomicCounter|https://github.com/apache/jackrabbit-oak/blob/7a7aa1e5d4f53f5bfb410f58264c237b288f5c74/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditorProvider.java#L121]
>  we use guava's Supplier which should be trivially replaced by the JDK8 
> [java.util.function.Supplier|https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html].
> In case of backports to Oak 1.4, and therefore Java7 it should be possible to 
> workaround the FunctionalInterface with a utility class.

This message was sent by Atlassian JIRA

Reply via email to