26 Commits

Author SHA1 Message Date
Viktor Kolomeyko
4286065872 Eliminate explicit Kryo configuration to allow flexibility for AMQP 2017-08-17 12:01:27 +01:00
Chris Rankin
1672b4aa0a Simple deserialisation fixes. (#1243)
* Fix typo: prefered -> preferred
* Simplify KryoVerifierSerializationScheme and resolve warning.
* Add a custom serialiser for PrivacySeed so that we can avoid invoking RNG.
2017-08-17 11:15:04 +01:00
Katelyn Baker
49c23a58d1 Final changes integrating tests into the new API
Fix some rebase issues
Ensure tests are using the correct versions of the factories
2017-08-15 15:11:26 +01:00
Katelyn Baker
825908cf15 Refactoring changes to work with interface changes
Specifically we don't need the factory factory as that functionality
lives in the global defaults
2017-08-15 15:11:26 +01:00
Katelyn Baker
139eef2ccb Move AMQP serializer toward the new common abstract itnerface
Allow unique serializer factories to be created per unique set of
WhiteList / Class Loader pair. Remove default consruction of the
SerializerFactory to force use of the FactoryFactory to get the generic
factory and thus access to it's ClassLoader
2017-08-15 15:11:20 +01:00
Katelyn Baker
2d28cb01d5 Optimise by caching class when serialising
This removed the need to calculate anything on de-serialisation if using
the same factory
2017-08-14 17:35:36 +01:00
Rick Parker
2f08425c43 Refactor KryoAMQPSerializer to go through generic APIs to access AMQP serialization (#1225) 2017-08-14 17:24:04 +01:00
Rick Parker
31df43bd76 Some preparation work for AMQP serialization integration & a refactor fix (#1214) 2017-08-11 13:23:00 +01:00
Matthew Nesbit
af13371510 Move certificate builder code from core to node utilities.
Address PR comments

Fixup dead reference
2017-08-11 12:02:38 +01:00
Katelyn Baker
52aa145c91 Ensure deserialised obj isn't cached serialised version
if it is (it's not) then we wouldn't be testing the carpetner
2017-08-10 12:17:10 +01:00
Katelyn Baker
4d6230f22c Post rebase fixes
- Add missing import
- Deal with files that need to move from core to nodeapi.internal
- Fix up the imports
2017-08-09 16:39:28 +01:00
Katelyn Baker
1f9c04544d Make the carpenter a member of the serialiser factory
If it's not then the caroenter's class loader isn't persistent and thus
we will be constantly recarpenting objects
2017-08-09 15:25:17 +01:00
Katelyn Baker
45ed78b1a8 Serialiser / Synthesiser work and cleanup
- Adding test case that shows it should work
      AS it works with concrete classes, not if we carpent up the back end
    - WIP
    - The current test fails because the carpenter is creating the map (for
      some reason) as a linked hash map and not a normal map that we can't
      serialise. Added a test to confirm that it's not the carpenter here.

      Two questions really, why are we creating it as a linked has map, AFAIK
      the carpenter should just be whipping up what it's told to and it's not
      being given a linked map

      Secondly, should we support serialisation of these objects

    - Remove debug
    - Remove yet more debug
2017-08-09 15:09:59 +01:00
Katelyn Baker
92ba0c33e1 Adding more / better tests, splitting existing tests up
Squashed commit messages
    - Split up the serialiser/synthesiser tests into more manageable sizes
    - WIP - found test which breaks deserialiser
      Looks to be soemthign to do with synthesising a class with a container
      of Interfaces
2017-08-09 15:09:59 +01:00
Katelyn Baker
ae70d73e56 Synthesiser / Serializer integration working 2017-08-09 15:09:59 +01:00
Katelyn Baker
0541d128e4 Fixes for nullable Prim Types
Commit messages from Squashed Commits
    - Carpenter doesn't work with nullable prim types
    - Fix to get Cherry picks up to date with Master
2017-08-09 15:06:48 +01:00
Katelyn Baker
a5106d74a8 Integration of the serialiser and carpenter working
Tests added
2017-08-09 15:05:56 +01:00
Katelyn Baker
4cfa376d7d Add the carpenter into the deserializer
Deseializing any blob that contains a type unknown to the classloader
will cause a class object to be carpented up and a suitable object
returned
2017-08-09 15:04:50 +01:00
Rick Parker
28610868c4 Remove Kryo from core module completely, including gradle dependencies (#1161) 2017-08-09 14:53:46 +01:00
Shams Asari
195189070a Moved the Path extension methods that were in Utils.kt into the internal package 2017-07-17 16:01:19 +01:00
Patrick Kuo
7e8de79848 Legal name validation for X500Name (#983)
* * Legal name validation for X500Name while loading from config file.

* * Removed unintended changes.
2017-07-11 12:09:30 +01:00
Andrzej Cichocki
cefa14507a Retire HostAndPort (#962)
* Don't attempt to parse a resolved InetSocketAddress toString
* A mock node isn't reachable via an address
2017-07-07 15:11:07 +01:00
Andrzej Cichocki
d3bb040355 Refactoring related to BFT notary demo (#680)
* Fix: Add missing @StartableByRPC to fix the Raft notary demo
* Make loadConfig take a Config object, for cordformation Node
* Unduplicate User.toMap
* Unduplicate WHITESPACE regex, choose possessive form
* Use slash to make a Path
* Remove Companion where redundant
* Remove unused code
2017-05-16 11:30:50 +01:00
Ross Nicoll
25dbac0f07 Change party to hold an X.500 name
Change the legal name of parties to be an X500 name. This ensures that we aren't converting between
common names and X500 names in various places, eliminating substantial scope for error in the conversion
process. As a result, all node names must now be full X500 names, which has impact on most configurations.
2017-05-05 16:13:29 +01:00
Mike Hearn
eec8b9e4da Minor: auto-format of module: node-api, node-schemas 2017-04-11 15:53:05 +02:00
Shams Asari
c17fe29a62 Converted FullNodeConfiguration into a data class and added ability to parse Configs into data classes 2017-04-07 17:54:03 +01:00