diff --git a/akka-distributed-data/src/main/scala/akka/cluster/ddata/ORMap.scala b/akka-distributed-data/src/main/scala/akka/cluster/ddata/ORMap.scala index 0361e5ee8e..e9213d744b 100644 --- a/akka-distributed-data/src/main/scala/akka/cluster/ddata/ORMap.scala +++ b/akka-distributed-data/src/main/scala/akka/cluster/ddata/ORMap.scala @@ -250,9 +250,20 @@ final class ORMap[A, B <: ReplicatedData] private[akka] ( * If there is no current value for the `key` the `initial` value will be * passed to the `modify` function. */ + @Deprecated + @deprecated("use update for the Java API as updated is ambiguous with the Scala API", "2.5.19") def updated(node: Cluster, key: A, initial: B, modify: java.util.function.Function[B, B]): ORMap[A, B] = updated(node, key, initial)(value ⇒ modify.apply(value)) + /** + * Java API: Replace a value by applying the `modify` function on the existing value. + * + * If there is no current value for the `key` the `initial` value will be + * passed to the `modify` function. + */ + def update(node: Cluster, key: A, initial: B, modify: java.util.function.Function[B, B]): ORMap[A, B] = + updated(node, key, initial)(value ⇒ modify.apply(value)) + /** * INTERNAL API */ diff --git a/akka-distributed-data/src/multi-jvm/scala/akka/cluster/ddata/DurablePruningSpec.scala b/akka-distributed-data/src/multi-jvm/scala/akka/cluster/ddata/DurablePruningSpec.scala index d98f21dfe8..30f9da6a90 100644 --- a/akka-distributed-data/src/multi-jvm/scala/akka/cluster/ddata/DurablePruningSpec.scala +++ b/akka-distributed-data/src/multi-jvm/scala/akka/cluster/ddata/DurablePruningSpec.scala @@ -7,8 +7,6 @@ package akka.cluster.ddata import scala.concurrent.duration._ import akka.cluster.Cluster -import akka.cluster.ClusterEvent.InitialStateAsEvents -import akka.cluster.ClusterEvent.MemberUp import akka.remote.testconductor.RoleName import akka.remote.testkit.MultiNodeConfig import akka.remote.testkit.MultiNodeSpec @@ -157,7 +155,7 @@ class DurablePruningSpec extends MultiNodeSpec(DurablePruningSpec) with STMultiN val cluster3 = Cluster(sys3) val replicator3 = startReplicator(sys3) val probe3 = TestProbe()(sys3) - Cluster(sys3).join(node(first).address) + cluster3.join(node(first).address) within(10.seconds) { var values = Set.empty[Int] diff --git a/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMapTest.java b/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMapTest.java new file mode 100644 index 0000000000..0b392127a5 --- /dev/null +++ b/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMapTest.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2018 Lightbend Inc. + */ + +package akka.cluster.ddata; + +import akka.cluster.Cluster; + +public class ORMapTest { + + public void compileOnlyORMapTest() { + // primarily to check API accessibility with overloads/types + Cluster node1 = null; + + ORMap> orMap = ORMap.create(); + // updated needs a cast + ORMap> updated = orMap.update(node1, "key", PNCounterMap.create(), curr -> curr.decrement(node1, "key", 10)); + updated.getEntries(); + + } +} diff --git a/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMultiMapTest.java b/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMultiMapTest.java new file mode 100644 index 0000000000..caa4e88688 --- /dev/null +++ b/akka-distributed-data/src/test/java/akka/cluster/ddata/ORMultiMapTest.java @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2018 Lightbend Inc. + */ + +package akka.cluster.ddata; + +import akka.cluster.Cluster; + +public class ORMultiMapTest { + + public void compileOnlyORMultiMapTest() { + // primarily to check API accessibility with overloads/types + Cluster node = null; + ORMultiMap orMultiMap = ORMultiMap.create(); + orMultiMap.addBinding(node, "a", "1"); + orMultiMap.removeBinding(node, "a", "1"); + + } +}