CORDA-1383: Cleaned up the JSON format of WireTransaction and SignedTransaction (#3248)

In particular correctly outputs the custom state and command objects in the txs. Also fixed up deserialisation back into the transaction objects.
This commit is contained in:
Shams Asari
2018-05-30 16:37:41 +01:00
committed by GitHub
parent ed70fea3a7
commit 7b09795795
17 changed files with 569 additions and 174 deletions

View File

@ -2,13 +2,9 @@
package net.corda.nodeapi.internal.config
import com.typesafe.config.Config
import com.typesafe.config.ConfigException
import com.typesafe.config.ConfigFactory
import com.typesafe.config.ConfigUtil
import com.typesafe.config.ConfigValueFactory
import com.typesafe.config.ConfigValueType
import com.typesafe.config.*
import net.corda.core.identity.CordaX500Name
import net.corda.core.internal.isStatic
import net.corda.core.internal.noneOrSingle
import net.corda.core.internal.uncheckedCast
import net.corda.core.utilities.NetworkHostAndPort
@ -16,7 +12,6 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.lang.reflect.Field
import java.lang.reflect.InvocationTargetException
import java.lang.reflect.Modifier.isStatic
import java.lang.reflect.ParameterizedType
import java.net.Proxy
import java.net.URL
@ -209,7 +204,7 @@ fun Any.toConfig(): Config = ConfigValueFactory.fromMap(toConfigMap()).toConfig(
private fun Any.toConfigMap(): Map<String, Any> {
val values = HashMap<String, Any>()
for (field in javaClass.declaredFields) {
if (isStatic(field.modifiers) || field.isSynthetic) continue
if (field.isStatic || field.isSynthetic) continue
field.isAccessible = true
val value = field.get(this) ?: continue
val configValue = if (value is String || value is Boolean || value is Number) {