* Enable RPC start of Flows that return nothing (eg. Void).
* Fix blocking test (caused by not running mockNetwork).
Improve execution times by moving redundant setup() initialisation to only tests that use it.
* Rename KeyFactory to CompositeKeyFactory
* Move expandedCompositeKeys into TestDSL as the only place that uses it
* Move NullKeys out of their own package
* Move remaining crypto classes into superpackage
* Move utility classes out of crypto and into utilities package
Registration may fail due to low level serialization problems especially when running in AMQP mode
Also some minor improvements for exceptions reporting and test coverage
Move `ContentSignerBuilder` into `net.corda.node.utilities` so it's not part of the API visible to CorDapp developers, when it's only needed inside the node itself.
* Remove notify/notifyAll from public Vault Service API.
* 1st pass - remove ContractUpgrade public API calls from VaultService into self contained ContractUpgradeService.
* Fix compile error caused by cut'n'paste refactoring.
Work on database backed NetworkMapCache
Make NodeInfo JPA entity.
Enable node startup with it's database network map cache. Fix schema.
Make node not wait for finishing network map service registration if it
successfully loaded data from database.
Add tests for startup without NetworkMapService.
* Rename networkMapRegistrationFuture
Change networkMapRegistrationFuture to nodeReadyFuture, it no longer
indicates the NetworkMapService registration, because we are able to run
network without map service configured.
* Partially integrate database into NetworkMapCache
Full integrtion will come with service removal.
Move MockServiceHubInternal to net.corda.node.testing
* Add workaround to transaction scope race
Temporary workaround to force isolated transaction (otherwise it causes race conditions when processing
network map registration on network map node).
* Remove WorldMapLocation from NodeInfo
Infer the node's location based on X500 name
Add serial number on NodeInfo
For tests of running without NetworkMap, start nodes with nonexistent NetworkMap address
Make clearNetworkMapCache callable via RPC.
Move default session ID into messaging service to clean up the API. This means it no longer shows up in a Java class (ServiceHubInternalKt) as its only member, and is instead scoped into the service that actually uses the value. This does result in a MessagingService.Companion object (as MessagingService is an interface), however this is probably the most sensible solution.
* Performance fix: prevent self joins on VaultStates table (was occurring when Sort specified).
* Enrichment and overriding of Common attributes (eg. Vault.StateStatus and Contract State Types) using composite query criteria.
Remove unnecessary QueryEditor implementation from NodeVaultService.
* Updated documentation and changelog.
* Misc fixes to broken documentation code snippets.
* Incorporating changes from PR review feedback.
Adapt CollectSignaturesFlow to handle anonymous transactions where the keys signing commands on a transaction are not necessarily the well known identity of the participating nodes. Also prepares for any potential move away from nodes having a single primary identity by requiring flows to specify the identities they're using for a transaction.
* Hibernate session was not closed when JDBC connection was closed
* combined few instances of HibernateSession objects into one field inside CordaPersistence
* HibernateConfiguration improved caching of schema factories
* Removed Requery object relational mapping usage (and associated schemas including node-schemas module)
* Fixed issues with NodeAttachmentService tests.
Cannot use JPA custom converters with Primary Key fields.
Hibernate entities require explicit call to flush() to persist to disk.
* Removed redundant requery converters (equivalents not even required in Hibernate).
* Removed remaining gradle requery dependency definitions.
* Fixed broken tests.
* Fixes for failing NodeVaultService tests:
- Dynamic SQL updates (in soft locking code)
- Explicit request by session to participate in transaction (causing "TransactionRequiredException" Executing an update/delete query)
- Explicit flush() required to persist to disk
* Updated changelog.
Fixed compiler warning.
* Fixed WHERE clause AND/OR condition.
Enforced immediate data visibility through transaction commit.
* Final fixes to address failing tests.
* Deferred all hibernate session/txn management to DatabaseTransactionManager.
* Fixed transaction boundaries in failing Cash tests.
* Fixes to address failing tests (transaction boundaries, merge detached object, config clean-up).
* Final adjustment to transaction boundaries in JUnit tests.
* Refactored AttachmentSchemaV1 into NodeAttachmentService itself and referenced from NodeServicesV1.
* Refactored HSQL UPDATE statements to use CriteriaUpdate API.
* Updated all criteria API getters to reference attribute names by type.
* Remove redundant VaultSchema entity name (required when previously using HSQL UPDATE syntax)
* Fix compiler warnings.
* Minor changes following rebase from master.
* Fixed suppress warning type.
Re-enable code now DealState PR is in.
Add plugable JSON serialisation
Add docs for new plugin api.
Move parseCurrency back to core to prevent dependency issues with crash shell parsing.
Use :finance module as a proper CorDapp
Move parseCurrency back onto Amount companion.
Fix smoke tests
Fixup after merge.