Refactor code into clear core, contracts and node namespaces. Move services into clear implementation and api sides. Push unit tests down to lowest level of dependency hierarchy possible.

This commit is contained in:
Matthew Nesbit
2016-05-19 10:25:18 +01:00
parent a556dfb17d
commit f6f56797ce
680 changed files with 2727 additions and 1800 deletions

View File

@ -4,17 +4,18 @@ import com.google.common.net.HostAndPort
import com.typesafe.config.ConfigFactory
import core.crypto.Party
import core.logElapsedTime
import core.node.Node
import core.node.NodeConfiguration
import core.node.NodeConfigurationFromConfig
import node.core.Node
import node.services.config.NodeConfiguration
import node.services.config.NodeConfigurationFromConfig
import core.node.NodeInfo
import core.node.services.NetworkMapService
import core.node.services.NodeInterestRates
import core.node.services.NotaryService
import node.services.network.NetworkMapService
import node.services.clientapi.NodeInterestRates
import node.services.transactions.NotaryService
import core.node.services.ServiceType
import core.node.subsystems.ArtemisMessagingService
import node.services.messaging.ArtemisMessagingService
import core.serialization.deserialize
import core.utilities.BriefLogFormatter
import demos.api.InterestRateSwapAPI
import demos.protocols.AutoOfferProtocol
import demos.protocols.ExitServerProtocol
import demos.protocols.UpdateBusinessDayProtocol
@ -76,8 +77,8 @@ fun main(args: Array<String>) {
}
val node = logElapsedTime("Node startup") { Node(dir, myNetAddr, config, networkMapId,
advertisedServices, DemoClock(),
listOf(demos.api.InterestRateSwapAPI::class.java)).start() }
advertisedServices, DemoClock(),
listOf(InterestRateSwapAPI::class.java)).start() }
// TODO: This should all be replaced by the identity service being updated
// as the network map changes.

View File

@ -1,22 +1,23 @@
package demos
import contracts.Cash
import core.*
import core.contracts.DOLLARS
import core.contracts.FixOf
import core.crypto.Party
import core.contracts.TransactionBuilder
import core.node.Node
import core.node.NodeConfiguration
import core.crypto.Party
import core.logElapsedTime
import core.node.NodeInfo
import core.node.services.NodeInterestRates
import core.node.services.ServiceType
import core.node.subsystems.ArtemisMessagingService
import core.serialization.deserialize
import core.utilities.ANSIProgressRenderer
import core.utilities.BriefLogFormatter
import core.utilities.Emoji
import demos.api.InterestRateSwapAPI
import joptsimple.OptionParser
import node.core.Node
import node.services.clientapi.NodeInterestRates
import node.services.config.NodeConfiguration
import node.services.messaging.ArtemisMessagingService
import node.utilities.*
import protocols.RatesFixProtocol
import java.math.BigDecimal
import java.nio.file.Files
@ -80,7 +81,7 @@ fun main(args: Array<String>) {
val node = logElapsedTime("Node startup") { Node(dir, myNetAddr, config, networkMapAddress,
advertisedServices, DemoClock(),
listOf(demos.api.InterestRateSwapAPI::class.java)).start() }
listOf(InterestRateSwapAPI::class.java)).start() }
val notary = node.services.networkMapCache.notaryNodes[0]

View File

@ -11,21 +11,21 @@ import core.crypto.generateKeyPair
import core.days
import core.logElapsedTime
import core.messaging.SingleMessageRecipient
import core.messaging.StateMachineManager
import core.node.Node
import core.node.NodeConfigurationFromConfig
import node.services.statemachine.StateMachineManager
import node.core.Node
import node.services.config.NodeConfigurationFromConfig
import core.node.NodeInfo
import core.node.services.NetworkMapService
import core.node.services.NodeAttachmentService
import core.node.services.NotaryService
import node.services.network.NetworkMapService
import node.services.persistence.NodeAttachmentService
import node.services.transactions.NotaryService
import core.node.services.ServiceType
import core.node.subsystems.ArtemisMessagingService
import core.node.subsystems.NodeWalletService
import node.services.messaging.ArtemisMessagingService
import node.services.wallet.NodeWalletService
import core.protocols.ProtocolLogic
import core.random63BitValue
import core.seconds
import core.serialization.deserialize
import core.utilities.ANSIProgressRenderer
import node.utilities.ANSIProgressRenderer
import core.utilities.BriefLogFormatter
import core.utilities.Emoji
import core.utilities.ProgressTracker

View File

@ -1,11 +1,13 @@
package demos.api
import api.*
import contracts.InterestRateSwap
import core.utilities.loggerFor
import demos.protocols.AutoOfferProtocol
import demos.protocols.ExitServerProtocol
import demos.protocols.UpdateBusinessDayProtocol
import node.api.APIServer
import node.api.ProtocolClassRef
import node.api.StatesQuery
import java.net.URI
import java.time.LocalDate
import javax.ws.rs.*

View File

@ -7,11 +7,11 @@ import core.contracts.DealState
import core.crypto.Party
import core.contracts.SignedTransaction
import core.messaging.SingleMessageRecipient
import core.node.Node
import node.core.Node
import core.protocols.ProtocolLogic
import core.random63BitValue
import core.serialization.deserialize
import core.utilities.ANSIProgressRenderer
import node.utilities.ANSIProgressRenderer
import core.utilities.ProgressTracker
import protocols.TwoPartyDealProtocol

View File

@ -2,11 +2,11 @@ package demos.protocols
import co.paralleluniverse.fibers.Suspendable
import co.paralleluniverse.strands.Strand
import core.node.Node
import core.node.NodeInfo
import core.protocols.ProtocolLogic
import core.serialization.deserialize
import core.testing.MockNetworkMapCache
import node.core.Node
import node.services.network.MockNetworkMapCache
import java.util.concurrent.TimeUnit

View File

@ -4,16 +4,16 @@ import co.paralleluniverse.fibers.Suspendable
import contracts.InterestRateSwap
import core.contracts.DealState
import core.contracts.StateAndRef
import core.node.Node
import core.node.NodeInfo
import core.node.subsystems.linearHeadsOfType
import core.node.services.linearHeadsOfType
import core.protocols.ProtocolLogic
import core.random63BitValue
import core.serialization.deserialize
import core.testing.MockNetworkMapCache
import core.utilities.ANSIProgressRenderer
import core.utilities.ProgressTracker
import node.utilities.ANSIProgressRenderer
import demos.DemoClock
import node.core.Node
import node.services.network.MockNetworkMapCache
import protocols.TwoPartyDealProtocol
import java.time.LocalDate

View File

@ -2,6 +2,7 @@ package core.testing
import com.google.common.base.Throwables
import core.utilities.BriefLogFormatter
import node.core.testing.IRSSimulation
import org.junit.Test
class IRSSimulationTest {