Commit Graph

252 Commits

Author SHA1 Message Date
Chris Rankin
f15a22d828 Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8. (#463)
* Replace kotlinx-support-jdk8 with kotlin-stdlib-jre8.
* Add kotlinVersion to constants.properties.

* Remove unused variable.
2017-03-30 16:27:01 +01:00
Clinton Alexander
d4e0ab52fe Moved the webserver from being a subproject of node to a subproject of client. 2017-03-30 14:43:18 +01:00
Chris Rankin
ade9a7dba8 Filter zero bytes from CRaSH input stream. (#460)
* Work around JavaFX injecting 0 bytes into JediTerm's STDIN stream.

* Add (disabled) unit tests for running JediTerm in both Swing and JavaFX.

* Remove tests for running JediTerm under Swing and JavaFX.
2017-03-30 11:04:51 +01:00
Rick Parker
8ef1d767c9 Consolidate maven repositories (#445)
* Consolidate repositories into root build.gradle
2017-03-28 17:17:40 +01:00
Chris Rankin
045efbf074 Remove TERM_PROGRAM from environment because JediTerm does not emulate MacOSX. (#436) 2017-03-27 16:41:50 +01:00
Chris Rankin
cec4e20bc8 Refactor DemoBench's configuration classes (#429)
* Reuse User class from :node-api module.

* Test that DemoBench can understand the node's configuration file.

* Add return type to User.toMap().
2017-03-25 00:45:01 +00:00
Andras Slemmer
439ceba2a4 Merge remote-tracking branch 'open/master' 2017-03-24 14:03:53 +00:00
Chris Rankin
9348ec05e7 Use loggerFor() function from :core. (#418) 2017-03-23 16:32:30 +00:00
Chris Rankin
e1bfa6c655 CORDA-267: Set a default name of Notary for the first node. (#417) 2017-03-23 16:28:05 +00:00
Chris Rankin
852af27f38 Use platform version of Guava for DemoBench. (#406) 2017-03-23 13:04:31 +00:00
Chris Rankin
98266da41c Refactor CordaRPCClient into new :client:rpc Gradle module. (#405)
* CORDA-305: Refactor CordaRPCClient into :client:rpc module

* CORDA-305: Remove the Kotlin test framework from the artifacts.

* CORDA-305: Migrate serialisation whitelist into node-api module.

* CORDA-305: Clean up unused RPC observables.

* CORDA-305: Add :client:rpc module to documentation tasks.

* CORDA-305: Include :finance into :client:rpc for its serialisable classes.

* CORDA-305: Move test classes into the correct directory.

* CORDA-305: Migrate :finance dependency from :client:rpc into DemoBench.

* CORDA-305: Update wording of TODO about handling Observables.
2017-03-22 15:52:54 +00:00
Andras Slemmer
8665e92960 Merge remote-tracking branch 'open/master' 2017-03-22 14:01:05 +00:00
Chris Rankin
18c57cf951 Merge DemoBench into Corda. (#380)
* Add basic spec for the demobench tool.

* Initial commit: Creating new tabs whenever the "Add Node" button is pressed. These tabs currently contain the bash shell only.

* Refactor shutdown code, although AWT is still misbehaving.

* Remove duplicate libpty native objects.

* Add initial form for configuring new nodes.

* Update to Corda 0.8-SNAPSHOT

* Patch JediTerm to allow the application to shutdown cleanly.

* Write configuration parameters into node.conf, and then run corda.jar in its own directory.

* The first node now becomes the session's Network Map service used by all other nodes. Force nodes to be created one-by-one.

* Trim node name and nearest city values.

* Fix logging location of corda.jar

* legalName field can be val.

* Allow configuration of extra network services.

* Launch DB viewer for node.

* Small tidy-up.

* Allow services to be loaded as a resources as well as a file.

* Include native artifacts in distribution.

* Add cash and issuer services to DemoBench.

* Configure Node and DemoBench to use same version of H2 database.

* Implement launching "Node Explorer" for each node.

* Create a capsule for Node Explorer, and allow login via command line parameters to bypass login screen.

* Simplify Kotlin objects.

* Include issuer for CHF (Swiss Francs)

* Fix SLF4J logging.

* Display simple statistics about the node on each tab.

* Add new RPC operation getCashBalances() to Node.

* Ensure demobench is built after explorer:capsule.

* Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers.

* Initial inclusion of Corda and BankOfCorda JARs in distribution.

* Fix DemoBench distribution target.

* Add SLF4J binding for Log4J 2.x

* First batch of code review changes.

* More changes from review.

* Remove ".exe" from Java executable path, because Windows doesn't need it.

* Remove superfluous lamba parameter names.

* Better usage of Paths vs File API.

* Simplify the configuration object.

* Ensure a DemoBench installation is relocatable.

* Ensure that Node Explorer can write into its working directory.

* Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC.

* Only allow the first node to run notary services. And validate port numbers more strongly.

* Force all chosen port numbers to be different.

* Initial javapackager task: currently builds RPMs.

* Ensure JavaPackager task finds custom resources on the classpath.

* Move demobench.log into the user's demobench directory.

* Upgrade to Logback 1.1.10

* Make the javapackage task "more gradle" and "less ant".

* Display "0" balance for a node which has no cash balances at all.

* CORPRIV-665: Ensure tab closes if the node exits.

* CORPRIV-665: Protect against NPE

* CORPRIV-665: Protect harder against NPE

* CORPRIV-665: Protect NodeTerminalView from being destroyed twice.

* Initial custom resource script for Windows bundle.

* Take java executable from JRE.

* Allow Node Explorer to be relaunched.

* CORPRIV-658: Add gradle parameter "packageType" for javapackage task.

* Replace R3 logo with Corda logo.

* CORPRIV-658: Add icon file for Windows installer.

* CORPRIV-658: Add BAT file to create unsigned DemoBench.exe.

* CORPRIV-659: Add icon file for DMG package.

* Improve packaging information.

* CORPRIV-660: Allow user to launch Web server for each node.

* Tidy up gradle usage.

* Document provenance of jediterm-terminal-2.5.jar.

* Use "safe" casting operator.

* CORPRIV-659: Add bin/java to minimal JRE.

* CORPRIV-659: Basic shell script to package DemoBench as DMG.

* Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes.

* Switch from Runtime.exec() to ProcessBuilder.

* CORPRIV-660: Display Web server's port number on launch button.

* CORPRIV-661: Allow profiles to be loaded into DemoBench.

* Upgrade to TornadoFX 1.6.2.

* CORPRIV-661: Implement saving profiles.

* CORPRIV-661: Refactor code for guaranteeing a .zip extension.

* CORRIV-658: Add icon for Windows installer.

* CORPRIV-659: Update installer script and icons for DMG.

* CORPRIV-659: Tweak post-image script for DMG.

* CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP
as invalid, and I have no idea why!?

* CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support.

* CORPRIV-661: Ensure that we can rewrite saved profiles correctly.

* Fix terminal resizing.

* CORPRIV-659: Fix DMG installer.

* CORPRIV-659: Better validation for JAVA_HOME.

* Downgrade JDK requirement to 8u102, for consistency with capsules.

* Comment how JediTerm is not available via Maven.

* CORPRIV-658: Rename packaging script.

* CORPRIV-659: Renaming packaging script.

* Comment file copying vs file filtering during packaging.

* Fixes from code review.

* CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service.

* Break textfield definitions out into separate functions.

* Fixes from code review.

* Code review tweaks.

* More code review tweaks.

* Another simple code review tweak.

* Replace companion object with a BiPredicate lambda.

* CORPRIV-664: Implement saving/loading of Cordapps with profiles.

* CORPRIV-664: Refactor saving/loading plugins.

* CORPRIV-664: Add initial unit tests for model.

* CORPRIV-664: Add simple unit tests for NodeController.

* CORPRIV-664: Unit test enhancements, e.g. configure JUL properly.

* CORPRIV-664: Use Suite instead of abstract test class.

* CORPRIV-664: Allow Cordapps to be loaded when each Node is configured.

* CORPRIV-664: Document which checked Java exceptions are thrown.

* Write JavaPackager output into build/javapackage directory.

* CORPRIV-664: Document more checked Java exceptions.

* Refactor Web and Explorer classes into their own packages.

* Declare WebServer and Explorer constructors as "internal".

* Update packaging scripts: tell user where the installer is!

* CORPRIV-659: Set "system menu bar" property for MacOSX.

* CORPRIV-661: Use "*.profile" for profile files.

* Remove unnecessary <children/> elements, as they are defaults.

* Fix build breakage when on Windows.

* Tweaks for EXE packaging script.

* Change function to extension function.

* Merged in corpriv-702 (pull request #25)

CORPRIV-702: Sign the DMG with a 'Developer ID Application' certificate.

* CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM.

* CORPRIV-702: Update comment better to explain why JRE must be resigned.

Approved-by: Mike Hearn

* Exclude old version of Javassist in favour of Hibernate's version from Node. (#320)

* Exclude old version of Javassist in favour of Hibernate's version.

* Comment why we are excluding javassist:javassist, and add TODO for when junit-quickcheck 0.8 is released.

* CORDA-265: Implement "ALL" permission for RPC users. (#306)

* CORDA-265: Implement "ALL" permission for RPC users. Users with this permission in node.conf can use any flow.

* CORDA-265: Ensure that we always close the RPC proxy object after each test.

* CORDA-265: Refactor construction of dummy RPC client into an abstract base class.

* CORDA-265: Document RPC "ALL" permission.

* CORDA-266: Update DemoBench to be compatible with 0.10-SNAPSHOT.

* CORDA-268: Reimplement to work on both JDK8 and JDK9 (for now).

* CORDA-268: Copy java from $JAVA_HOME/bin as this also works on JDK > 8.

* Code review fixes.

* Use SLF4J's version of the commons-logging bindings. Only include SLF4J's Log4J back-end for actual applications, e.g. Node. (#350)

* Update with SLF4J change.

* CORDA-266: Update to latest node.conf format.

* Upgrade to H2 1.4.194. (#389)

- Timezone related fixes.
- A Turkish case canonicalisation bug.
- Fixes for some scary threading related bugs.
2017-03-21 14:24:13 +00:00
Chris Rankin
c64ab4b7a5 Merged in demobench (pull request #23)
Saving & loading of Cordapps with DemoBench profiles.

* CORPRIV-664: Implement saving/loading of Cordapps with profiles.

* CORPRIV-664: Refactor saving/loading plugins.

* CORPRIV-664: Add initial unit tests for model.

* CORPRIV-664: Add simple unit tests for NodeController.

* CORPRIV-664: Unit test enhancements, e.g. configure JUL properly.

* CORPRIV-664: Use Suite instead of abstract test class.

* CORPRIV-664: Allow Cordapps to be loaded when each Node is configured.

* CORPRIV-664: Document which checked Java exceptions are thrown.

* Write JavaPackager output into build/javapackage directory.

* CORPRIV-664: Document more checked Java exceptions.

* Refactor Web and Explorer classes into their own packages.

* Declare WebServer and Explorer constructors as "internal".

* Update packaging scripts: tell user where the installer is!

* CORPRIV-659: Set "system menu bar" property for MacOSX.

* CORPRIV-661: Use "*.profile" for profile files.

* Remove unnecessary <children/> elements, as they are defaults.

* Fix build breakage when on Windows.

* Tweaks for EXE packaging script.

* Change function to extension function.

* Code review fixes.

Approved-by: Clinton Alexander
2017-03-13 13:31:38 +00:00
Chris Rankin
d394a30471 Merged in corpriv-702 (pull request #25)
CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Sign the DMG with a 'Mac Developer' certificate.

* CORPRIV-702: Use "Developer ID Application" certificate instead. And now JavaPackager signs the application, which means that we only need to resign our embedded JVM.

* CORPRIV-702: Update comment better to explain why JRE must be resigned.

Approved-by: Mike Hearn
2017-03-07 09:55:55 +00:00
Chris Rankin
c8ee88a2fb Replace companion object with a BiPredicate lambda. 2017-02-24 09:07:13 +00:00
Chris Rankin
34797c2735 More code review tweaks. 2017-02-23 17:42:19 +00:00
Chris Rankin
2664a2905c Code review tweaks. 2017-02-23 15:56:40 +00:00
Chris Rankin
396fc43f11 Fixes from code review. 2017-02-23 15:47:46 +00:00
Chris Rankin
a2bf7d4d84 Break textfield definitions out into separate functions. 2017-02-23 10:39:31 +00:00
Chris Rankin
5a13d0355d CORPRIV-661: Ensure that nodes loaded from a profile have the correct network map service. 2017-02-22 17:04:42 +00:00
Chris Rankin
963d015c4d Fixes from code review. 2017-02-22 16:30:25 +00:00
Chris Rankin
1a78ca240a Comment file copying vs file filtering during packaging. 2017-02-22 08:45:35 +00:00
Chris Rankin
9b2b3a31a0 Comment how JediTerm is not available via Maven. 2017-02-21 17:45:45 +00:00
Chris Rankin
f20cb1e74d Downgrade JDK requirement to 8u102, for consistency with capsules. 2017-02-21 16:43:58 +00:00
Chris Rankin
22d2244ce7 CORPRIV-659: Fix DMG installer. 2017-02-21 15:38:22 +00:00
Chris Rankin
faefae01e2 Fix terminal resizing. 2017-02-21 12:32:47 +00:00
Chris Rankin
d69d9c6fde CORPRIV-661: Ensure that we can rewrite saved profiles correctly. 2017-02-21 11:10:27 +00:00
Chris Rankin
8624537d34 CORPRIV-658: Add external manifest for DemoBench.exe that declares it incapable of native HiDPI support. 2017-02-21 10:40:32 +00:00
Chris Rankin
9023778b07 CORPRIV-658: I've wasted enough time on this - Windows rejects this BMP
as invalid, and I have no idea why!?
2017-02-21 09:40:06 +00:00
Chris Rankin
d3e46d97b9 CORPRIV-659: Tweak post-image script for DMG. 2017-02-20 21:49:06 +00:00
Chris Rankin
09d3fb423d CORPRIV-659: Update installer script and icons for DMG. 2017-02-20 17:52:17 +00:00
Chris Rankin
a695ff0140 CORRIV-658: Add icon for Windows installer. 2017-02-20 17:37:06 +00:00
Chris Rankin
31843bbac8 CORPRIV-661: Refactor code for guaranteeing a .zip extension. 2017-02-20 15:49:13 +00:00
Chris Rankin
0f73b68d39 CORPRIV-661: Implement saving profiles. 2017-02-20 15:25:02 +00:00
Chris Rankin
ddd8d6a513 Upgrade to TornadoFX 1.6.2. 2017-02-20 09:13:02 +00:00
Chris Rankin
38e57d6342 CORPRIV-661: Allow profiles to be loaded into DemoBench. 2017-02-14 17:14:54 +00:00
Chris Rankin
8621d47e09 CORPRIV-660: Display Web server's port number on launch button. 2017-02-13 15:13:47 +00:00
Chris Rankin
94747dcddf Switch from Runtime.exec() to ProcessBuilder. 2017-02-13 12:27:06 +00:00
Chris Rankin
166cbbf2e5 Add utility function for creating SLF4J loggers, and close unused I/O streams from forked processes. 2017-02-13 10:39:11 +00:00
Chris Rankin
4960a472ef CORPRIV-659: Add bin/java to minimal JRE. 2017-02-13 08:54:19 +00:00
Chris Rankin
3895d34080 Use "safe" casting operator. 2017-02-12 13:52:09 +00:00
Chris Rankin
e42613bffe Document provenance of jediterm-terminal-2.5.jar. 2017-02-11 23:39:26 +00:00
Chris Rankin
1187564835 Tidy up gradle usage. 2017-02-11 22:27:55 +00:00
Chris Rankin
28d7170aca CORPRIV-660: Allow user to launch Web server for each node. 2017-02-10 16:38:41 +00:00
Chris Rankin
6b86ee415b Improve packaging information. 2017-02-10 13:44:59 +00:00
Chris Rankin
0a1632a0d5 CORPRIV-659: Add icon file for DMG package. 2017-02-10 12:25:28 +00:00
Chris Rankin
ab744f4159 CORPRIV-658: Add icon file for Windows installer. 2017-02-10 10:38:19 +00:00
Chris Rankin
dd8c1997a2 Replace R3 logo with Corda logo. 2017-02-10 10:37:35 +00:00
Chris Rankin
2aeac0df91 CORPRIV-658: Add gradle parameter "packageType" for javapackage task. 2017-02-10 09:45:33 +00:00
Chris Rankin
d6514f7524 Allow Node Explorer to be relaunched. 2017-02-10 09:27:38 +00:00
Chris Rankin
e966812105 Take java executable from JRE. 2017-02-09 23:26:47 +00:00
Chris Rankin
38fb84a96b Initial custom resource script for Windows bundle. 2017-02-09 18:22:32 +00:00
Chris Rankin
975bba0295 CORPRIV-665: Protect NodeTerminalView from being destroyed twice. 2017-02-09 17:14:49 +00:00
Chris Rankin
ccfbfde830 CORPRIV-665: Protect harder against NPE 2017-02-09 17:11:26 +00:00
Chris Rankin
6fd9399b20 CORPRIV-665: Protect against NPE 2017-02-09 16:45:23 +00:00
Chris Rankin
b29235e7cd CORPRIV-665: Ensure tab closes if the node exits. 2017-02-09 15:02:53 +00:00
Chris Rankin
6ae8a4da83 Display "0" balance for a node which has no cash balances at all. 2017-02-09 11:40:32 +00:00
Chris Rankin
050b2f0151 Make the javapackage task "more gradle" and "less ant". 2017-02-09 01:03:12 +00:00
Chris Rankin
675fa6f2a0 Upgrade to Logback 1.1.10 2017-02-08 23:28:52 +00:00
Chris Rankin
f9ae8f7a19 Move demobench.log into the user's demobench directory. 2017-02-08 23:10:47 +00:00
Chris Rankin
8946ef830e Ensure JavaPackager task finds custom resources on the classpath. 2017-02-08 23:09:48 +00:00
Chris Rankin
8b77068eb0 Initial javapackager task: currently builds RPMs. 2017-02-08 16:40:06 +00:00
Chris Rankin
d3cdb2af67 Force all chosen port numbers to be different. 2017-02-08 14:24:13 +00:00
Chris Rankin
f95b743426 Only allow the first node to run notary services. And validate port numbers more strongly. 2017-02-08 14:04:23 +00:00
Chris Rankin
c734fbf8bb Disable Node Explorer and Database Viewer buttons until the node has launched and is responding to RPC. 2017-02-08 12:16:35 +00:00
Chris Rankin
37aa486bd7 Ensure that Node Explorer can write into its working directory. 2017-02-07 20:18:56 +00:00
Chris Rankin
006fd98a51 Ensure a DemoBench installation is relocatable. 2017-02-07 19:38:25 +00:00
Chris Rankin
d57f7cd557 Simplify the configuration object. 2017-02-07 10:48:01 +00:00
Chris Rankin
7ea2dbdd77 Better usage of Paths vs File API. 2017-02-06 18:13:58 +00:00
Chris Rankin
455cdba5d9 Remove superfluous lamba parameter names. 2017-02-06 17:44:12 +00:00
Chris Rankin
ba5f4add18 Remove ".exe" from Java executable path, because Windows doesn't need it. 2017-02-06 17:10:52 +00:00
Chris Rankin
4e7c12453c More changes from review. 2017-02-06 15:25:28 +00:00
Chris Rankin
62d911a478 First batch of code review changes. 2017-02-06 14:54:48 +00:00
Chris Rankin
297a7e6208 Add SLF4J binding for Log4J 2.x 2017-02-04 22:36:42 +00:00
Chris Rankin
8b5fe3bbf0 Fix DemoBench distribution target. 2017-02-04 16:23:51 +00:00
Chris Rankin
a0749e29ef Initial inclusion of Corda and BankOfCorda JARs in distribution. 2017-02-03 17:30:30 +00:00
Chris Rankin
534e8a01a2 Grant permissions to the Node's user, and install BanfOfCorda plugin for cash issuers. 2017-02-03 10:04:44 +00:00
Chris Rankin
cd5dde70e0 Display simple statistics about the node on each tab. 2017-02-02 12:03:12 +00:00
Chris Rankin
6705c614a8 Fix SLF4J logging. 2017-02-01 10:21:04 +00:00
Chris Rankin
e99f21b78a Include issuer for CHF (Swiss Francs) 2017-02-01 10:03:01 +00:00
Chris Rankin
8c478ff7cc Simplify Kotlin objects. 2017-02-01 09:30:42 +00:00
Chris Rankin
30f9cc8fcd Implement launching "Node Explorer" for each node. 2017-01-31 17:36:15 +00:00
Chris Rankin
c787561141 Configure Node and DemoBench to use same version of H2 database. 2017-01-31 11:42:58 +00:00
Chris Rankin
fc300130de Add cash and issuer services to DemoBench. 2017-01-31 11:10:56 +00:00
Chris Rankin
d43cf05d0b Include native artifacts in distribution. 2017-01-31 10:20:16 +00:00
Chris Rankin
0bdd8c23b6 Allow services to be loaded as a resources as well as a file. 2017-01-31 09:47:54 +00:00
Chris Rankin
10061107df Small tidy-up. 2017-01-30 14:17:58 +00:00
Chris Rankin
02323e8207 Launch DB viewer for node. 2017-01-30 13:57:43 +00:00
Chris Rankin
5ee7930a16 Allow configuration of extra network services. 2017-01-27 16:25:49 +00:00
Chris Rankin
118d5eb48f legalName field can be val. 2017-01-27 12:03:25 +00:00
Chris Rankin
c65b1a4363 Fix logging location of corda.jar 2017-01-27 12:01:34 +00:00
Chris Rankin
73e8a73714 Trim node name and nearest city values. 2017-01-27 11:55:34 +00:00
Chris Rankin
c670ed6bdd The first node now becomes the session's Network Map service used by all other nodes. Force nodes to be created one-by-one. 2017-01-27 11:36:46 +00:00
Chris Rankin
6e38c4a95d Write configuration parameters into node.conf, and then run corda.jar in its own directory. 2017-01-26 18:02:53 +00:00
Chris Rankin
0b40d732d4 Patch JediTerm to allow the application to shutdown cleanly. 2017-01-26 13:24:46 +00:00
Chris Rankin
0cd2bddff2 Update to Corda 0.8-SNAPSHOT 2017-01-26 10:45:48 +00:00
Chris Rankin
cc1d3e0ccf Add initial form for configuring new nodes. 2017-01-26 09:55:45 +00:00
Chris Rankin
1bef874e27 Remove duplicate libpty native objects. 2017-01-24 14:25:04 +00:00
Chris Rankin
f2dd59ebd3 Refactor shutdown code, although AWT is still misbehaving. 2017-01-24 13:58:27 +00:00
Chris Rankin
55b5a5a393 Initial commit: Creating new tabs whenever the "Add Node" button is pressed. These tabs currently contain the bash shell only. 2017-01-24 09:42:13 +00:00
Mike Hearn
906dff1a35 Add basic spec for the demobench tool. 2017-01-18 15:14:02 +01:00