1169 Commits

Author SHA1 Message Date
Andras Slemmer
c66a84bfc6 Interface changes for multi-threading 2017-10-20 11:29:30 +01:00
Andras Slemmer
54f901c4fe move SMM 2017-10-20 11:27:37 +01:00
Tomas Tauber
342090db62 Experimental support for PostgreSQL (#1525)
* Cash selection refactoring such that 3d party DB providers are only required to implement Coin Selection SQL logic.

* Re-added debug logging statement.

* Updated to include PR review feedback from VK

* Refactoring following rebase from master.

* Fix broken JUnits following rebase.

* Use JDBC ResultSet getBlob() and added custom serializer to address concern raised by tomtau in PR.

* Fix failing JUnits.

* Experimental support for PostgreSQL: CashSelection done using window functions

* Moved postgresql version information into corda/build.gradle

* Using a PreparedStatement in CashSelectionPostgreSQLImpl

* Changed the PostgreSQL Cash Selection implementation to use the new refactored AbstractCashSelection
2017-10-19 14:17:54 -07:00
Chris Rankin
2c84d07e8e CORDA-704: Implement @DoNotImplement annotation (#1903)
* Enhance the API Scanner plugin to monitor class annotations.
* Implement @DoNotImplement annotation, and apply it.
* Update API definition.
* Update API change detection to handle @DoNotImplement.
* Document the `@DoNotImplement` annotation.
2017-10-19 17:18:35 +01:00
Clinton
3dd09fd69b Cordformation in Kotlin (#1873)
Cordformation rewritten in kotlin.
2017-10-19 15:41:25 +01:00
Andrzej Cichocki
dfd90701a0 CORDA-599 PersistentNetworkMapCache no longer circularly depends on SH (#1652) 2017-10-19 11:19:55 +01:00
Andrzej Cichocki
b2454c646c Eliminate circular dependency of NodeSchedulerService on ServiceHub. (#1891) 2017-10-19 09:26:26 +01:00
Alberto Arri
b33b013284 [CORDA-442] let Driver run without network map (#1890)
* [CORDA-442] let Driver run without network map

- Nodes started by driver run without a networkMapNode.

- Driver does not take a networkMapStartStrategy anymore

- a new parameter in the configuration "noNetworkMapServiceMode" allows for a node not to be a networkMapNode nor to connect to one.

- Driver now waits for each node to write its own NodeInfo file to disk and then copies it into each other node.

- When driver starts a node N, it waits for every node to be have N nodes in their network map.

Note: the code to copy around the NodeInfo files was already in DemoBench, the NodeInfoFilesCopier class was just moved from DemoBench into core (I'm very open to core not being the best place, please advise)
2017-10-18 13:49:32 +01:00
Andrzej Cichocki
b4c53647cd CORDA-530 Don't soft-lock non-fungible states (#1794)
* Don't run unlock query if nothing was locked
* Constructors should not have side-effects
2017-10-18 13:40:57 +01:00
Shams Asari
3372e49898 Fixed the node shell to work with the DataFeed class 2017-10-17 12:27:01 +01:00
Ross Nicoll
63b7eb3f70 CORDA-654: Move from chooseIdentity() to singleIdentity() (#1819)
Move from `chooseIdentity()` to `singleIdentity()` where tests use a single identity, or to fetching by name where multiple identities are present, so we stop using the first identity as special.
2017-10-16 15:51:26 +01:00
mkit
83b9080502 Adding an option to override the default isolation level on per transaction basis (#1886) 2017-10-16 14:03:51 +01:00
Andrzej Cichocki
38cf4a489e CORDA-676 Eager cordapp schemas (#1839)
* Retire customSchemas.
* Key cordapp-to-hash map by url as native equality too strict.
2017-10-16 11:35:29 +01:00
Clinton
2680361696 Renamed "plugins" dir to "cordapps" (#1644)
* Renamed plugins dir to cordapps dir while maintaining backwards compatibility with the plugins dir.
Bumped gradle plugins to 2.0.4
2017-10-13 15:01:24 +01:00
Andrzej Cichocki
ce5b7de718 CORDA-530 Unduplicate code (#1791) 2017-10-13 12:15:52 +01:00
Andrius Dagys
7b10e92819 Fixed AbstractNode to load custom notary services properly (#1720)
* Fixed AbstractNode to load custom notary services properly.
Added a custom notary sample.

* Prevent multiple custom notaries from being loaded

* Throw if more than once custom notary service is loaded
2017-10-13 10:36:25 +01:00
Matthew Nesbit
899f7f9d0d Change the serialization/deserialization code of SessionMessage data to add more validation.
Address PR comments

As pointed out by Shams the SessionInit must be well formed at this point.
2017-10-11 15:17:48 +01:00
Rick Parker
3fdc69e541 Fix coin selection with Flow-friendly sleep (#1847) 2017-10-11 14:33:20 +01:00
Alberto Arri
d0d0f132df Create nodeInfoDirectory in NodeInfoWatcher initialization, and make NodeInfoWatcher logging less verbose and less frequent (#1857)
Let NodeInfoWatcher create the directory it wants to poll at startup.
Also log failure in creating the directory, but don't log anything if it can be found at poll time.
2017-10-11 12:54:30 +01:00
Viktor Kolomeyko
ef0f0acc4a Make integration tests pass in AMQP mode, part 1 (#1855) 2017-10-11 11:13:46 +01:00
Andrzej Cichocki
4ee250a19b Retire setCordappPackages. (#1860) 2017-10-11 10:35:21 +01:00
Shams Asari
bd53a22efa Removed extraAdvertisedServiceIds config
The remaining use for it was the finance CorDapp for permissioning CCY issuers. Instead this is now taken from a custom config in node.conf.
2017-10-10 13:47:37 +01:00
Ross Nicoll
242b019dc2 CORDA-641: Remove special case handling of notary transactions (#1675)
Move special case handling of notary transactions into `SignedTransaction`
2017-10-10 13:23:31 +01:00
Alberto Arri
7af1f02a2d Add a configuration option to set how often should a node check for new nodeinfos on disk (#1851)
* Add a configuration option to set how often should a node check for new NodeInfo files in additional-node-infos
2017-10-10 09:55:20 +01:00
Ross Nicoll
7340a2e32f CORDA-654: Handle non-standard file systems in NodeInfoWatcher (#1818)
Handle non-standard file systems such as JimFs, in NodeInfoWatcher. Instead of using `toFile()` to convert a Path to a File, open the Path for writing to directly.
2017-10-09 16:15:27 +01:00
Tommy Lillehagen
14f959b4af Code clean-up run 2017-10-09 15:26:40 +01:00
Tommy Lillehagen
cb9e27a84a Reformat files in node 2017-10-09 15:26:39 +01:00
Alberto Arri
69ad52cf5c Deflake node infoWatcherTest (#1836)
* Stop using the watch service, just re-read the whole directory every time. On macOS it's quite unpredictable and the tests are almost always failing.
2017-10-09 13:53:36 +01:00
Michele Sollecito
29a101c378 [CORDA-683] Enable receiveAll() from Flows. 2017-10-09 13:46:37 +01:00
Chris Rankin
689758a71c CORDA-644: Only serialise Kotlin lambdas when checkpointing. (#1801)
* Remove local function because it is serialised as a lambda.
* Don't automatically whitelist Kotlin lambdas unless checkpointing.
* Add comment to @CordaSerializable, warning not to allow AnnotationTarget.EXPRESSION.
2017-10-09 13:02:40 +01:00
Andrzej Cichocki
f83f1b7010 CORDA-599 Fix circular dependency between vault and SH (#1630)
Fix circular dependency between the 2 vault objects and SH.
2017-10-09 12:49:07 +01:00
Shams Asari
727cd0e55c Cleaned up notary configuration by introducing a notary config option.
extraAdvertisedServiceIds is no longer used for this.
2017-10-07 12:52:37 +01:00
Andrzej Cichocki
894f05d84e CORDA-599 Remove dependency of NetworkMapService impls on ServiceHub (#1713) 2017-10-07 10:46:20 +01:00
Ross Nicoll
6562579e8e Extend NetworkMapCache API (#1766)
* Add functions to:
** Return PartyAndCertificate rather than just Party
** Return all NodeInfo entries for a name (rather than just by key)
* General documentation improvements
2017-10-06 15:23:20 +01:00
Matthew Nesbit
2564b7da1d Merge pull request #1803 from corda/mnesbit-CordaServices-startFlows
Start Flows from services
2017-10-06 13:49:18 +01:00
Matthew Nesbit
fe4635a81e Start Flows from services
Update tests

Add a test to show progress tracking works

Include service startable flow in Cordapp data structures.

Respond to PR comments

Fixup change of api inline with PR comments.

Address PR comments
2017-10-06 10:48:30 +01:00
Alberto Arri
fde30d0181 removed unused variable in PersistentNetworkMapCache (#1813)
val publicKey in unused in PersistentNetworkMapCache, removed.
2017-10-06 10:45:17 +01:00
Alberto Arri
cf83328d5d Add filesystem polling to nodes (#1623)
Add the logic in node to poll for new serialized nodes to appear on disk.

Newly discovered nodes are automatically added to the PersistentNetworkMapCache
2017-10-05 14:11:10 +01:00
Ross Nicoll
f5784f718d Remove database transaction from notaryPartyFromX500Name (#1786)
Remove database transaction from notaryPartyFromX500Name as it doesn't touch the database
2017-10-03 19:22:10 +01:00
Ross Nicoll
5b79def791 Add CordaRPCOps.notaryPartyFromX500Name (#1786) 2017-10-03 19:22:10 +01:00
Andrzej Cichocki
ab7507db69 CORDA-599 Remove unnecessary laziness (#1517) 2017-10-03 16:30:17 +01:00
Alberto Arri
eb0e2535ed [CORDA-442] Make cordformation serialize NodeInfos to disk during deployment. (#1546)
Initial PR for https://r3-cev.atlassian.net/projects/CORDA/issues/CORDA-442

Allow for cordformation not to specify which node is the network map.
When that happens Cordformation will start each node and make it serialize its NodeInfo to disk.
This make 'depolyNodes' slower. On my machine for the traderDemo it's ~25s

PersistentNetworkMapCache will load files from disk at startup.
Additionally nodeinfos are loaded in the networkMapCache only if they're newer than the currently known version.
2017-10-03 15:43:50 +01:00
Shams Asari
457f95f188 Removed the network map service type as it's no longer needed.
The absence or presence of the networkMapService config is what determines if a node is the network map or not.
2017-10-03 11:32:37 +01:00
Clinton
659b447362 V1 tests and fixes for the ContractConstraints work (#1739)
* V1 tests and fixes for the ContractConstraints work

* More fixes.
2017-10-02 17:54:31 +01:00
Rick Parker
9a16011448 * Move CompositeSignaturesWithKeys into net.corda.core.crypto package.
* Rename and move CordaPluginRegistry to reflect its real purpose now.
* Docs: docsite improvements
* Remove discussion of webserver from 'writing a cordapp' page.
* Fixup some flow docs.
* Add a couple more package descriptions.
* Review comments - always apply default whitelist and no longer load it via ServiceLoader
* Added wording about renaming services resource file
2017-10-02 16:03:07 +01:00
Andrzej Cichocki
12982b3034 Move dbCloser to MockNode, the only thing that uses it. (#1512) 2017-10-02 15:59:55 +01:00
Katarzyna Streich
cac739e48d Add explanation to NetworkMapCache docs. (#1727)
NodeInfo lookup can return more than one node for distribute services.
2017-09-29 15:38:05 +01:00
Matthew Nesbit
5fa7381883 Custom exceptions in corda, should either derive from an appropriate closely related java exception, or CordaException, or CordaRuntimeException. They should not inherit just from Exception, or RuntimeException.
Handle PR comments

Add nicer constructors to CordaException and CordaRuntimeException

(cherry picked from commit 89478c8)

Fix ambiguous defaulted constructor

(cherry picked from commit ec9bafe)

Address PR comment

Update a few more custom exceptions
2017-09-29 09:37:22 +01:00
Viktor Kolomeyko
d13bf77473 CORDA-649: Improve stability of PersistentNetworkMapCacheTest (#1711)
Improve stability of the NetworkMap test by ensuring that cluster of nodes is in a stable state before performing testing
2017-09-28 17:46:36 +01:00
Katarzyna Streich
eb0e5ad417 Improve NodeTabView in DemoBench (#1639)
* Improve NodeTabView in DemoBench

Reflect recent changes with advertised services removal.

* Force selection of only one notary

* Update screenshots
2017-09-28 15:01:08 +01:00