diff --git a/docs/source/_static/codesets.js b/docs/source/_static/codesets.js
index af6444d502..c8dba38ee0 100644
--- a/docs/source/_static/codesets.js
+++ b/docs/source/_static/codesets.js
@@ -1,8 +1,8 @@
$(document).ready(function() {
$(".codeset").each(function(index, el) {
- var c = $("
KotlinJava
");
- var kotlinButton = c.children()[0];
- var javaButton = c.children()[1];
+ var c = $("JavaKotlin
");
+ var javaButton = c.children()[0];
+ var kotlinButton = c.children()[1];
kotlinButton.onclick = function() {
$(el).children(".highlight-java")[0].style.display = "none";
$(el).children(".highlight-kotlin")[0].style.display = "block";
@@ -19,6 +19,8 @@ $(document).ready(function() {
if ($(el).children(".highlight-java").length == 0) {
// No Java for this example.
javaButton.style.display = "none";
+ // In this case, display Kotlin by default
+ $(el).children(".highlight-kotlin")[0].style.display = "block";
}
c.insertBefore(el);
});
diff --git a/docs/source/_static/css/custom.css b/docs/source/_static/css/custom.css
index 7de563dd77..ab36db41df 100644
--- a/docs/source/_static/css/custom.css
+++ b/docs/source/_static/css/custom.css
@@ -129,7 +129,7 @@ a:visited {
background: #263673;
}
-.codeset > .highlight-java {
+.codeset > .highlight-kotlin {
display: none;
}
diff --git a/docs/source/node-administration.rst b/docs/source/node-administration.rst
index 07b8416703..eb09f4dc83 100644
--- a/docs/source/node-administration.rst
+++ b/docs/source/node-administration.rst
@@ -75,7 +75,7 @@ formats for accessing MBeans, and provides client libraries to work with that pr
Here are a few ways to build dashboards and extract monitoring data for a node:
-* `hawtio `_ is a web based console that connects directly to JVM's that have been instrumented with a
+* `hawtio `_ is a web based console that connects directly to JVM's that have been instrumented with a
jolokia agent. This tool provides a nice JMX dashboard very similar to the traditional JVisualVM / JConsole MBbeans original.
* `JMX2Graphite `_ is a tool that can be pointed to /monitoring/json and will
scrape the statistics found there, then insert them into the Graphite monitoring tool on a regular basis. It runs
@@ -180,4 +180,4 @@ If the above holds, Corda components will benefit from the following:
* Guaranteed eventual processing of acknowledged client messages, provided that the backlog of persistent queues is not lost irremediably.
* A timely recovery from deletion or corruption of configuration files (e.g., ``node.conf``, ``node-info`` files, etc.), database drivers, CorDapps binaries and configuration, and certificate directories, provided backups are available to restore from.
-.. warning:: Private keys used to sign transactions should be preserved with the utmost care. The recommendation is to keep at least two separate copies on a storage not connected to the Internet.
\ No newline at end of file
+.. warning:: Private keys used to sign transactions should be preserved with the utmost care. The recommendation is to keep at least two separate copies on a storage not connected to the Internet.
diff --git a/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt b/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
index 66a36f2104..4adaf2baf4 100644
--- a/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
+++ b/node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
@@ -143,7 +143,7 @@ open class NodeStartup(val args: Array) {
preNetworkRegistration(conf)
if (cmdlineOptions.nodeRegistrationOption != null) {
// Null checks for [compatibilityZoneURL], [rootTruststorePath] and [rootTruststorePassword] has been done in [CmdLineOptions.loadConfig]
- registerWithNetwork(conf, cmdlineOptions.nodeRegistrationOption)
+ registerWithNetwork(conf, versionInfo, cmdlineOptions.nodeRegistrationOption)
return true
}
logStartupInfo(versionInfo, cmdlineOptions, conf)
@@ -317,7 +317,7 @@ open class NodeStartup(val args: Array) {
logger.info("Starting as node on ${conf.p2pAddress}")
}
- protected open fun registerWithNetwork(conf: NodeConfiguration, nodeRegistrationConfig: NodeRegistrationOption) {
+ protected open fun registerWithNetwork(conf: NodeConfiguration, versionInfo: VersionInfo, nodeRegistrationConfig: NodeRegistrationOption) {
val compatibilityZoneURL = conf.networkServices?.doormanURL ?: throw RuntimeException(
"compatibilityZoneURL or networkServices must be configured!")
@@ -327,7 +327,7 @@ open class NodeStartup(val args: Array) {
println("* Registering as a new participant with Corda network *")
println("* *")
println("******************************************************************")
- NodeRegistrationHelper(conf, HTTPNetworkRegistrationService(compatibilityZoneURL), nodeRegistrationConfig).buildKeystore()
+ NodeRegistrationHelper(conf, HTTPNetworkRegistrationService(compatibilityZoneURL, versionInfo), nodeRegistrationConfig).buildKeystore()
// Minimal changes to make registration tool create node identity.
// TODO: Move node identity generation logic from node to registration helper.
diff --git a/node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt b/node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
index 0c11647cfd..8f1d0654db 100644
--- a/node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
+++ b/node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
@@ -15,6 +15,7 @@ import net.corda.core.internal.openHttpConnection
import net.corda.core.internal.post
import net.corda.core.utilities.OpaqueBytes
import net.corda.core.utilities.seconds
+import net.corda.node.VersionInfo
import net.corda.nodeapi.internal.crypto.X509CertificateFactory
import okhttp3.CacheControl
import okhttp3.Headers
@@ -28,12 +29,10 @@ import java.util.*
import java.util.zip.ZipInputStream
import javax.naming.ServiceUnavailableException
-class HTTPNetworkRegistrationService(compatibilityZoneURL: URL) : NetworkRegistrationService {
+class HTTPNetworkRegistrationService(compatibilityZoneURL: URL, val versionInfo: VersionInfo) : NetworkRegistrationService {
private val registrationURL = URL("$compatibilityZoneURL/certificate")
companion object {
- // TODO: Propagate version information from gradle
- const val CLIENT_VERSION = "1.0"
private val TRANSIENT_ERROR_STATUS_CODES = setOf(HTTP_BAD_GATEWAY, HTTP_UNAVAILABLE, HTTP_GATEWAY_TIMEOUT)
}
@@ -63,7 +62,7 @@ class HTTPNetworkRegistrationService(compatibilityZoneURL: URL) : NetworkRegistr
}
override fun submitRequest(request: PKCS10CertificationRequest): String {
- return String(registrationURL.post(OpaqueBytes(request.encoded), "Client-Version" to CLIENT_VERSION))
+ return String(registrationURL.post(OpaqueBytes(request.encoded), "Client-Version" to "${versionInfo.platformVersion}"))
}
}
diff --git a/node/src/test/kotlin/net/corda/node/utilities/registration/NetworkRegistrationHelperTest.kt b/node/src/test/kotlin/net/corda/node/utilities/registration/NetworkRegistrationHelperTest.kt
index a08bae3f05..e150096ed6 100644
--- a/node/src/test/kotlin/net/corda/node/utilities/registration/NetworkRegistrationHelperTest.kt
+++ b/node/src/test/kotlin/net/corda/node/utilities/registration/NetworkRegistrationHelperTest.kt
@@ -25,6 +25,7 @@ import net.corda.core.internal.div
import net.corda.core.internal.x500Name
import net.corda.core.utilities.seconds
import net.corda.node.NodeRegistrationOption
+import net.corda.node.VersionInfo
import net.corda.node.services.config.NodeConfiguration
import net.corda.nodeapi.internal.DevIdentityGenerator
import net.corda.nodeapi.internal.crypto.CertificateAndKeyPair
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
index 4c297a35d7..ab0b9236a3 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/DriverDSLImpl.kt
@@ -33,6 +33,7 @@ import net.corda.core.utilities.contextLogger
import net.corda.core.utilities.getOrThrow
import net.corda.core.utilities.millis
import net.corda.node.NodeRegistrationOption
+import net.corda.node.VersionInfo
import net.corda.node.internal.ConfigurationException
import net.corda.node.internal.Node
import net.corda.node.internal.StartedNode
@@ -265,6 +266,7 @@ class DriverDSLImpl(
"devMode" to false)
))
+ val versionInfo = VersionInfo(1, "1", "1", "1")
config.corda.certificatesDirectory.createDirectories()
// Create network root truststore.
val rootTruststorePath = config.corda.certificatesDirectory / "network-root-truststore.jks"
@@ -278,7 +280,7 @@ class DriverDSLImpl(
executorService.fork {
NodeRegistrationHelper(
config.corda,
- HTTPNetworkRegistrationService(compatibilityZoneURL),
+ HTTPNetworkRegistrationService(compatibilityZoneURL, versionInfo),
NodeRegistrationOption(rootTruststorePath, rootTruststorePassword)
).buildKeystore()
config