Introduce current context concept for serialization in preparation for WireTransaction changes (#1448)

This commit is contained in:
Rick Parker
2017-09-08 08:16:38 +01:00
committed by GitHub
parent 6bf2871819
commit 79f1e1ae7f
7 changed files with 138 additions and 34 deletions

View File

@ -1,6 +1,7 @@
package net.corda.testing
import net.corda.client.rpc.serialization.KryoClientSerializationScheme
import net.corda.core.crypto.SecureHash
import net.corda.core.serialization.*
import net.corda.core.utilities.ByteSequence
import net.corda.node.serialization.KryoServerSerializationScheme
@ -89,7 +90,7 @@ fun resetTestSerialization() {
(SerializationDefaults.CHECKPOINT_CONTEXT as TestSerializationContext).delegate = null
}
class TestSerializationFactory : SerializationFactory {
class TestSerializationFactory : SerializationFactory() {
var delegate: SerializationFactory? = null
set(value) {
field = value
@ -150,4 +151,8 @@ class TestSerializationContext : SerializationContext {
override fun withPreferredSerializationVersion(versionHeader: ByteSequence): SerializationContext {
return TestSerializationContext().apply { delegate = this@TestSerializationContext.delegate!!.withPreferredSerializationVersion(versionHeader) }
}
override fun withAttachmentsClassLoader(attachmentHashes: List<SecureHash>): SerializationContext {
return TestSerializationContext().apply { delegate = this@TestSerializationContext.delegate!!.withAttachmentsClassLoader(attachmentHashes) }
}
}