diff --git a/network-management/build.gradle b/network-management/build.gradle index 66bc372cef..09ccb8c51e 100644 --- a/network-management/build.gradle +++ b/network-management/build.gradle @@ -61,7 +61,6 @@ task integrationTest(type: Test) { dependencies { compile fileTree(dir: 'libs', include: '*.jar') - compile project(':node') compile project(':node-api') compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" diff --git a/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/AMQPNetworkServicesSerializationScheme.kt b/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/AMQPNetworkServicesSerializationScheme.kt new file mode 100644 index 0000000000..abd779d290 --- /dev/null +++ b/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/AMQPNetworkServicesSerializationScheme.kt @@ -0,0 +1,30 @@ +package com.r3.corda.networkmanage.common.utils + +import net.corda.core.cordapp.Cordapp +import net.corda.core.serialization.ClassWhitelist +import net.corda.core.serialization.SerializationContext +import net.corda.core.serialization.SerializationCustomSerializer +import net.corda.nodeapi.internal.serialization.CordaSerializationMagic +import net.corda.nodeapi.internal.serialization.amqp.AbstractAMQPSerializationScheme +import net.corda.nodeapi.internal.serialization.amqp.SerializerFactory +import net.corda.nodeapi.internal.serialization.amqp.amqpMagic +import java.util.concurrent.ConcurrentHashMap + +class AMQPNetworkServicesSerializationScheme ( + cordappCustomSerializers: Set>, + serializerFactoriesForContexts: MutableMap, SerializerFactory> + ) : AbstractAMQPSerializationScheme(cordappCustomSerializers, serializerFactoriesForContexts) { + + constructor() : this(emptySet(), ConcurrentHashMap()) + + override fun rpcClientSerializerFactory(context: SerializationContext): SerializerFactory { + throw UnsupportedOperationException() + } + + override fun rpcServerSerializerFactory(context: SerializationContext): SerializerFactory { + throw UnsupportedOperationException() + } + + override fun canDeserializeVersion(magic: CordaSerializationMagic, target: SerializationContext.UseCase) = + (magic == amqpMagic && target == SerializationContext.UseCase.P2P) +} diff --git a/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/Utils.kt b/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/Utils.kt index 662ccfc52c..16079a27b5 100644 --- a/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/Utils.kt +++ b/network-management/src/main/kotlin/com/r3/corda/networkmanage/common/utils/Utils.kt @@ -17,7 +17,6 @@ import net.corda.core.CordaOID import net.corda.core.internal.CertRole import net.corda.core.serialization.internal.SerializationEnvironmentImpl import net.corda.core.serialization.internal.nodeSerializationEnv -import net.corda.node.serialization.amqp.AMQPServerSerializationScheme import net.corda.nodeapi.internal.config.UnknownConfigKeysPolicy import net.corda.nodeapi.internal.config.parseAs import net.corda.nodeapi.internal.crypto.X509CertificateFactory @@ -60,7 +59,7 @@ fun initialiseSerialization() { val context = AMQP_P2P_CONTEXT nodeSerializationEnv = SerializationEnvironmentImpl( SerializationFactoryImpl().apply { - registerScheme(AMQPServerSerializationScheme()) + registerScheme(AMQPNetworkServicesSerializationScheme()) }, context) }