Commit Graph

585 Commits

Author SHA1 Message Date
Chris Rankin
04ba77732b ENT-3128: Tidy up DemoBench's "built-in CorDapp" management. (#4814) 2019-02-25 18:11:21 +00:00
Chris Rankin
111acc5d6e CORDA-2671: Remove broken ExplorerSimulator from Node Explorer. (#4811)
* CORDA-2671: Remove broken ExplorerSimulator from Node Explorer.

* CORDA-2671: Document that Node Explorer is included with DemoBench.
2019-02-25 18:11:06 +00:00
Tommy Lillehagen
8fb3d4dc01
CORDA-2669 - Reintroduce pendingFlowsCount (#4806)
* CORDA-2669 - pendingFlowsCount not in public API

Reintroduce `pendingFlowsCount` to public API (as deprecated). Advise
to use the `gracefulShutdown` command in the shell instead.

* CORDA-2669 - Add pendingFlowsCount to api-current.txt
2019-02-23 17:10:32 +00:00
Mike Hearn
1ed5fce6a6 Backwards compat: Put the confidential-identities module back in the node classpath by default. Separating it out into a standalone "app" needs more thought and design work, if we do it at all. 2019-02-18 14:02:36 +01:00
Tommy Lillehagen
4434a005dd
CORDA-2622 - Fix shell extensions (#4774)
* CORDA-2622 - Fix shell extensions

* CORDA-2622 - Only add auto-completion stuff if enabled
2019-02-17 17:16:57 +00:00
Tommy Lillehagen
f781edccd4
CORDA-2623 - Add help screen to Network Builder CLI tool (#4775) 2019-02-17 16:33:08 +00:00
Chris Rankin
7866dde91b
CORDA-2556: Refactor World City database into a library module. (#4718)
* Refactor World City database into a library module.
* Migrate CityDatabaseTest into worldmap module.
2019-02-05 15:29:26 +00:00
Shams Asari
c39c61ecab
CORDA-2467: Moved non-contract things out of finance-contracts and into finance-workflows (#4700)
This includes all of the cash selection logic, JSON support using jackson and a bunch of utilities which are not relevant to contract verification. The exception to this are Interpolator which has been moved to the IRS demo, and PhysicalLocationStructures.kt which is now in explorer.
2019-02-01 17:31:12 +00:00
Tudor Malene
262a7ad1b7
Backport merge fixes added to ENT (#4618)
Fix test and address code review comments.
2019-01-29 13:45:04 +00:00
Viktor Kolomeyko
5744614886
ENT-3001: Make subCommands lazy val (#4668)
This is to prevent initialising it multiple times.
Please see linked Jira to understand how this can cause harm.
2019-01-29 10:48:33 +00:00
Shams Asari
5656d8ee80 CORDA-2510: Added missing confidential-identities CorDapp to DemoBench (#4636) 2019-01-25 17:48:10 +00:00
Katarzyna Streich
e93327bb6a
CORDA-2351 - Fix Demobench readme (#4624)
* CORDA-2351 - Fix Demobench readme

Remove information that BankOfCorda app is automatically loaded. Add
new up-to-date screenshots and information on how to check issuable
currencies on the node.
2019-01-23 13:45:53 +00:00
Stefano Franz
97df10e1f5 print out the underlying error when an RPC call fails (#4605)
make it red.
2019-01-22 10:14:01 +00:00
Shams Asari
c6a7d14f4f
Reducing the size of the CorDapp jars used in tests (#4600)
The helper method enclosedCordapp is a replacement to scanning the current package (which pulls in a lot more into the jar than intended).
2019-01-21 13:54:26 +00:00
JamesHR3
2ec6fe4c0a [CORDA-2441] Fix Stdout progress renderer to swap out correct appender (#4582)
* Fix stdout renderer to swap out correctly named appender.

Also fix two compiler warnings

* Add clearer exception when console appender cannot be found

* Change error displayed when appender not found to warning

* Remove type declaration on separate line
2019-01-15 18:54:08 +00:00
Shams Asari
24a7821dce
CORDA-2434: CordaRPCClient now only has c'tors rather a mix of c'tors and factory methods (#4569) 2019-01-14 16:07:56 +00:00
JamesHR3
5e32e718ae
[CORDA-2326] Ensure right step is rendered by AnsiProgressRenderer (#4514)
* Add test to reproduce problem

* Remap step indices when the step tree changes
2019-01-11 09:53:58 +00:00
JamesHR3
f9e0c518b9
[CORDA-2374] Avoid using Unicode in the Progress Tracker output on Windows (#4485)
* Avoid Unicode output from the Progress Tracker on Windows
* Fix an issue with the Progress Tracker where the currently executing state is reported as done
2019-01-03 13:34:34 +00:00
Shams Asari
c08f65a92c
CORDA-2128: Moved all the helper methods added to NetworkParameters.kt into internal (#4466) 2018-12-27 14:21:37 +00:00
Anthony Keenan
af75a05502
Fix irs-demo dependency issues (#4438)
* Fix irs-demo dependency issues

* Fixed a problem with the IRS demo test JAR.

* Fixed deployNodes problem and log4j info statement.
2018-12-20 12:31:16 +00:00
Shams Asari
830959c9f7
CORDA-2345: Simplified TestCordapp to make it inline with the recent CorDapp versioning changes (#4434)
TestCordapp has now two implementations to clearly separate the two use cases it has in the Corda repo:

* TestCordappImpl which implements the revised public API of TestCordapp; namely that a TestCordapp instance references a real CorDapp jar on the classpath. This is either an external dependency jar in which case it’s taken as is and given to the node, or it’s a local gradle project in which case it’s compiled using the gradle “jar” task to generate the CorDapp jar. This approach means the jar has all the original CorDapp versioning information, which is important that it’s correct when testing. To this end, TestCordapp only needs to expose the ability to specify the app’s config. All the remaining properties have moved to CustomCordapp.

* CustomCordapp for creating arbitrary custom CorDapps, including specifying the jar’s MANIFEST values. This is internal API and only used for testing the platform. Technically this shouldn’t implement TestCordapp but does so to reduce the complexity of the driver and mock network.
2018-12-20 09:49:58 +00:00
szymonsztuka
4aaefb4fe9 CORDA-2331 Split Workflow and contracts of Finance App into separate Cordapps (#4422)
* Split Workflow and contracts of Finance App into separate Cordapps, part 1 - content which is different between OS and ENT is still in contract Cordapp.

* Move CashSelection implementations to workflow module.

* Move CashSelection implmentations to workflow module.

* Move finance module to finance-flows, top level finance module is empty.

* Move finance module to finance-flows, top level finance module is empty.

* Updated build comment.

* Revert publication of combined (contracts and flows) corda-finance.jar (to maintain backwards compatibility with 3rd party cordapps dependent on finance)

* Added backwards compatibility clarification comment.

* Re-instate new cordapp metadata.

* Global rename of `finance-flows` to `finance-workflows` to follow adopted naming conventions.

* Addressed final review comments.

* Rename application to "Corda Finance Demo"

* Generation of original corda-finance jar from new sub-modules.

* Fixed and tested demobench with new split finance contract and workflow jars.

* Renamed finance sub-modules to contracts and workflows.

* Remove Michele!!!

* Minor fix to filtering logic.

* Align CorDapp configuration filename with workflows jar.

* Fix breaks caused by finance module naming changes.

* Final alignment between OS/ENT of finance contract code.
2018-12-19 18:02:51 +00:00
Dimos Raptis
f58757bda9
[CORDA-1676] Adjust progress tracking rendering for skipped elements (#4372)
* Adjust styling for flow steps that are skipped
2018-12-10 15:00:47 +00:00
Shams Asari
b020e602ba
Fingerprint for Exception class reverted to V3 (fixes CORDA-2227 & CORDA-2292) (#4386) 2018-12-07 18:57:51 +00:00
josecoll
63e326aedb
CORDA-2157 - Hash to Signature constraints migration V2 (#4261)
* Hash to signature constraints migration #1

* After rebase from Attachments Classloader commit.

* Simplified implementation without CZ whitelisting and relaxing the no-overlap rule slightly.

* Further simplification.

* Detailed implementation.

* Use fully loaded Cash contract jar for hash to signature constraints migration test.
Additional debug logging.

* Minor cleanup.

* Address PR review feedback.

* Minor fix.

* Fixes following rebase from master.

* Implemented `calculateEntriesHashes` to improve classloader validation performance.

* Address minor PR review comments.

* Added integration tests and some minor fixes.

* Minor fixes following rebase from master.

* Updates and fixes following integration testing.

* Added changelog entry.

* Fix broken unit tests.

* Fix compilation errors in DriverDSL tests after rebase from master.

* Minor fix to test cordapp jar signing using explicit keystore.

* Run hash-to-signature constraints integration test out of process using a non-validating notary.

* Address PR review feedback: contract version from database + other minor changes.

* Address final PR review feedback: remove signed attachment field from attachmentWithContext

* Resolve conflicts following rebase from master.

* Fix failing junit test.

* Fix Kryo serialization error (forgot to write new `version` identifier field)

* Removed redundant query carried over from previous commit.

* Added documentation.

* Fix test case where explicit Hash Constraint input and Signature Constraint output explicitly configured.

* Addressing PR review comments from SA.

* AttachmentQueryCriteria API: added wither methods and Java Unit tests.

* Fixed compilation error caused by Unit tests being in wrong module.

* Added @CordaInternal to canBeTransitionedFrom function.

* Minimized AttachmentClassloader overlap duplicates checking.

* Moved JarSignatureTestUtils and ContractJarTestUtils to internal pending clean-up and documentation before public release.

* Minor fix following rebase from master.

* Removed redundant checkNotNull(networkParameters) checks now that these are always passed into the main (non-deprecated) constructor.

* Remove capitalization.
2018-12-04 18:45:29 +00:00
Shams Asari
c03ad5abc3
CORDA-2254: Replaced JmxPolicy.httpPort with the original PortAllocation (#4345)
The httpPort parameter is fundamentally wrong as it gives the same monitoring port to each node!

Added JmxPolicy.defaultEnabled() to workaround the (incorrect) default false value of startJmxHttpServer.
2018-12-03 17:25:56 +00:00
Anthony Keenan
ec42d30661
Fix windows build (#4335) 2018-11-30 19:01:15 +00:00
Dimos Raptis
11e7bf5bbc
CORDA-1456: Change output format in the shell (#4318)
* [CORDA-1456] Add support and switch for JSON/YAML output format
2018-11-30 10:14:26 +00:00
Shams Asari
36fdb858c6 CORDA-2239: DriverDSL.startNode overload cleanup (#4252)
The overload that takes in a bunch of the node parameters with default values has been fixed to the V3 version. New node parameters since V3 now only exist in NodeParameters.

The reason for this is otherwise each new release of Corda that introduces new node parameters will force a new startNode overload to be added to DriverDSL to preserve backwards compatibility.

NodeParameters has been moved to its own file and logLevel is removed as it doesn't do anything.
2018-11-28 14:36:26 +00:00
Anthony Keenan
994afcfef7 [CORDA-2055] [CORDA-2236]: Bootstrapper cordapp copying (#4309) 2018-11-28 13:28:56 +00:00
Shams Asari
fd60c82134
CORDA-2254: JmxPolicy fixed so that it turns on monitoring via the jmxMonitoringHttpPort config (#4298)
* CORDA-2254: JmxPolicy fixed so that it turns on monitoring via the jmxMonitoringHttpPort config

To make the API easier to use, httpPort was introduced and both startJmxHttpServer and jmxHttpServerPortAllocation deprecated.
2018-11-28 09:50:29 +00:00
Michele Sollecito
dc1f5f0ccd
[CORDA-2257]: Enabling optional global test port allocation (#4310) 2018-11-27 16:40:30 +00:00
Tudor Malene
8784e51a8f
CORDA-2248 fix rpc classloader issue (#4288) 2018-11-27 09:53:44 +00:00
Anthony Keenan
b7d04b1c6e
[CORDA-2235]: Add overrides for network parameters via command line and file (#4279)
* Temp commit

* Print the error message first by default, makes error output more natural.

* Polishing

* Further modifications after testing

* Documentation updates

* Couple of fixes after review

* Removing unnecessary tests

* Fix broken test

* Add interface to bootstrapper for testign

* Added unit tests

* Remove unused class

* Fix up bootstrapper unit tests and add a couple more

* Refactor the tests slightly

* Review comments

* Couple of minor tweaks
2018-11-26 17:11:05 +00:00
Vardan Nadkarni
e14421b7b4 CORDA-1480: In Demobench, saving a profile, opening it, and adding a node skips next name (#4113)
* Fixes Github #3800 ,Jira Issue CORDA-1480

* did the requested changes

* does the requested changes

* Did requested changes

* Does the required changes
2018-11-23 10:18:02 +00:00
Dominic Fox
2c6bce3e5d
CORDA-2099 serialisation rewrite (#4257)
* Type model first draft

* Introduce TypeIdentifier

* Attempting to retrofit fingerprinter with type model

* Complete retrofitting typemodel to fingerprinter

* Ensure component types are resolved correctly

* Fixes and tests

* Move resolveAgainst to TypeIdentifier

* Remote type modelling and reflection

* Convert TypeIdentifiers back into types

* Translate AMQP type strings to type identifiers

* Start replacing DeserializedParameterizedType

* Start roundtripping types through AMQP serialization

* Comments on type modelling fingerprinter

* kdocs and interface reorganisation

* Lots and lots of kdocs, bugfix for cyclic references

* Separate SerializerFactory construction from concrete implementation

* Fewer build methods

* Method naming that doesn't fatally confuse determinisation

* Extract SerializerFactory interface

* Reset to master's version of compiler.xml

* Un-ignore flickering test

* Enums don't have superclasses

* Break out custom serializer registry

* Refactor to separate remote and local serializer factories

* Shrink interfaces

* Further interface narrowing

* Fingerprinting local type model

* LocalSerializerFactory uses LocalTypeInformation

* Resolve wildcards to their upper bounds

* Actually cache custom serializers

* Fix various bugs

* Remove print statements

* There are no cycles in type identifiers

* Drive class carpentry from RemoteTypeInformation

* Refactor and comment

* Comments

* Comments and pretty-printer extraction

* Format long methods with braces

* Serialise composable types using LocalTypeInformation

* Warnings if a type is non-composable

* Rename lookup -> findOrBuild

* Evolution serialisation (no enums yet)

* Eliminate old ObjectSerializer and evolver

* Enum evolution

* Opacity claims types less greedily

* Fix type notation and type erasure bug

* Clean up unused code paths

* Delete unused codepaths

* Move whitelist based type model configuration to own file

* Move opaque type list

* Make all evolution serialisers in one go when schema received

* Minor tweaks

* Commenting and tidying

* Comments

* Rebase against master

* Make flag for controlling evolution behaviour visible

* propertiesOrEmptyMap

* Restore error messages

* Test for CORDA-4107

* PR fixes

* Patch cycles in remote type information after creation

* Fix line breaks in unit test on Windows

* This time for sure

* EvolutionSerializerFactoryTests

* Fix some pretty-printing issues, and a carpenter bug

* PR fixes

* Clarify evolution constructor ordering

* Remote TODO comment, which has been moved to a JIRA story
2018-11-22 11:44:40 +00:00
Tudor Malene
504f650022
ENT-2763 - Change packageOwnership type (#4273)
* ENT-2763 - Change packageOwnership type

* ENT-2763 - Address code review comment.

* ENT-2673 Address code review comments.

* ENT-2673 Address code review comments.

* ENT-2673 Fix test

* ENT-2673 Address code review comments.
2018-11-21 20:41:56 +00:00
Viktor Kolomeyko
0fe7f513e2
ENT-2653: Introducing CommonCliConstants (#4265) 2018-11-20 17:15:48 +00:00
Michele Sollecito
97c1e5babc
[CORDA-2211]: Added error for older bash versions when attempting to install shell extensions. (#4263) 2018-11-20 14:01:39 +00:00
Mike Hearn
4d2d9b8304 Fix a regression in the shell that was preventing it from fuzzy matching against notary names. 2018-11-16 14:37:43 +00:00
Michele Sollecito
4059966ccb
[CORDA-2203]: Demobench ends up with a stuck tab when you unselect notary type for the first node. (fix) (#4235) 2018-11-14 14:42:57 +00:00
Michele Sollecito
8aaf120881
[CORDA-2224]: Removed field value from Validated. Renamed function orThrow() to value(). (#4231) 2018-11-14 11:19:38 +00:00
Michele Sollecito
aa0ccecfde
[CORDA-2172]: Add link to error-codes-webapp in Corda. (#4224) 2018-11-13 15:46:21 +00:00
Michele Sollecito
e2a351cb70
[CORDA-2123]: Unhandled IndexOutOfBoundsException for malformed Shell commands. (fix) (#4225) 2018-11-13 10:44:04 +00:00
Michele Sollecito
dc62b20c5d
[CORDA-1879]: Ensure Node dies on unrecoverable errors. (#4213) 2018-11-12 15:56:04 +00:00
Michele Sollecito
6c749889d0
[CORDA-1993]: Replace reflection-based NodeConfiguration parsing with versioned property-based parsing mechanism. (#4132) 2018-11-08 15:56:00 +00:00
Rick Parker
9277042db8
ENT-2695 Restore async logging (#4195)
* Replace error code generation technique with custom event re-writer.
Switch to RandomAccessFile appenders because they supposedly give higher throughput.

* Review feedback
2018-11-08 14:33:45 +00:00
Christian Sailer
df954d36d2
Make the shell test pass when it happens to find the Integer constructor (#4187) 2018-11-07 16:37:42 +00:00
Patrick Kuo
459b330ebd
Add programmatic print help to CordaCliWrapper (#4177)
* add programmatic print help to CordaCliWrapper

* address PR issues

* bug fix
2018-11-07 14:14:58 +00:00
Anthony Keenan
ac64b6c37c
Ignoring invalid test (works on Linux not on Windows) (#4173) 2018-11-06 17:31:11 +00:00
josecoll
015a36dad6
CORDA 2131 - Extend Network Bootstrapper to enable registration of Java Package Namespaces. (#4116)
* Package Ownership Network Parameters: add register / unregister CLI options to network bootstrapper.

* Fix 2 failing unit tests.

* Fix failing unit tests.

* Added changelog, documentation and cosmetic changes.

* Fixed exception message.

* Address PR review feedback.

* Fix typo.

* Resolve conflicts.

* Rebase, resolve conflicts and remove PackageOwner class.

* Address latest PR review feedback.

* Fix incorrect imports.

* Fix broken JUnit

* Add support for key store passwords including delimiter characters.

* Updated and improved documentation.

* Minor doc update.

* Documentation changes following PR review feedback

* Replace Bank Of Corda with Example CorDapp.
Remove references to locally built network bootstrapper.
2018-11-06 09:28:55 +00:00
Michele Sollecito
24e9ceac48
[ENT-2678] PluginRegistrationTest is failing (fix) (OS part) (#4153) 2018-11-02 11:36:28 +00:00
Anthony Keenan
7ca1dd5848
Fix issue where verbosity wasn't working on subcommands (#4147) 2018-11-01 11:34:14 +00:00
Stefano Franz
ab1deaac99
CORDA-1953 Display error when unable to open connection to Docker (#4136)
* Display error when unable to open connection to Docker

* review comments
2018-10-30 17:14:47 +00:00
Anthony Keenan
30fedec343
CORDA-1838: A few misc fixes (#4126)
* Remove unused code

* Make comment readable

* Remove joptsimple from node/shell

* tabs vs whitespace
2018-10-30 14:01:20 +00:00
Anthony Keenan
0ab644783e CORDA-1838: Add subcommands to node (#4091)
* Tidy up

* Add install-shell-extensions command

* Make cli tests use same version of picocli as everything else

* Remove initLogging from NodeStartup, it is ran earlier by CordaCLIWrapper

* Use picocli snapshot for testing

* Use RunLast() parser to invoke correct subcommands

* Deprecate old clear-network-map-cache parameter

* Restructure NodeStartup for commands

* Get rid of -c option since the flag method has been deprecated and that didn't exist in last release

* Update documentation

* Update backwards compatibility test

* Get all subcommands working

* Refactor sub commands into seperate classes

* Update docs and fix some tests

* Docs changes

* Fix merge conflicts with master

* Fix renamed parameters

* Fix test failure

* Fix compatibility tests

* Add missing compatibility test for blob inspector

* Remove blob inspector compatibility test as there are import conflicts

* Assorted doc fixes

* Addressing review comments

* More review comments

* Couple more bits

* Fix broken tests

* Fix compilation error

* More merge conflicts

* Make startup logging function a bit more sensible

* Fix broken shell extensions

* Make shell extensions work with subcommands

* Make sure parameters for deprecated options are carried through

* More review comments

* Adding some s's

* One last go

* Fix compilation error on Windows

* Revert logging changes

* Revert docs back to their original imperatively moody state
2018-10-24 13:58:19 +01:00
Shams Asari
d3c5479826
CORDA-1621: The finance CorDapp uses the app config feature rather than the node's config (#4100) 2018-10-22 18:56:30 +01:00
Rick Parker
55731ef816
ENT-2431 Tidy up buildNamed and CacheFactory 2018-10-18 10:38:43 +01:00
Stefano Franz
456c9a85e1
remove requirement to override default progress tracker for interacti… (#3985)
* remove requirement to override default progress tracker for interactive shell - this is no longer needed

* fix failing tests
2018-10-17 11:27:14 +01:00
Anthony Keenan
e3685f5e81
Make blobinspector not log to console by default (#4059) 2018-10-11 18:01:54 +02:00
Anthony Keenan
9c8a1cd14a
CORDA-2028 - Fix use of required paramers/options on command line (#4040)
* Make required parameters work with --install-shell-extensions and make errors look a bit more errorey

* Make blobinspector required parameter work the way it used to

* Fix compilation Error
2018-10-09 15:49:24 +02:00
Dominic Fox
d9ea19855f
CORDA-2006: Simplify checkpoint serialization (#4042)
* CORDA-2006: Simplify checkpoint serialization

* Supply rule to KryoTest
2018-10-08 13:39:28 +01:00
Shams Asari
39434dcbec
Assorted set of clean ups (#4039) 2018-10-05 18:05:10 +01:00
Chris Rankin
d75fd7bd8a
CORDA-2030: Resolve build warnings created by adding kotlin-stdlib-jre8 to node. (#4033) 2018-10-05 11:01:27 +01:00
Shams Asari
bffac331a3
Moved the PLATFORM_VERSION constant to core and added some missing usages (#4026) 2018-10-05 09:28:00 +01:00
cburlinchon
064c72dfb1
ENT-2554: Add back hibernate dependency as required by explorer runDemoNodes (#4029) 2018-10-04 11:55:18 +01:00
josecoll
3110c75847
Network bootstrapper tool: optional configuration setting to specify the minimum plat… (#4005)
* Provide an optional configuration setting to specify the minimum platform version to use in the network params file.

* Leave Cordform signature intact.

* Leave previous Gradle Plugin called signature intact.

* Incorporating feedback from PR review.

* Added minimum platform version validation check.

* Removed final 2 references to "default"

* Added changelog entry.
2018-10-03 13:41:52 +01:00
Dominic Fox
98c92ef16f
CORDA-1391: Separate out Checkpoint serialization (#3922)
* Separate out Checkpoint serialization

* Update kdocs

* Rename checkpoint serialization extension methods

* Fix bungled rename

* Limit API changes

* Simplify CheckpointSerializationFactory

* Add CheckpointSerializationScheme to API checker

* CheckpointSerializationScheme should not be implemented

* Move checkpoint serialisation to internal package

* Remove CheckpointSerializationScheme from api-current

* Quarantine internal classes

* Remove checkpoint context from public API

* Remove checkpoint context from public API

* Fix test failures

* Completely decouple SerializationTestHelpers and CheckpointSerializationTestHelpers

* Remove CHECKPOINT use case

* Remove stray reference to checkpoint use case

* Fix broken test
2018-09-19 14:23:29 +01:00
Michele Sollecito
19b8f70117
[CORDA-1996]: Apply error code to exceptions that do not propagate to NodeStartup. (#3964) 2018-09-19 14:24:21 +02:00
Michele Sollecito
5113f4c8c1
[CORDA-1941]: Server-side draining node shutdown. (#3909) 2018-09-18 13:04:26 +02:00
Shams Asari
1c4294f42d
CORDA-1982: Convert the --base-directory to an absolute path to avoid issues on start up (#3952)
Also the --network-root-truststore default value has been corrected to be relative to the base dir.

The cliutils has been updated to always convert Path cmd line params to be absolute
2018-09-17 17:38:28 +01:00
Chris Rankin
df4699c69a
CORDA-1985: Configure Gradle capsule plugin to use Capsule 1.0.3. (#3949) 2018-09-17 13:55:31 +01:00
Anthony Keenan
99dd2c5936
CORDA-1764: Make blobinspector use picocli base class (#3940)
* Make blobinspector use picocli base class

* Updated Documentation

* Update and harmonise documentation

* Give the table a bit more padding to help with merge conflicts

* Correct capitalisation of short options

* Some grammar changes
2018-09-14 16:37:58 +01:00
Stefano Franz
5be7d5c4f1
CORDA-1959 - Enforce backwards compatibility of new CLI's (#3939)
* enforce backwards compatibility of new CLI's

* move Shell yml
2018-09-14 14:37:52 +01:00
Anthony Keenan
046b104fee
CORDA-1764: Make shell use picocli for parsing command line options (#3923)
* Fix link in shell documentation

* The TypeSafe config parser wants extensions.sshd to be present in the config even though extensions is nullable

* Temp commit

* Make Standalone Shell use picocli

* Simplify gradle config for bootstrapper

* Fix logging dependency issues

* Revert "Temp commit"

This reverts commit f4efafcc9d.

* Fix quasarExcludeExpression

* Correct bootstrapper configuration

* Correct CRaSH capitalisation in docs

* Fix unit tests

* Fix help text typo

* Make logging level case insensitive

* Fix CRaSH capitalisation in help text

* Fix unit tests
2018-09-13 11:14:31 +01:00
Anthony Keenan
ec0fc849ed
Publish cliutils package (#3930) 2018-09-13 11:14:19 +01:00
Chris Rankin
1c7dfd4b7b
CORDA-1964: Unify versioning of the shadow plugin, and resolve more issues for Gradle 5.0. (#3918) 2018-09-13 10:55:52 +01:00
Chris Rankin
ce5cdc03f3
Use standard Automatic-Module-Name for DemoBench. (#3913) 2018-09-11 13:44:22 +01:00
Anthony Keenan
97cd2fcd3a
Publish cliutils (#3927) 2018-09-11 13:36:38 +01:00
josecoll
37c7fff8b1
CORDA-1892 CRaSH shell flow start fix for similar flow names. (#3874)
* Added fix and associated unit test.

* Fixed broken unit test + added another test case + used NoOpFlows + use Mock output object to assert correct result output.

* Remove unnecessary additional println.

* Minor cleanup in test code.

* Relax nameFragment matching to cater for fully qualified and simple Flow classname specifications.

* Remove superfluous check.

* Minor fix + added additional Unit Test cases to cover all scenarios.

* Reverted back to original behaviour + extra check to avoid ambiguity for exact match.

* Changes following final PR review comments.
2018-09-11 11:41:45 +01:00
Chris Rankin
4f8a564104
CORDA-1964: Resolve some Gradle warnings which will soon become errors. (#3911) 2018-09-07 14:26:35 +01:00
Chris Rankin
ca9649ec0f
CORDA-1964: Upgrade to Gradle 4.10 (#3903) 2018-09-06 12:48:31 +01:00
Anthony Keenan
3284a61afd
CORDA-1755: Modify the node to run using picocli (#3872)
* Modify Corda Node to use picocli

* Make --sshd parameter actually work

* * Some refactoring
* Fixing the issue with the --confg-file parameter
* Updating the tests

* Restore original devMode behaviour

* Update documentation

* Add return code to network bootstrapper

* Use the root jar for the shell alias for jars packaged with capsule

* Update Corda jar description

* Fix issue with logging not initialising early enough in node
Make initLogging overridable
Combine --verbose and --log-to-console options

* Tidy up

* Make sure all command line options are documented properly

* Fix compilation error

* Remove code that's no longer needed (single slash options no longer supported unless explicitly specified)

* Remove comment

* Remove pointless comment

* Log commandline arguments

* Address review comments

* Address more review comments

* Remove ConfigFilePathArgsParser

* Remove some unused importss

* Only display config when in dev mode

* Force Ansi ON if on Windows else set to AUTO.

* Make ExitCodes class open
2018-09-06 09:37:04 +01:00
Chris Rankin
7f3bcbe7c3
Tidy up DemoBench's fallback logging configuration for JUL. (#3894) 2018-09-05 12:14:35 +01:00
Clinton Alexander
a28fa69865 Updated repository lists to reduce dependency on Jitpack and removed unused repositories. 2018-09-04 11:19:03 +01:00
Michele Sollecito
d01dd22419
[CORDA-1937]: Refactor NodeConfiguration hierarchy. (#3856) 2018-09-04 10:26:10 +01:00
Anthony Keenan
f856a77c96 Fix demo bench issue stopping nodes starting up with max transaction size > max message size 2018-09-03 19:05:17 +02:00
Anthony Keenan
f6466cde41 Make UI better when labels overflow. 2018-09-03 19:05:17 +02:00
Clinton Alexander
ceb47c9938 RELEASE - Fixed build.gradle issues that break maven central publishing and standardised dependency specification. 2018-09-03 19:04:21 +02:00
Anthony Keenan
bdc67f453e Stop bootstrapper errors caused by maxTransactionSize > maxMessageSize 2018-09-01 13:15:27 +02:00
Mike Hearn
2d39b39e31 Improve the error messages printed by the shell when a flow c'tor doesn't match. 2018-08-29 12:34:55 +02:00
Christian Sailer
bc330bd989
ENT-2414 Named caches (#3848)
* Add named caches and apply to NonInvalidingUnboundCache and all usages.

* Add named caches and apply to NonInvalidingCache and all usages.

* Add named caches and apply to NonInvalidingWeightBasedCache and all usages.

* Move NamedCache to core/internal

* Remove type `NamedCache` and `NamedLoadingCache`

* Suppressed 'name not used' warning, added comment, and fixed generic parameters on the buildNamed functions.

* Use `buildNamed` in all caffeine instances in production code. Not using it for caches that are created in test code.

* Add checks for the cache name

* Formatting

* Minor code review revisions
2018-08-24 17:17:22 +01:00
Clinton
3594ccd89b
CORDA-1924: Remove references to Cordform definition and cordform-common (#3842) 2018-08-24 16:29:14 +01:00
Anthony Keenan
bcfadfeebf
CORDA-1833: Create a picocli base class (#3826)
* Add shell extensions to CLI utils class and move into its own module

* Fix issue with completion script generation and slight refactor

* Fix autocompletion for logging level

* Delete uneeded comment

* More tidying up

* Make run function final

* Fixed an issue with the program being run twice.

* Address review comments
2018-08-22 21:51:25 +01:00
Rick Parker
1d05c16942
ENT-2439 Fix compression in serialization (#3825)
* ENT-2439 Fix compression in serialization
2018-08-22 10:37:18 +01:00
Matthew Layton
96d645c316 series0ne/corda-demobench-node-config-fix
Fixes an issue where profiles don't load because the node.conf format has changed between V1 and V3
2018-08-22 11:03:45 +02:00
Chris Rankin
ff62df8d5a
CORDA-1907: Allow Corda's shell to deserialise using generic type information. (#3810) 2018-08-20 13:22:07 +01:00
Andrius Dagys
ce5f38104b
ENT-2168: Add a shell command to check for an existing transaction (#3762)
* ENT-2168: Add a shell command to check for an existing transaction

When a double-spend occurs the notary returns the hash of the consuming
transaction id. I've added a 'hash-lookup' shell command that matches
any recorded transactions on the node against this id hash to determine
whether the state has been consumed by this node (that could happen in certain race conditions).
2018-08-09 18:33:51 +01:00
Anthony Keenan
d5f4370443
CORDA-1848 Add example alias and autocomplete for CLI tools (#3700)
* Basic alias and autocomplete installation for bash in network bootstrapper

* Address review comments

* Update completion file if out of date

* Refactoring

* Some more minor tweaks

* Use manifest revision rather than recalculating hash

* Add zsh autocomplete compatibility

* Actually write .zshrc file

* Fix some descriptions

* Only rewrite settings files if changes have been made, and make a backup if so. Some refactoring
2018-08-01 14:44:56 +01:00
Matthew Layton
6a895401c5 series0ne/corda-demobench-cordapp-select (#3543)
Adds the ability to multi-select CorDapp JARs for node profiles.
2018-07-23 12:34:07 +01:00
Anthony Keenan
7853cfe003
[CORDA-1482] Make boolean config variables case insensitive (#3622)
* Make boolean config variables case insensitive

* Address review comments
2018-07-21 11:54:02 +01:00
Michal Kit
c0207b2219
CORDA-1815 adding maxTransactionSize validation (#3635)
* CORDA-1815 adding maxTransactionSize validation

* Fixing failing tests

* Fixing failing test
2018-07-18 10:34:41 +01:00
Shams Asari
736d62ec1a
Retire RandomFree as it causes flaky tests (#3626) 2018-07-17 10:29:47 +01:00
dmytrobr
21725ef192 CORDA-3167 added titles to Treasury chart in Explorer 2018-07-17 11:15:30 +02:00
Mike Hearn
df84dd5a33 Address review comments. 2018-07-12 18:42:19 +02:00
Mike Hearn
309a5fd9ec Address review comments. 2018-07-12 18:42:19 +02:00
Mike Hearn
20c03d2196 Blob inspector: add support for hex and base64 inputs.
Also rename the file to make it easier to navigate to it in IntelliJ
by keyboard.
2018-07-12 18:42:19 +02:00
Shams Asari
ac179aa9ab
CORDA-1664: Blob inspector able to display SignedTransaction blobs dumped from a node's db. (#3559) 2018-07-11 14:50:51 +01:00
Shams Asari
2833ec2a88
Avoiding starting notaries in driver-based integration tests to speed them up (#3544) 2018-07-11 11:36:36 +01:00
Viktor Kolomeyko
d481c55b82
CORDA-1743: Remove isDebug = true from Node driver to speed-up integration tests execution. (#3535)
* CORDA-1743: Remove `isDebug = true` from Node driver to speed-up integration tests execution.

* CORDA-1743: Undo removal of "isDebug = true" from the test that specifically checks for this condition.

* CORDA-1743: Address input from @shamsasari
2018-07-09 16:37:01 +01:00
Stefano Franz
dcfe37c83c
add ability to specify x500 of node to add. (#3528) 2018-07-06 13:19:16 +01:00
Maksymilian Pawlak
30d5d45c87
[CORDA-1568] Omit synthetic methods in shell (#3517) 2018-07-05 14:59:13 +01:00
Chris Rankin
02978fc174
Resolve warnings for Kotlin ByteArray. (#3521) 2018-07-05 13:00:29 +01:00
Shams Asari
244167d3e9
Enabled warnings as errors (#3514) 2018-07-04 17:17:27 +01:00
Chris Rankin
d634cdcbac
Clear some cut-and-paste cruft out of our Gradle files. (#3511) 2018-07-04 15:42:43 +01:00
szymonsztuka
470921afb9 ENT-1741 Build standalone shell JAR distribution - subsequent fix (#3476) 2018-06-29 12:03:18 +01:00
szymonsztuka
0a700fd3f0 ENT-1741 Build standalone shell JAR distribution - fix (#3474) 2018-06-29 10:32:37 +01:00
Chris Rankin
4267513332
CORDA-1693: Ensure that DemoBench's RPC connections terminate on shutdown. (#3468) 2018-06-28 16:37:51 +01:00
Chris Rankin
76c114502e
CORDA-1686: Make Node Explorer release its RPC connection on shutdown. (#3457)
* Make Node Explorer release its RPC connection on shutdown.
* Declare Explorer's login() function as tail-recursive.
* Replace lateinit rpcConnection with oridinary var.
* Notify the node when closing an RPC connection gracefully.
2018-06-28 13:33:07 +01:00
Stefano Franz
de6e78b4a3
V2 gui for the bootstrapper (#3373)
* V2 gui

* Misc small fixes and tweaks

* V2 gui

* More tweaks

* fix horizontal resize issue
2018-06-28 12:05:36 +01:00
Shams Asari
eee2563bfa
CORDA-1660: Wiring up the CordaRPCClient class loader to the p2p serialisation context. (#3454)
This is to allow the standalone shell to be able to receive WireTransactions containing Cash.State objects.
2018-06-27 17:02:35 +01:00
Viktor Kolomeyko
4cc4e3f01b
Fix DemoBench Windows installer (#3451)
Specify paths to build tools correctly or else bugfixes will not applied.
2018-06-27 16:45:39 +01:00
Chris Rankin
99e314d017
ENT-2145: Configure DemoBench nodes to issue selected currencies. (#3452) 2018-06-27 14:01:49 +01:00
Chris Rankin
7e05e373d7
CORDA-1687: Remove unwanted hibernate-core from DemoBench and Node Explorer. (#3449) 2018-06-27 12:52:36 +01:00
Chris Rankin
8ecf3b5e49
CORDA-1685: Remove bank-of-corda.jar from DemoBench. (#3446) 2018-06-26 22:53:22 +01:00
Thomas Schroeter
ad2890193d
Specify Notary in CashIssueAndPaymentFlow and PaymentRequest (#3443)
* Specify notary in CashIssueAndPaymentFlow

* Specify notary in PaymentRequest

* Address comments

* Default to the first notary in the `CashPaymentFlow`
2018-06-26 16:45:18 +01:00
Tommy Lillehagen
1d95ffba3a
CORDA-1674 - Publish Node Explorer artefact (#3437) 2018-06-26 10:46:04 +01:00
Shams Asari
b97af477b2
CORDA-1603: Class carpenter able to synthesis Cash.State objects (#3400)
This requires the class carpenter to be able to run in a "lenient" mode where it permits synthesised classes to implement interfaces with unimplemented methods.
2018-06-25 11:33:37 +01:00
Shams Asari
3046843d40
CORDA-1602: Added cmd line flags to the network bootstrapper (#3419)
The list of CorDapps jars is no longer passed in via the cmd line but is now expected to be placed in the bootstrapped directory.

Ended up being a bit of a refactor to cater for unit testing, and also tidied up the bootstrapper docs.
2018-06-23 11:36:10 +01:00
Tudor Malene
381aadc78f
ENT-1796 RPC SSL (#3401)
* ENT-1796 add just-generate-rpc-ssl-settings command line flag. Fix ssl configuration and documentation

* ENT-1796 small fix. change alias

* ENT-1796 address code review changes

* ENT-1796 revert file

* ENT-1796 Added check to display better error message

* ENT-1796 Doc fixes
2018-06-21 16:46:05 +01:00
szymonsztuka
3af5412d40 ENT-1741 Build standalone shell JAR distribution (#3409) 2018-06-21 10:32:36 +01:00
josecoll
191eef12cb
Fix bootstrapper publication problem. (#3370) 2018-06-14 18:17:53 +01:00
Tommy Lillehagen
18cfcb887d
Merge pull request #3359 from corda/tlil/CORDA-1609/fix-rpc-config-api-break
CORDA-1609 - Don't use reserved keyword as method name
2018-06-13 18:25:23 +01:00
James Brown
026a4864b1
ENT-1387 h2port config changes with new h2Settings block
* Introduce new h2Settings config block which overrides h2Port
* H2 server listens on localhost by default
* Change is backward compatible and old h2Port option can still be used but that always listens  on localhost now
* Update changelog and docs with H2 changes
2018-06-13 16:23:39 +01:00
Tommy Lillehagen
fe313951ea CORDA-1609 - Don't use reserved keyword as method name
As reported in [CORDA-1609](https://r3-cev.atlassian.net/browse/CORDA-1609),
`CordaRPCClientConfiguration.default` is not accessible from Java since
`default` is a reserved keyword.

As part of the refactor made in #2831, `CordaRPCClientConfiguration` went
from being a data class to an interface with a backing implementation of
type `CordaRPCClientConfigurationImpl`.

This resulted in Java users having to rewrite code that was on the form:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.DEFAULT
);
```

to something like this:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.Companion.default()
);
```

However, this does not work. The user would get a compilation error because
`default` is a reserved keyword in Java.

Since `CordaRPCClientConfiguration` has been made an interface, there is no
easy way of introducing a static final field on the interface from Kotlin.

Consequently, I've changed this back to using a `class` with a static field
named `DEFAULT` instead of the static method `default()`.

It should be noted that `default()` / `DEFAULT` is currently only used
internally to pass in default values in `CordaRPCClient.kt` and
`CordaRPCClientUtils.kt`. That said, it is exposed as part of our API
surface and consequently shouldn't be broken.

The latter means that in the above example, the user would actually not
have to provide the parameter at all:

```java
final CordaRPCClient client = new CordaRPCClient(nodeAddress);
```

As can be seen from the definition of `CordaRPCClient`:

```kotlin
class CordaRPCClient private constructor(...) {
    @JvmOverloads
    constructor(
        hostAndPort: NetworkHostAndPort,
        configuration: CordaRPCClientConfiguration = CordaRPCClientConfiguration.DEFAULT
    ) : this(hostAndPort, configuration, null)
```

The mentioned [refactor](7a077e76f0 (diff-0948c125db93a22263eb81eaf3161c17R65))
did not make it into the 3.1 release, so from an API-stability perspective,
this change can be applied without affecting our commitment to a
backwards compatible API..
2018-06-13 15:39:03 +01:00
Michele Sollecito
7fec9df99e
Fixed double JAR publishing problem with network bootstrapper. (#3354) 2018-06-12 18:08:31 +01:00
Stefano Franz
66294df34f
add experimental bootstrapper (#3009)
* add experimental bootstrapper

(cherry picked from commit 63665d1)

refactor code to be less Azure Specific
Use node classes for notaries

add local docker backend

move to tools directoy

apply fixes for local docker RPC admin port

add extraParams field to context to allow dynamic backend selection

begin refactor to move all common node/notary functionality into single implementations

node and notaries now share the same code path as much as possible.

refactor network building logic into api class

port Main.kt to use new networkbuilder api

add gui

fix issues with local docker ports not being exposed on localhost

make push and instantiate async operations

add ability to "add" a node after network has been built to gui

tidy up backend selection via command line and GUI

allow region selection for AZURE instantiations

remove old network map based node.conf and network map dockerfile

tidy up constructors of the various node stage objects

tidy up artefact name

add network-name selection dialog

* print out help

* exclude transitive dep onto log4j to suppress error print out

* windows fixes for local docker

* fixes to allow "devs.XXXX" resource groups in line with the new devops policy of having named resourceGroups

* add extra logging around constructing azure backend
2018-06-12 13:59:27 +01:00
josecoll
002d5a8f10
Publish tools to Artifactory: Blob Inspector, Network Bootstrapper (#3321)
* Added missing plugin to enable publishing of artifact to Artifactory.

* Remove references to experimental blobinspector

* Remove disableDefaultJar for default jar.

* Add additional artifacts to be published.
2018-06-08 14:02:57 +01:00
Shams Asari
6a2e50b730
Blobinspector: trace level logging with --verbose (#3313) 2018-06-06 13:19:18 +01:00
Joel Dudley
ff8471341f
Removes Log4J from Core. Readds to shell where required. (#3257)
* Removes Log4J dependency from `core`.

* Adds dependency on Log4J directly to shell. Missing colons.
2018-06-04 23:24:36 +01:00
Michele Sollecito
7350cd9d1e
[CORDA-1408]: Fixed some Demobench bugs. (#3288) 2018-06-04 09:35:38 +01:00
Michele Sollecito
52fa86079b
[CORDA-1569]: Shell doesn't yield control back to the user after a completed flow and throws NullPointerExceptions (#3281)
* [CORDA-1569]: Shell doesn't yield control back to the user after a completed flow and throws NullPointerExceptions
2018-05-31 18:50:35 +01:00
Michele Sollecito
26ef294d8d
[CORDA-1356]: OOM when using Demobench + Explorer (fix). (#3268) 2018-05-30 15:04:24 +01:00
sollecitom
6f0363258e [CORDA-1552]: Log commands executed by the Shell. 2018-05-30 13:28:05 +01:00
Michele Sollecito
1c1b492532
[CORDA-1542]: Ctrl-C in the shell no longer aborts the flow (fix). (#3260) 2018-05-30 10:29:10 +01:00
Michele Sollecito
7c87353bde
[CORDA-1547]: Make log4j2.xml files more resilient to regex escaping problems. (#3254) 2018-05-29 15:25:52 +01:00
Shams Asari
4e0378de9c
CORDA-1238: Moved the blob inspector out of experimental and wired it to JackonSupport (#3224)
The existing output format was not complete and so was deleted to avoid it becoming a tech debt. We can always resurrect it at a later point.
2018-05-24 18:26:55 +01:00
Michele Sollecito
48f89e9ff8
[CORDA-1526]: Ensure MDC is printed in logs only if not empty. (#3222) 2018-05-23 13:23:02 +01:00
Siddhartha Sengupta
093be1b88c Using a List for the identity certs in InMemoryIdentityService and PersistentIdentityService (#3210) 2018-05-23 10:14:13 +01:00
bpaunescu
bff419e9af
Corda-1505 catch connection failure exception and re-throw as RPCException (#3203)
* CORDA-1505: catch connection failure exception and rethrow as RPCException

* CORDA-1443: remove incorrect import

* CORDA-1443: fix some failing tests

* CORDA-1505: fix broken CordaRPCClient test

* fix tests

* CORDA-1505: catch connection failure exception and rethrow as RPCException

* CORDA-1443: remove incorrect import

* CORDA-1443: fix some failing tests

* CORDA-1505: fix broken CordaRPCClient test

* fix tests

* CORDA-1505: changed exception handling to RPCException

* CORDA-1505: changed exception handling to RPCException
2018-05-21 18:01:31 +01:00