Commit Graph

395 Commits

Author SHA1 Message Date
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
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
3594ccd89b CORDA-1924: Remove references to Cordform definition and cordform-common (#3842) 2018-08-24 16:29:14 +01:00
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
1d05c16942 ENT-2439 Fix compression in serialization (#3825)
* ENT-2439 Fix compression in serialization
2018-08-22 10:37:18 +01:00
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
ff62df8d5a CORDA-1907: Allow Corda's shell to deserialise using generic type information. (#3810) 2018-08-20 13:22:07 +01:00
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
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
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
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
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
736d62ec1a Retire RandomFree as it causes flaky tests (#3626) 2018-07-17 10:29:47 +01:00
21725ef192 CORDA-3167 added titles to Treasury chart in Explorer 2018-07-17 11:15:30 +02:00
df84dd5a33 Address review comments. 2018-07-12 18:42:19 +02:00
309a5fd9ec Address review comments. 2018-07-12 18:42:19 +02:00
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
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
2833ec2a88 Avoiding starting notaries in driver-based integration tests to speed them up (#3544) 2018-07-11 11:36:36 +01:00
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
dcfe37c83c add ability to specify x500 of node to add. (#3528) 2018-07-06 13:19:16 +01:00
30d5d45c87 [CORDA-1568] Omit synthetic methods in shell (#3517) 2018-07-05 14:59:13 +01:00
02978fc174 Resolve warnings for Kotlin ByteArray. (#3521) 2018-07-05 13:00:29 +01:00
244167d3e9 Enabled warnings as errors (#3514) 2018-07-04 17:17:27 +01:00
d634cdcbac Clear some cut-and-paste cruft out of our Gradle files. (#3511) 2018-07-04 15:42:43 +01:00
470921afb9 ENT-1741 Build standalone shell JAR distribution - subsequent fix (#3476) 2018-06-29 12:03:18 +01:00
0a700fd3f0 ENT-1741 Build standalone shell JAR distribution - fix (#3474) 2018-06-29 10:32:37 +01:00
4267513332 CORDA-1693: Ensure that DemoBench's RPC connections terminate on shutdown. (#3468) 2018-06-28 16:37:51 +01:00
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
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
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
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
99e314d017 ENT-2145: Configure DemoBench nodes to issue selected currencies. (#3452) 2018-06-27 14:01:49 +01:00
7e05e373d7 CORDA-1687: Remove unwanted hibernate-core from DemoBench and Node Explorer. (#3449) 2018-06-27 12:52:36 +01:00
8ecf3b5e49 CORDA-1685: Remove bank-of-corda.jar from DemoBench. (#3446) 2018-06-26 22:53:22 +01:00
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
1d95ffba3a CORDA-1674 - Publish Node Explorer artefact (#3437) 2018-06-26 10:46:04 +01:00
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
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
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
3af5412d40 ENT-1741 Build standalone shell JAR distribution (#3409) 2018-06-21 10:32:36 +01:00
191eef12cb Fix bootstrapper publication problem. (#3370) 2018-06-14 18:17:53 +01:00
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
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
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
7fec9df99e Fixed double JAR publishing problem with network bootstrapper. (#3354) 2018-06-12 18:08:31 +01:00
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
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
6a2e50b730 Blobinspector: trace level logging with --verbose (#3313) 2018-06-06 13:19:18 +01:00
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