diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e92557365d..20f657570a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -529,7 +529,7 @@ Scala has proven the most viable way to do it, as long as you keep the following 1. If the underlying Scala code requires an `ExecutionContext`, make the Java API take an `Executor` and use `ExecutionContext.fromExecutor(executor)` for conversion. -1. Use `org.apache.pekko.util.FutureConverters` to translate `Future`s to `CompletionStage`s (or vice versa). +1. Use `scala.jdk.FutureConverters` to translate `Future`s to `CompletionStage`s (or vice versa). 1. Use `scala.jdk.javaapi.OptionConverters` to translate `Option`s to Java `Optional`s (or vice versa). diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala index ad122712bc..ac4f841b57 100644 --- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala +++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala @@ -37,7 +37,7 @@ import pekko.actor.typed.internal.ActorRefImpl import pekko.actor.typed.internal.InternalRecipientRef import pekko.actor.typed.receptionist.Receptionist import pekko.annotation.InternalApi -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ /** * INTERNAL API diff --git a/actor-tests/src/test/java/org/apache/pekko/pattern/CircuitBreakerTest.java b/actor-tests/src/test/java/org/apache/pekko/pattern/CircuitBreakerTest.java index 028d851575..b9c81d2ed6 100644 --- a/actor-tests/src/test/java/org/apache/pekko/pattern/CircuitBreakerTest.java +++ b/actor-tests/src/test/java/org/apache/pekko/pattern/CircuitBreakerTest.java @@ -23,12 +23,12 @@ import java.util.function.BiFunction; import org.apache.pekko.actor.*; import org.apache.pekko.testkit.PekkoJUnitActorSystemResource; import org.apache.pekko.testkit.PekkoSpec; -import org.apache.pekko.util.FutureConverters; import org.apache.pekko.util.JavaDurationConverters; import org.junit.ClassRule; import org.junit.Test; import org.scalatestplus.junit.JUnitSuite; import scala.concurrent.Await; +import scala.jdk.javaapi.FutureConverters; public class CircuitBreakerTest extends JUnitSuite { diff --git a/actor-tests/src/test/java/org/apache/pekko/util/JavaConverterScala3InlineTest.java b/actor-tests/src/test/java/org/apache/pekko/util/JavaConverterScala3InlineTest.java deleted file mode 100644 index cb55eb61a7..0000000000 --- a/actor-tests/src/test/java/org/apache/pekko/util/JavaConverterScala3InlineTest.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * 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.pekko.util; - -import java.time.Duration; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import scala.Option; -import scala.concurrent.Future; -import scala.jdk.javaapi.OptionConverters; - -/** - * These tests are here to ensure that methods from {@link org.apache.pekko.util.FutureConverters}, - * {@link org.apache.pekko.util.JavaDurationConverters} for use within Java can be compiled from - * with Java sources. This is because methods marked with the Scala 3 inline keyword cannot be - * called from within Java (see https://github.com/lampepfl/dotty/issues/19346) - */ -public class JavaConverterScala3InlineTest { - public void compileTest() { - OptionConverters.toScala(Optional.empty()); - OptionConverters.toScala(OptionalDouble.of(0)); - OptionConverters.toScala(OptionalInt.of(0)); - OptionConverters.toScala(OptionalLong.of(0)); - OptionConverters.toJava(Option.empty()); - - FutureConverters.asJava(Future.successful("")); - FutureConverters.asScala(CompletableFuture.completedFuture("")); - - JavaDurationConverters.asFiniteDuration(Duration.ofMillis(0)); - } -} diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/internal/adapter/ActorSystemAdapter.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/internal/adapter/ActorSystemAdapter.scala index 0dcfff735f..708c42e19d 100644 --- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/internal/adapter/ActorSystemAdapter.scala +++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/internal/adapter/ActorSystemAdapter.scala @@ -42,7 +42,7 @@ import pekko.actor.typed.internal.PropsImpl.DispatcherSameAsParent import pekko.actor.typed.internal.SystemMessage import pekko.actor.typed.scaladsl.Behaviors import pekko.annotation.InternalApi -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ /** * INTERNAL API. Lightweight wrapper for presenting a classic ActorSystem to a Behavior (via the context). diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/AskPattern.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/AskPattern.scala index 91ccd4ce76..95f114ffb2 100644 --- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/AskPattern.scala +++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/javadsl/AskPattern.scala @@ -22,7 +22,7 @@ import pekko.actor.typed.Scheduler import pekko.actor.typed.scaladsl.AskPattern._ import pekko.japi.function.{ Function => JFunction } import pekko.pattern.StatusReply -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ /** diff --git a/actor/src/main/mima-filters/2.0.x.backwards.excludes/future-converters.excludes b/actor/src/main/mima-filters/2.0.x.backwards.excludes/future-converters.excludes index d602e4f310..b581880259 100644 --- a/actor/src/main/mima-filters/2.0.x.backwards.excludes/future-converters.excludes +++ b/actor/src/main/mima-filters/2.0.x.backwards.excludes/future-converters.excludes @@ -20,6 +20,12 @@ ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.Future ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#CompletionStageOps.asScala") ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#FutureOps.asJava$extension") ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.util.FutureConverters#FutureOps.asJava") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters$") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters$CompletionStageOps") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters$CompletionStageOps$") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters$FutureOps") +ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.util.FutureConverters$FutureOps$") ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.dispatch.internal.SameThreadExecutionContext") ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.dispatch.internal.SameThreadExecutionContext$") ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.dispatch.ExecutionContexts.parasitic") diff --git a/actor/src/main/scala-2.13/org/apache/pekko/util/FutureConverters.scala b/actor/src/main/scala-2.13/org/apache/pekko/util/FutureConverters.scala deleted file mode 100644 index 9a8a19829f..0000000000 --- a/actor/src/main/scala-2.13/org/apache/pekko/util/FutureConverters.scala +++ /dev/null @@ -1,45 +0,0 @@ -/* - * 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.pekko.util - -import org.apache.pekko.annotation.InternalStableApi - -import java.util.concurrent.CompletionStage -import scala.concurrent.Future - -/** - * INTERNAL API - * - * Remove this once Scala 2.12 support is dropped since all methods are in Scala 2.13+ stdlib - */ -@InternalStableApi -private[pekko] object FutureConverters { - import scala.jdk.javaapi - - @inline final def asJava[T](f: Future[T]): CompletionStage[T] = javaapi.FutureConverters.asJava(f) - - implicit final class FutureOps[T](private val f: Future[T]) extends AnyVal { - @inline def asJava: CompletionStage[T] = javaapi.FutureConverters.asJava(f) - } - - @inline final def asScala[T](cs: CompletionStage[T]): Future[T] = javaapi.FutureConverters.asScala(cs) - - implicit final class CompletionStageOps[T](private val cs: CompletionStage[T]) extends AnyVal { - @inline def asScala: Future[T] = javaapi.FutureConverters.asScala(cs) - } -} diff --git a/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala b/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala deleted file mode 100644 index 45abd4a6fe..0000000000 --- a/actor/src/main/scala-3/org/apache/pekko/util/FutureConverters.scala +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * license agreements; and to You under the Apache License, version 2.0: - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * This file is part of the Apache Pekko project, derived from Akka. - */ - -package org.apache.pekko.util - -import org.apache.pekko.annotation.InternalStableApi - -import java.util.concurrent.CompletionStage -import scala.concurrent.Future - -/** - * INTERNAL API - * - * Remove this once Scala 2.12 support is dropped since all methods are in Scala 2.13+ stdlib - */ -@InternalStableApi -private[pekko] object FutureConverters { - import scala.jdk.javaapi - - // Ideally this should have the Scala 3 inline keyword but then Java sources are - // unable to call this method, see https://github.com/lampepfl/dotty/issues/19346 - def asJava[T](f: Future[T]): CompletionStage[T] = javaapi.FutureConverters.asJava(f) - - implicit final class FutureOps[T](private val f: Future[T]) extends AnyVal { - inline def asJava: CompletionStage[T] = javaapi.FutureConverters.asJava(f) - } - - // Ideally this should have the Scala 3 inline keyword but then Java sources are - // unable to call this method, see https://github.com/lampepfl/dotty/issues/19346 - def asScala[T](cs: CompletionStage[T]): Future[T] = javaapi.FutureConverters.asScala(cs) - - implicit final class CompletionStageOps[T](private val cs: CompletionStage[T]) extends AnyVal { - inline def asScala: Future[T] = javaapi.FutureConverters.asScala(cs) - } -} diff --git a/actor/src/main/scala/org/apache/pekko/actor/ActorSelection.scala b/actor/src/main/scala/org/apache/pekko/actor/ActorSelection.scala index 80d5142d0d..0e1b8ff12c 100644 --- a/actor/src/main/scala/org/apache/pekko/actor/ActorSelection.scala +++ b/actor/src/main/scala/org/apache/pekko/actor/ActorSelection.scala @@ -31,7 +31,6 @@ import scala.concurrent.ExecutionContext import pekko.pattern.ask import pekko.routing.MurmurHash import pekko.util.{ Helpers, JavaDurationConverters, Timeout } -import pekko.util.FutureConverters /** * An ActorSelection is a logical view of a section of an ActorSystem's tree of Actors, @@ -106,7 +105,7 @@ abstract class ActorSelection extends Serializable { * supplied `timeout`. */ def resolveOne(timeout: java.time.Duration): CompletionStage[ActorRef] = { - import FutureConverters._ + import scala.jdk.FutureConverters._ import JavaDurationConverters._ resolveOne(timeout.asScala).asJava } diff --git a/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala b/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala index 71f6fe8611..db075805c2 100644 --- a/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala +++ b/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala @@ -40,7 +40,7 @@ import pekko.event.Logging.DefaultLogger import pekko.japi.Util.immutableSeq import pekko.serialization.SerializationExtension import pekko.util._ -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ import pekko.util.Helpers.toRootLowerCase import pekko.util.ccompat.JavaConverters._ diff --git a/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala b/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala index 706db96b19..b012eacbea 100644 --- a/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala +++ b/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala @@ -36,7 +36,7 @@ import pekko.event.Logging import pekko.pattern.after import scala.jdk.OptionConverters._ import pekko.util.OptionVal -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ object CoordinatedShutdown extends ExtensionId[CoordinatedShutdown] with ExtensionIdProvider { diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/CompletionStages.scala b/actor/src/main/scala/org/apache/pekko/dispatch/CompletionStages.scala index 7479aba61c..073c2d1a16 100644 --- a/actor/src/main/scala/org/apache/pekko/dispatch/CompletionStages.scala +++ b/actor/src/main/scala/org/apache/pekko/dispatch/CompletionStages.scala @@ -34,7 +34,7 @@ object CompletionStages { * Convert a `CompletionStage` to a Scala `Future`. */ def asScala[T](stage: CompletionStage[T]): scala.concurrent.Future[T] = { - import org.apache.pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ stage.asScala } diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/Future.scala b/actor/src/main/scala/org/apache/pekko/dispatch/Future.scala index 0871e6c028..3cdab634e3 100644 --- a/actor/src/main/scala/org/apache/pekko/dispatch/Future.scala +++ b/actor/src/main/scala/org/apache/pekko/dispatch/Future.scala @@ -88,7 +88,7 @@ object Futures { * @since 1.2.0 */ def asJava[T](future: Future[T]): CompletionStage[T] = { - import org.apache.pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ future.asJava } diff --git a/actor/src/main/scala/org/apache/pekko/pattern/CircuitBreaker.scala b/actor/src/main/scala/org/apache/pekko/pattern/CircuitBreaker.scala index 72e10a1d79..e6bf585c02 100644 --- a/actor/src/main/scala/org/apache/pekko/pattern/CircuitBreaker.scala +++ b/actor/src/main/scala/org/apache/pekko/pattern/CircuitBreaker.scala @@ -31,7 +31,7 @@ import pekko.actor.{ ExtendedActorSystem, Scheduler } import scala.concurrent.ExecutionContext.parasitic import pekko.pattern.internal.{ CircuitBreakerNoopTelemetry, CircuitBreakerTelemetry } import pekko.annotation.InternalApi -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ /** diff --git a/actor/src/main/scala/org/apache/pekko/pattern/Patterns.scala b/actor/src/main/scala/org/apache/pekko/pattern/Patterns.scala index 3c884c9a1f..0ffae664e3 100644 --- a/actor/src/main/scala/org/apache/pekko/pattern/Patterns.scala +++ b/actor/src/main/scala/org/apache/pekko/pattern/Patterns.scala @@ -21,7 +21,7 @@ import scala.concurrent.ExecutionContext import org.apache.pekko import pekko.actor.{ ActorSelection, ClassicActorSystemProvider, Scheduler } -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.annotation.nowarn diff --git a/actor/src/main/scala/org/apache/pekko/serialization/AsyncSerializer.scala b/actor/src/main/scala/org/apache/pekko/serialization/AsyncSerializer.scala index d0df72cca7..b0051a612b 100644 --- a/actor/src/main/scala/org/apache/pekko/serialization/AsyncSerializer.scala +++ b/actor/src/main/scala/org/apache/pekko/serialization/AsyncSerializer.scala @@ -76,7 +76,7 @@ abstract class AsyncSerializerWithStringManifest(system: ExtendedActorSystem) */ abstract class AsyncSerializerWithStringManifestCS(system: ExtendedActorSystem) extends AsyncSerializerWithStringManifest(system) { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ def toBinaryAsyncCS(o: AnyRef): CompletionStage[Array[Byte]] diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/ClusterShardingImpl.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/ClusterShardingImpl.scala index 043562c169..f036db8702 100644 --- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/ClusterShardingImpl.scala +++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/ClusterShardingImpl.scala @@ -50,7 +50,7 @@ import pekko.pattern.AskTimeoutException import pekko.pattern.PromiseActorRef import pekko.pattern.StatusReply import pekko.util.{ unused, ByteString, Timeout } -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ /** diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/testkit/TestEntityRefImpl.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/testkit/TestEntityRefImpl.scala index 06d4b36fba..666b6fe191 100644 --- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/testkit/TestEntityRefImpl.scala +++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/testkit/TestEntityRefImpl.scala @@ -28,7 +28,7 @@ import pekko.cluster.sharding.typed.javadsl.EntityRef import pekko.cluster.sharding.typed.scaladsl import pekko.japi.function.{ Function => JFunction } import pekko.pattern.StatusReply -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import pekko.util.Timeout diff --git a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/internal/ExternalShardAllocationClientImpl.scala b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/internal/ExternalShardAllocationClientImpl.scala index 8b9dd5291c..1f41d6c4cf 100644 --- a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/internal/ExternalShardAllocationClientImpl.scala +++ b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/external/internal/ExternalShardAllocationClientImpl.scala @@ -44,7 +44,7 @@ import pekko.cluster.sharding.external.ShardLocations import pekko.dispatch.MessageDispatcher import pekko.event.Logging import pekko.pattern.ask -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import pekko.util.PrettyDuration._ import pekko.util.Timeout diff --git a/coordination/src/main/scala/org/apache/pekko/coordination/lease/internal/LeaseAdapter.scala b/coordination/src/main/scala/org/apache/pekko/coordination/lease/internal/LeaseAdapter.scala index e3276fb3e8..27e5937435 100644 --- a/coordination/src/main/scala/org/apache/pekko/coordination/lease/internal/LeaseAdapter.scala +++ b/coordination/src/main/scala/org/apache/pekko/coordination/lease/internal/LeaseAdapter.scala @@ -25,7 +25,7 @@ import pekko.annotation.InternalApi import pekko.coordination.lease.LeaseSettings import pekko.coordination.lease.javadsl.{ Lease => JavaLease } import pekko.coordination.lease.scaladsl.{ Lease => ScalaLease } -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ /** diff --git a/discovery/src/main/scala/org/apache/pekko/discovery/ServiceDiscovery.scala b/discovery/src/main/scala/org/apache/pekko/discovery/ServiceDiscovery.scala index 8a3abfd8a8..79c7039a5d 100644 --- a/discovery/src/main/scala/org/apache/pekko/discovery/ServiceDiscovery.scala +++ b/discovery/src/main/scala/org/apache/pekko/discovery/ServiceDiscovery.scala @@ -321,7 +321,7 @@ abstract class ServiceDiscovery { * The returned future should be failed once resolveTimeout has passed with a [[ServiceDiscovery.DiscoveryTimeoutException]]. */ def lookup(query: Lookup, resolveTimeout: java.time.Duration): CompletionStage[Resolved] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ lookup(query, FiniteDuration(resolveTimeout.toMillis, TimeUnit.MILLISECONDS)).asJava } diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/PersistenceInit.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/PersistenceInit.scala index a10b925760..c759bdcfcf 100644 --- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/PersistenceInit.scala +++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/PersistenceInit.scala @@ -20,7 +20,7 @@ import org.apache.pekko import pekko.Done import pekko.actor.ClassicActorSystemProvider import pekko.persistence.testkit.scaladsl -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ /** diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/state/javadsl/PersistenceTestKitDurableStateStore.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/state/javadsl/PersistenceTestKitDurableStateStore.scala index c6c350bde1..e87f9a127c 100644 --- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/state/javadsl/PersistenceTestKitDurableStateStore.scala +++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/state/javadsl/PersistenceTestKitDurableStateStore.scala @@ -26,7 +26,7 @@ import pekko.persistence.state.javadsl.DurableStateUpdateStore import pekko.persistence.state.javadsl.GetObjectResult import pekko.persistence.testkit.state.scaladsl.{ PersistenceTestKitDurableStateStore => SStore } import pekko.stream.javadsl.Source -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ object PersistenceTestKitDurableStateStore { diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncRecovery.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncRecovery.scala index 8fb9fcbefd..26878fc56b 100644 --- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncRecovery.scala +++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncRecovery.scala @@ -23,7 +23,7 @@ import scala.concurrent.ExecutionContext import pekko.persistence.PersistentRepr import pekko.persistence.journal.{ AsyncRecovery => SAsyncReplay } import pekko.util.ConstantFun.scalaAnyToUnit -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ /** * Java API: asynchronous message replay and sequence number recovery interface. diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncWriteJournal.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncWriteJournal.scala index 4da28a61c5..ab324dcca8 100644 --- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncWriteJournal.scala +++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/japi/AsyncWriteJournal.scala @@ -23,7 +23,7 @@ import scala.concurrent.ExecutionContext import pekko.persistence._ import pekko.persistence.journal.{ AsyncWriteJournal => SAsyncWriteJournal } import pekko.util.ConstantFun.scalaAnyToUnit -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.ccompat.JavaConverters._ /** diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/japi/SnapshotStore.scala b/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/japi/SnapshotStore.scala index c243006ebf..46109416a1 100644 --- a/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/japi/SnapshotStore.scala +++ b/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/japi/SnapshotStore.scala @@ -20,7 +20,7 @@ import scala.concurrent.ExecutionContext import pekko.persistence._ import pekko.persistence.snapshot.{ SnapshotStore => SSnapshotStore } import pekko.util.ConstantFun.scalaAnyToUnit -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ /** * Java API: abstract snapshot store. diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/impl/fusing/AsyncCallbackSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/impl/fusing/AsyncCallbackSpec.scala index 61420f2a8c..5e194e010d 100644 --- a/stream-tests/src/test/scala/org/apache/pekko/stream/impl/fusing/AsyncCallbackSpec.scala +++ b/stream-tests/src/test/scala/org/apache/pekko/stream/impl/fusing/AsyncCallbackSpec.scala @@ -133,7 +133,7 @@ class AsyncCallbackSpec extends PekkoSpec(""" // test it can be used from Java too val completionStage = callback.invokeWithFeedbackCompletionStage("whatever") probe.expectMsg("whatever") - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ completionStage.asScala.futureValue should ===(Done) in.sendComplete() diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Flow.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Flow.scala index af413eb0b5..c56946c56b 100755 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Flow.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Flow.scala @@ -35,7 +35,7 @@ import pekko.japi.function.Creator import pekko.stream.{ javadsl, _ } import pekko.stream.impl.fusing.{ StatefulMapConcat, ZipWithIndexJava } import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.Timeout @@ -273,7 +273,7 @@ object Flow { * [[NeverMaterializedException]] if upstream fails or downstream cancels before the completion stage has completed. */ def completionStageFlow[I, O, M](flow: CompletionStage[Flow[I, O, M]]): Flow[I, O, CompletionStage[M]] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ val sflow = scaladsl.Flow.futureFlow(flow.asScala.map(_.asScala)(ExecutionContext.parasitic)).mapMaterializedValue(_.asJava) new javadsl.Flow(sflow) @@ -295,7 +295,7 @@ object Flow { * '''Cancels when''' downstream cancels */ def lazyFlow[I, O, M](create: Creator[Flow[I, O, M]]): Flow[I, O, CompletionStage[M]] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ val sflow = scaladsl.Flow .lazyFlow { () => create.create().asScala diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/FlowWithContext.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/FlowWithContext.scala index 2e9f996b43..8b44b0fa9d 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/FlowWithContext.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/FlowWithContext.scala @@ -24,7 +24,7 @@ import pekko.event.{ LogMarker, LoggingAdapter, MarkerLoggingAdapter } import pekko.japi.{ function, Pair } import pekko.stream._ import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.ccompat.JavaConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Queue.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Queue.scala index da36a1701c..6f50d06524 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Queue.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Queue.scala @@ -22,7 +22,7 @@ import org.apache.pekko import pekko.Done import scala.concurrent.ExecutionContext import pekko.stream.QueueOfferResult -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ /** diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Sink.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Sink.scala index fb6e5dbe3b..c6252feaf5 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Sink.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Sink.scala @@ -31,7 +31,7 @@ import pekko.stream._ import pekko.stream.impl.LinearTraversalBuilder import pekko.stream.scaladsl.SinkToCompletionStage import pekko.util.ConstantFun.scalaAnyToUnit -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ import org.reactivestreams.{ Publisher, Subscriber } @@ -94,7 +94,7 @@ object Sink { * @since 1.1.0 */ def forall[In](p: function.Predicate[In]): javadsl.Sink[In, CompletionStage[java.lang.Boolean]] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ new Sink(scaladsl.Sink.forall[In](p.test) .mapMaterializedValue(_.map(Boolean.box)(ExecutionContext.parasitic).asJava)) } @@ -119,7 +119,7 @@ object Sink { * @since 1.2.0 */ def none[In](p: function.Predicate[In]): javadsl.Sink[In, CompletionStage[java.lang.Boolean]] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ new Sink(scaladsl.Sink.none[In](p.test) .mapMaterializedValue(_.map(Boolean.box)(ExecutionContext.parasitic).asJava)) } @@ -144,7 +144,7 @@ object Sink { * @since 1.1.0 */ def exists[In](p: function.Predicate[In]): javadsl.Sink[In, CompletionStage[java.lang.Boolean]] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ new Sink(scaladsl.Sink.exists[In](p.test) .mapMaterializedValue(_.map(Boolean.box)(ExecutionContext.parasitic).asJava)) } diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Source.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Source.scala index 9d778dd5cb..bffc5b3fd7 100755 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Source.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Source.scala @@ -34,7 +34,7 @@ import pekko.stream._ import pekko.stream.impl.{ LinearTraversalBuilder, UnfoldAsyncJava, UnfoldJava } import pekko.stream.impl.fusing.{ ArraySource, StatefulMapConcat, ZipWithIndexJava } import pekko.util.{ unused, _ } -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.ccompat.JavaConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SourceWithContext.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SourceWithContext.scala index 0b860d5050..3f8ed48ffa 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SourceWithContext.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SourceWithContext.scala @@ -26,7 +26,7 @@ import pekko.japi.Pair import pekko.japi.function import pekko.stream._ import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.ccompat.JavaConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubFlow.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubFlow.scala index 8b7b94e494..89b2823927 100755 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubFlow.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubFlow.scala @@ -28,7 +28,7 @@ import pekko.japi.{ function, Pair } import pekko.stream._ import pekko.stream.impl.fusing.{ StatefulMapConcat, ZipWithIndexJava } import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.ccompat.JavaConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubSource.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubSource.scala index 567cb0d9ae..875b683e32 100755 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubSource.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/SubSource.scala @@ -28,7 +28,7 @@ import pekko.japi.{ function, Pair } import pekko.stream._ import pekko.stream.impl.fusing.{ StatefulMapConcat, ZipWithIndexJava } import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ import pekko.util.ccompat.JavaConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Tcp.scala b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Tcp.scala index 3848adc3d3..65d3184363 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/javadsl/Tcp.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/javadsl/Tcp.scala @@ -39,7 +39,7 @@ import pekko.stream.SystemMaterializer import pekko.stream.TLSClosing import pekko.stream.scaladsl import pekko.util.ByteString -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import pekko.util.JavaDurationConverters._ import scala.jdk.OptionConverters._ diff --git a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Queue.scala b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Queue.scala index e1746ce438..877b68f6cd 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Queue.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Queue.scala @@ -23,7 +23,7 @@ import pekko.Done import pekko.annotation.InternalApi import scala.concurrent.ExecutionContext import pekko.stream.QueueOfferResult -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import scala.jdk.OptionConverters._ /** diff --git a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Source.scala b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Source.scala index 59c9b990d2..334c821885 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Source.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/Source.scala @@ -33,7 +33,7 @@ import pekko.stream.impl.fusing.{ GraphStages, IterableSource, LazyFutureSource, import pekko.stream.impl.fusing.GraphStages._ import pekko.stream.stage.GraphStageWithMaterializedValue import pekko.util.ConstantFun -import pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ import org.reactivestreams.{ Publisher, Subscriber } diff --git a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala index e27bea9502..4f60c996b2 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/scaladsl/package.scala @@ -17,7 +17,7 @@ import java.util.concurrent.CompletionStage import scala.concurrent.Future -import org.apache.pekko.util.FutureConverters._ +import scala.jdk.FutureConverters._ /** * Scala API: The flow DSL allows the formulation of stream transformations based on some diff --git a/stream/src/main/scala/org/apache/pekko/stream/stage/GraphStage.scala b/stream/src/main/scala/org/apache/pekko/stream/stage/GraphStage.scala index 75a34504e1..0708bd02ff 100644 --- a/stream/src/main/scala/org/apache/pekko/stream/stage/GraphStage.scala +++ b/stream/src/main/scala/org/apache/pekko/stream/stage/GraphStage.scala @@ -1686,7 +1686,7 @@ trait AsyncCallback[T] { * @since 1.2.0 */ def invokeWithFeedbackCompletionStage(msg: T): CompletionStage[Done] = { - import pekko.util.FutureConverters._ + import scala.jdk.FutureConverters._ invokeWithFeedback(msg).asJava } }