You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2019/10/09 11:10:08 UTC

svn commit: r1868176 - in /jackrabbit/oak/trunk: oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/ oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/ oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/ oak-core/s...

Author: reschke
Date: Wed Oct  9 11:10:08 2019
New Revision: 1868176

URL: http://svn.apache.org/viewvc?rev=1868176&view=rev
Log:
OAK-8685: Deprecate Guava based APIs in WhiteboardUtils

Added:
    jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java   (with props)
Modified:
    jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
    jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java
    jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/MountsNodeCounterTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/NodeCounterIndexTest.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/TraversalAvoidanceTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/SynchronousPropertyIndexTest.java
    jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/RepositoryFixture.java

Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java Wed Oct  9 11:10:08 2019
@@ -33,6 +33,7 @@ import java.util.concurrent.ExecutorServ
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Predicate;
 
 import javax.jcr.Node;
 import javax.jcr.Repository;
@@ -43,7 +44,6 @@ import javax.jcr.query.QueryManager;
 import javax.jcr.query.QueryResult;
 
 import com.google.common.base.Joiner;
-import com.google.common.base.Predicate;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.MoreExecutors;
@@ -407,7 +407,7 @@ public class HybridIndexTest extends Abs
     private AsyncIndexUpdate getAsyncIndexUpdate() {
         return (AsyncIndexUpdate)WhiteboardUtils.getService(whiteboard, Runnable.class, new Predicate<Runnable>() {
                 @Override
-                public boolean apply(@Nullable Runnable input) {
+                public boolean test(@Nullable Runnable input) {
                     return input instanceof AsyncIndexUpdate;
                 }
             });

Added: jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java?rev=1868176&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java (added)
+++ jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java Wed Oct  9 11:10:08 2019
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.oak.spi;
+
+import java.util.Locale;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GuavaDeprecation {
+
+    private static final Logger LOG = LoggerFactory.getLogger(GuavaDeprecation.class);
+
+    private static final String DEFAULT = "debug";
+
+    private static final String TLOGLEVEL = System.getProperty(GuavaDeprecation.class + ".LOGLEVEL", DEFAULT);
+
+    private static String LOGLEVEL;
+
+    static {
+        String t;
+
+        switch (TLOGLEVEL.toLowerCase(Locale.ENGLISH)) {
+            case "error":
+            case "warn":
+            case "info":
+            case "debug":
+                t = TLOGLEVEL.toLowerCase(Locale.ENGLISH);
+                break;
+            default:
+                t = DEFAULT;
+                break;
+        }
+
+        LOGLEVEL = t;
+    }
+
+    private GuavaDeprecation() {
+    }
+
+    public static void handleCall(String ticket) throws UnsupportedOperationException {
+        String message = "use of deprecated Guava-related API - this method is going to be removed in future Oak releases - see %s for details";
+
+        switch (LOGLEVEL) {
+            case "error":
+                if (LOG.isErrorEnabled()) {
+                    LOG.error(String.format(message, ticket), new Exception("call stack"));
+                }
+                break;
+            case "warn":
+                if (LOG.isWarnEnabled()) {
+                    LOG.warn(String.format(message, ticket), new Exception("call stack"));
+                }
+                break;
+            case "info":
+                if (LOG.isInfoEnabled()) {
+                    LOG.info(String.format(message, ticket), new Exception("call stack"));
+                }
+                break;
+            case "debug":
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug(String.format(message, ticket), new Exception("call stack"));
+                }
+                break;
+        }
+    }
+}

Propchange: jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/GuavaDeprecation.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java (original)
+++ jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils.java Wed Oct  9 11:10:08 2019
@@ -20,15 +20,16 @@ import java.util.Collections;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Predicate;
 
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
 import org.apache.jackrabbit.oak.commons.jmx.JmxUtil;
+import org.apache.jackrabbit.oak.spi.GuavaDeprecation;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Iterables;
@@ -129,7 +130,7 @@ public class WhiteboardUtils {
      */
     @NotNull
     public static <T> List<T> getServices(@NotNull Whiteboard wb, @NotNull Class<T> type) {
-        return getServices(wb, type, null);
+        return getServices(wb, type, (java.util.function.Predicate<T>) null);
     }
 
     /**
@@ -141,7 +142,7 @@ public class WhiteboardUtils {
      */
     @Nullable
     public static <T> T getService(@NotNull Whiteboard wb, @NotNull Class<T> type) {
-        return getService(wb, type, null);
+        return getService(wb, type, (java.util.function.Predicate<T>) null);
     }
 
     /**
@@ -162,13 +163,24 @@ public class WhiteboardUtils {
             if (predicate == null) {
                 return tracker.getServices();
             } else {
-                return ImmutableList.copyOf(Iterables.filter(tracker.getServices(), predicate));
+                return ImmutableList.copyOf(Iterables.filter(tracker.getServices(), (input) -> predicate.test(input)));
             }
         } finally {
             tracker.stop();
         }
     }
 
+
+    /**
+     * @deprecated use {@link #getServices(Whiteboard, Class, java.util.function.Predicate)} instead
+     */
+    @NotNull
+    @Deprecated public static <T> List<T> getServices(@NotNull Whiteboard wb, @NotNull Class<T> type,
+            @Nullable com.google.common.base.Predicate<T> predicate) {
+        GuavaDeprecation.handleCall("OAK-8685");
+        return getServices(wb, type, (java.util.function.Predicate<T>) (input) -> predicate.apply(input));
+    }
+
     /**
      * Returns the one of the currently available services from the whiteboard of the tracked type. If {@code predicate} is
      * not {@code null} only a service that match the predicate is returned.
@@ -185,7 +197,7 @@ public class WhiteboardUtils {
         Tracker<T> tracker = wb.track(type);
         try {
             for (T service : tracker.getServices()) {
-                if (predicate == null || predicate.apply(service)) {
+                if (predicate == null || predicate.test(service)) {
                     return service;
                 }
             }
@@ -196,4 +208,14 @@ public class WhiteboardUtils {
 
     }
 
+    /**
+     * @deprecated use {@link #getService(Whiteboard, Class, Predicate)} instead
+     */
+    @Nullable
+    @Deprecated
+    public static <T> T getService(@NotNull Whiteboard wb, @NotNull Class<T> type,
+            @Nullable com.google.common.base.Predicate<T> predicate) {
+        GuavaDeprecation.handleCall("OAK-8685");
+        return getService(wb, type, (Predicate<T>) (input) -> predicate.apply(input));
+    }
 }

Modified: jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java (original)
+++ jackrabbit/oak/trunk/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/package-info.java Wed Oct  9 11:10:08 2019
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-@Version("1.0.1")
+@Version("1.1.0")
 package org.apache.jackrabbit.oak.spi.whiteboard;
 
 import org.osgi.annotation.versioning.Version;

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/MountsNodeCounterTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/MountsNodeCounterTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/MountsNodeCounterTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/MountsNodeCounterTest.java Wed Oct  9 11:10:08 2019
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.counter;
 
-import com.google.common.base.Predicate;
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -45,6 +44,8 @@ import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
+
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -161,7 +162,7 @@ public class MountsNodeCounterTest {
     private void runAsyncIndex() {
         Runnable async = WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
             @Override
-            public boolean apply(@Nullable Runnable input) {
+            public boolean test(@Nullable Runnable input) {
                 return input instanceof AsyncIndexUpdate;
             }
         });

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/NodeCounterIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/NodeCounterIndexTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/NodeCounterIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/counter/NodeCounterIndexTest.java Wed Oct  9 11:10:08 2019
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertTru
 
 import java.text.ParseException;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
 
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.ContentRepository;
@@ -48,8 +49,6 @@ import org.jetbrains.annotations.Nullabl
 import org.junit.Before;
 import org.junit.Test;
 
-import com.google.common.base.Predicate;
-
 /**
  * A test case for the node counter index.
  */
@@ -152,7 +151,7 @@ public class NodeCounterIndexTest {
     private void runAsyncIndex() {
         Runnable async = WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
             @Override
-            public boolean apply(@Nullable Runnable input) {
+            public boolean test(@Nullable Runnable input) {
                 return input instanceof AsyncIndexUpdate;
             }
         });

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/TraversalAvoidanceTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/TraversalAvoidanceTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/TraversalAvoidanceTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/TraversalAvoidanceTest.java Wed Oct  9 11:10:08 2019
@@ -17,6 +17,7 @@ import static org.junit.Assert.assertNot
 
 import java.util.List;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
 
 import org.apache.jackrabbit.oak.InitialContent;
 import org.apache.jackrabbit.oak.Oak;
@@ -42,7 +43,6 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 
@@ -101,7 +101,7 @@ public class TraversalAvoidanceTest exte
     private void runAsyncIndex() {
         Runnable async = WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
             @Override
-            public boolean apply(@Nullable Runnable input) {
+            public boolean test(@Nullable Runnable input) {
                 return input instanceof AsyncIndexUpdate;
             }
         });

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderServiceTest.java Wed Oct  9 11:10:08 2019
@@ -27,6 +27,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.reflect.FieldUtils;
@@ -157,7 +158,7 @@ public class LuceneIndexProviderServiceT
         assertNotNull(context.getService(JournalPropertyService.class));
         assertNotNull(context.getService(IndexImporterProvider.class));
 
-        assertNotNull(WhiteboardUtils.getServices(wb, Runnable.class, r -> r instanceof PropertyIndexCleaner));
+        assertNotNull(WhiteboardUtils.getServices(wb, Runnable.class, (Predicate<Runnable>)r -> r instanceof PropertyIndexCleaner));
 
         MockOsgi.deactivate(service, context.bundleContext());
 

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexClusterIT.java Wed Oct  9 11:10:08 2019
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
@@ -34,7 +35,6 @@ import javax.jcr.query.QueryManager;
 import javax.jcr.query.QueryResult;
 import javax.jcr.query.Row;
 
-import com.google.common.base.Predicate;
 import com.google.common.collect.Lists;
 import org.apache.jackrabbit.commons.JcrUtils;
 import org.apache.jackrabbit.oak.fixture.DocumentMemoryFixture;
@@ -192,7 +192,7 @@ public class HybridIndexClusterIT extend
     private static void runAsyncIndex(Whiteboard wb) {
         Runnable async = WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
             @Override
-            public boolean apply(@Nullable Runnable input) {
+            public boolean test(@Nullable Runnable input) {
                 return input instanceof AsyncIndexUpdate;
             }
         });

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java Wed Oct  9 11:10:08 2019
@@ -30,13 +30,13 @@ import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Predicate;
 
 import javax.management.AttributeNotFoundException;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
 import ch.qos.logback.classic.Level;
-import com.google.common.base.Predicate;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterators;
@@ -484,7 +484,7 @@ public class HybridIndexTest extends Abs
     private void runAsyncIndex() {
         AsyncIndexUpdate async = (AsyncIndexUpdate) WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
             @Override
-            public boolean apply(@Nullable Runnable input) {
+            public boolean test(@Nullable Runnable input) {
                 return input instanceof AsyncIndexUpdate;
             }
         });

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/SynchronousPropertyIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/SynchronousPropertyIndexTest.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/SynchronousPropertyIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/SynchronousPropertyIndexTest.java Wed Oct  9 11:10:08 2019
@@ -28,6 +28,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Predicate;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.JcrConstants;
@@ -480,7 +481,7 @@ public class SynchronousPropertyIndexTes
 
     private void runAsyncIndex() {
         AsyncIndexUpdate async = (AsyncIndexUpdate) WhiteboardUtils.getService(wb,
-                Runnable.class, input -> input instanceof AsyncIndexUpdate);
+                Runnable.class, (Predicate<Runnable>)input -> input instanceof AsyncIndexUpdate);
         assertNotNull(async);
         async.run();
         if (async.isFailing()) {

Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/RepositoryFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/RepositoryFixture.java?rev=1868176&r1=1868175&r2=1868176&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/RepositoryFixture.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/index/RepositoryFixture.java Wed Oct  9 11:10:08 2019
@@ -22,6 +22,7 @@ package org.apache.jackrabbit.oak.index;
 import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
+import java.util.function.Predicate;
 
 import javax.jcr.Repository;
 import javax.jcr.RepositoryException;
@@ -81,7 +82,7 @@ public class RepositoryFixture implement
 
     public AsyncIndexUpdate getAsyncIndexUpdate(String laneName) {
         return (AsyncIndexUpdate) getService(whiteboard, Runnable.class,
-                (runnable) -> runnable instanceof AsyncIndexUpdate && laneName.equals(((AsyncIndexUpdate)runnable).getName()));
+                (Predicate<Runnable>)((runnable) -> runnable instanceof AsyncIndexUpdate && laneName.equals(((AsyncIndexUpdate)runnable).getName())));
     }
 
     @Override