You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/02/16 07:27:30 UTC

[incubator-tuweni] branch master updated: Make the proxy key value store provide key and value for puts

This is an automated email from the ASF dual-hosted git repository.

toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git


The following commit(s) were added to refs/heads/master by this push:
     new da8f85b  Make the proxy key value store provide key and value for puts
da8f85b is described below

commit da8f85b2d075593ae2e53d4c4be38d8a63647e97
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Sat Feb 15 23:27:12 2020 -0800

    Make the proxy key value store provide key and value for puts
---
 kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt | 7 ++++---
 kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java  | 4 ++--
 kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt  | 2 +-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt b/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
index 4ab3933..0e5aee2 100644
--- a/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
+++ b/kv/src/main/kotlin/org/apache/tuweni/kv/ProxyKeyValueStore.kt
@@ -16,6 +16,7 @@
  */
 package org.apache.tuweni.kv
 
+import java.util.function.BiFunction
 import kotlin.coroutines.CoroutineContext
 import java.util.function.Function
 
@@ -30,7 +31,7 @@ class ProxyKeyValueStore<K, V, E, R>(
   private val unproxyKey: (E) -> K,
   private val proxyKey: (K) -> E,
   private val unproxyValue: (R) -> V,
-  private val proxyValue: (V) -> R,
+  private val proxyValue: (K, V) -> R,
   override val coroutineContext: CoroutineContext = store.coroutineContext
 ) : KeyValueStore<K, V> {
 
@@ -51,7 +52,7 @@ class ProxyKeyValueStore<K, V, E, R>(
       unproxyKey: Function<E, K>,
       proxyKey: Function<K, E>,
       unproxyValue: Function<R, V>,
-      proxyValue: Function<V, R>
+      proxyValue: BiFunction<K, V, R>
     ) =
       ProxyKeyValueStore(store, unproxyKey::apply, proxyKey::apply, unproxyValue::apply, proxyValue::apply)
   }
@@ -65,7 +66,7 @@ class ProxyKeyValueStore<K, V, E, R>(
     }
   }
 
-    override suspend fun put(key: K, value: V) = store.put(proxyKey(key), proxyValue(value))
+    override suspend fun put(key: K, value: V) = store.put(proxyKey(key), proxyValue(key, value))
 
     override suspend fun keys(): Iterable<K> = store.keys().map(unproxyKey)
 
diff --git a/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java b/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
index 3fc8285..584b6a5 100644
--- a/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
+++ b/kv/src/test/java/org/apache/tuweni/kv/KeyValueStoreTest.java
@@ -66,8 +66,8 @@ class KeyValueStoreTest {
   void testPutAndGetProxied(@TempDirectory Path tmpDir) throws Exception {
     KeyValueStore<Bytes, Bytes> store = MapDBKeyValueStore
         .open(tmpDir.resolve("mapdbproxy"), bytesIdentityFn, bytesIdentityFn, bytesIdentityFn, bytesIdentityFn);
-    try (ProxyKeyValueStore<String, String, Bytes, Bytes> proxy =
-        ProxyKeyValueStore.open(store, Base64::encode, Base64::decode, Base64::encode, Base64::decode)) {
+    try (ProxyKeyValueStore<String, String, Bytes, Bytes> proxy = ProxyKeyValueStore
+        .open(store, Base64::encode, Base64::decode, Base64::encode, (key, value) -> Base64.decode(value))) {
       AsyncCompletion completion = proxy.putAsync(Base64.encode(Bytes.of(123)), Base64.encode(Bytes.of(10, 12, 13)));
       completion.join();
       String value = proxy.getAsync(Base64.encode(Bytes.of(123))).get();
diff --git a/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt b/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
index b388a70..ec2ab53 100644
--- a/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
+++ b/kv/src/test/kotlin/org/apache/tuweni/kv/KeyValueStoreSpec.kt
@@ -439,7 +439,7 @@ object ProxyKeyValueStoreSpec : Spek({
     Base64::decode,
     Base64::encode,
     Base64::decode,
-    Base64::encode
+    { _: Bytes, value: Bytes -> Base64.encode(value) }
   )
   afterGroup {
     proxy.close()


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org