From 7696a570d1c2cc51680b94194efceb4f89ea5bce Mon Sep 17 00:00:00 2001 From: Shams Asari Date: Wed, 14 Nov 2018 18:38:39 +0000 Subject: [PATCH] Merge fixes --- .idea/compiler.xml | 2 ++ build.gradle | 2 +- .../core/internal/JarSignatureCollector.kt | 6 ++--- .../corda/flowworker/FlowWorkerServiceHub.kt | 22 ++++++++++++++++--- .../corda/rpcWorker/RpcWorkerServiceHub.kt | 18 ++++++++++++++- node/src/main/java/CordaCaplet.java | 2 +- .../config/NodeConfigurationImplTest.kt | 2 +- .../net/corda/testing/driver/DriverTests.kt | 1 - 8 files changed, 44 insertions(+), 11 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 53159d93be..12df0021f7 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -165,6 +165,8 @@ + + diff --git a/build.gradle b/build.gradle index 03e266222c..c4ea228d4f 100644 --- a/build.gradle +++ b/build.gradle @@ -411,7 +411,7 @@ bintrayConfig { 'corda-notary-raft', 'corda-notary-bft-smart', 'corda-notary-jpa', - 'corda-notary-mysql' + 'corda-notary-mysql', 'corda-common-configuration-parsing', 'corda-common-validation' ] diff --git a/core/src/main/kotlin/net/corda/core/internal/JarSignatureCollector.kt b/core/src/main/kotlin/net/corda/core/internal/JarSignatureCollector.kt index 5bf200051b..505128d93a 100644 --- a/core/src/main/kotlin/net/corda/core/internal/JarSignatureCollector.kt +++ b/core/src/main/kotlin/net/corda/core/internal/JarSignatureCollector.kt @@ -76,9 +76,9 @@ object JarSignatureCollector { Party(it.signerCertPath.certificates[0] as X509Certificate) }.sortedBy { it.name.toString() } // Sorted for determinism. - private fun Set.toPartiesOrderedByName(): List = map { - Party(it.signerCertPath.certificates[0] as X509Certificate) - }.sortedBy { it.name.toString() } // Sorted for determinism. + private fun Set.toOrderedPublicKeys(): List = map { + (it.signerCertPath.certificates[0] as X509Certificate).publicKey + }.sortedBy { it.hash} // Sorted for determinism. private fun Set.toCertificates(): List = map { it.signerCertPath.certificates[0] as X509Certificate diff --git a/experimental/flow-worker/src/main/kotlin/net/corda/flowworker/FlowWorkerServiceHub.kt b/experimental/flow-worker/src/main/kotlin/net/corda/flowworker/FlowWorkerServiceHub.kt index e51433356e..e7462e69cf 100644 --- a/experimental/flow-worker/src/main/kotlin/net/corda/flowworker/FlowWorkerServiceHub.kt +++ b/experimental/flow-worker/src/main/kotlin/net/corda/flowworker/FlowWorkerServiceHub.kt @@ -22,7 +22,9 @@ import net.corda.core.node.NodeInfo import net.corda.core.node.services.CordaService import net.corda.core.serialization.SerializeAsToken import net.corda.core.serialization.SingletonSerializeAsToken -import net.corda.core.serialization.internal.* +import net.corda.core.serialization.internal.SerializationEnvironment +import net.corda.core.serialization.internal.effectiveSerializationEnv +import net.corda.core.serialization.internal.nodeSerializationEnv import net.corda.core.utilities.contextLogger import net.corda.core.utilities.debug import net.corda.node.CordaClock @@ -62,6 +64,7 @@ import net.corda.node.utilities.EnterpriseNamedCacheFactory import net.corda.node.utilities.profiling.getTracingConfig import net.corda.nodeapi.internal.NodeInfoAndSigned import net.corda.nodeapi.internal.persistence.CordaPersistence +import net.corda.nodeapi.internal.persistence.contextTransaction import net.corda.nodeapi.internal.persistence.isH2Database import net.corda.serialization.internal.* import org.apache.activemq.artemis.utils.ReusableLatch @@ -78,10 +81,15 @@ import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ExecutorService import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicInteger +import java.util.function.Consumer +import javax.persistence.EntityManager import kotlin.reflect.KClass -class FlowWorkerServiceHub(override val configuration: NodeConfiguration, override val myInfo: NodeInfo, - private val ourKeyPair: KeyPair, private val trustRoot: X509Certificate, private val nodeCa: X509Certificate, +class FlowWorkerServiceHub(override val configuration: NodeConfiguration, + override val myInfo: NodeInfo, + private val ourKeyPair: KeyPair, + private val trustRoot: X509Certificate, + private val nodeCa: X509Certificate, private val signedNetworkParameters: NetworkParametersReader.NetworkParametersAndSigned) : ServiceHubInternal, SingletonSerializeAsToken() { override val networkParameters: NetworkParameters = signedNetworkParameters.networkParameters @@ -236,6 +244,14 @@ class FlowWorkerServiceHub(override val configuration: NodeConfiguration, overri override fun jdbcSession(): Connection = database.createSession() + override fun withEntityManager(block: EntityManager.() -> T): T { + throw NotImplementedError() + } + + override fun withEntityManager(block: Consumer) { + throw NotImplementedError() + } + override fun registerUnloadHandler(runOnStop: () -> Unit) { this.runOnStop += runOnStop } diff --git a/experimental/rpc-worker/src/main/kotlin/net/corda/rpcWorker/RpcWorkerServiceHub.kt b/experimental/rpc-worker/src/main/kotlin/net/corda/rpcWorker/RpcWorkerServiceHub.kt index 543bdeb0e3..7d392b70d3 100644 --- a/experimental/rpc-worker/src/main/kotlin/net/corda/rpcWorker/RpcWorkerServiceHub.kt +++ b/experimental/rpc-worker/src/main/kotlin/net/corda/rpcWorker/RpcWorkerServiceHub.kt @@ -49,6 +49,7 @@ import net.corda.node.utilities.EnterpriseNamedCacheFactory import net.corda.node.utilities.profiling.getTracingConfig import net.corda.nodeapi.internal.NodeInfoAndSigned import net.corda.nodeapi.internal.persistence.CordaPersistence +import net.corda.nodeapi.internal.persistence.contextTransaction import net.corda.nodeapi.internal.persistence.isH2Database import net.corda.serialization.internal.* import org.slf4j.Logger @@ -59,8 +60,15 @@ import java.sql.Connection import java.time.Clock import java.time.Duration import java.util.* +import java.util.function.Consumer +import javax.persistence.EntityManager -class RpcWorkerServiceHub(override val configuration: NodeConfiguration, override val myInfo: NodeInfo, private val signedNetworkParameters: NetworkParametersReader.NetworkParametersAndSigned, private val ourKeyPair: KeyPair, private val trustRoot: X509Certificate, private val nodeCa: X509Certificate) : ServiceHubInternal, SingletonSerializeAsToken() { +class RpcWorkerServiceHub(override val configuration: NodeConfiguration, + override val myInfo: NodeInfo, + private val signedNetworkParameters: NetworkParametersReader.NetworkParametersAndSigned, + private val ourKeyPair: KeyPair, + private val trustRoot: X509Certificate, + private val nodeCa: X509Certificate) : ServiceHubInternal, SingletonSerializeAsToken() { override val clock: CordaClock = SimpleClock(Clock.systemUTC()) private val versionInfo = getVersionInfo() @@ -169,6 +177,14 @@ class RpcWorkerServiceHub(override val configuration: NodeConfiguration, overrid throw NotImplementedError() } + override fun withEntityManager(block: EntityManager.() -> T): T { + throw NotImplementedError() + } + + override fun withEntityManager(block: Consumer) { + throw NotImplementedError() + } + override fun registerUnloadHandler(runOnStop: () -> Unit) { this.runOnStop += runOnStop } diff --git a/node/src/main/java/CordaCaplet.java b/node/src/main/java/CordaCaplet.java index 0fbfbc50da..bcddb017be 100644 --- a/node/src/main/java/CordaCaplet.java +++ b/node/src/main/java/CordaCaplet.java @@ -124,7 +124,7 @@ public class CordaCaplet extends Capsule { // Create cordapps directory if it doesn't exist. if (!checkIfCordappDirExists(cordappsDir)) { // If it fails, just return the existing class path. The main Corda jar will detect the error and fail gracefully. - return cp; + return (T) cp; } // Add additional directories of JARs to the classpath (at the end), e.g., for JDBC drivers. augmentClasspath(cp, new File(baseDir, "drivers")); diff --git a/node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt b/node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt index fe4d4a27c2..e87b2e2592 100644 --- a/node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt +++ b/node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt @@ -178,7 +178,7 @@ class NodeConfigurationImplTest { @Test fun `mutual exclusion machineName set to default if not explicitly set`() { - val config = getConfig("test-config-mutualExclusion-noMachineName.conf").parseAsNodeConfiguration(options = Configuration.Validation.Options(strict = false)).orThrow() + val config = getConfig("test-config-mutualExclusion-noMachineName.conf").parseAsNodeConfiguration(options = Configuration.Validation.Options(strict = false)).value() assertEquals(InetAddress.getLocalHost().hostName, config.enterpriseConfiguration.mutualExclusionConfiguration.machineName) } diff --git a/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt b/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt index 7bf61e429e..ff3019f2f0 100644 --- a/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt +++ b/testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt @@ -27,7 +27,6 @@ import net.corda.testing.node.internal.addressMustNotBeBound import net.corda.testing.node.internal.internalDriver import org.assertj.core.api.Assertions.* import org.json.simple.JSONObject -import org.junit.Assume.assumeTrue import org.junit.ClassRule import org.junit.Test import java.util.*