A complete amqp schema can now be used to generate a set of carpetner
schemas representing all of the classes not found on the deserialzing
end.
A dependency and depdendent chain is setup such that all classes are
created in the order required
Squashed commit messages:
* IntelliJ reformat of the code
* Merge the interface synthesis changes and rebase onto the tip of master
Somethign is very broken in the AMQP -> Carpenter schema code but want a
commit so I at least know the actual carpenter is merged
* Nested schema creation now works with dependencies recursvly created in
the carpenter
* Unit test fixes
* Remove spurious prints from tests
* Remove warnings
* Don't add cladd member dep by name
Since that's the name of the field, not the type we depend on. If we do
we'll never actually be able to craft the type as the dependency chain
will be horribly broken
Various bug fixes
Unit tests that pull out the envelope from a deserialsed object (which
we have already serialised) then using the AMQP schema contained within
convert that to a carpenter schema and build an object
Currently testing only simple classes with a single type member
Squashed merge commits:
* Fix for the type issue in the SerializerFactory
Needs to pull in the actual Java types otherwise we use the Kotlin types
as the map keys which will never correspond to the java types that the
wrapper wraps around the primitive before doing a map lookup
Boolean just doesn't seem to work as pulling that in starts breaking
Kotlin and Character also seems broken. There is a fix for this also on
Rick's branch so pushing this in for now and can use his actual changes
when they're available on Master
* Better tests
* Add support for sub classes known to the JVM
* Initial work towards integrating serializer with the carpenter
Unit tests that pull out the envelope from a deserialsed object (which
we have already serialized) then using the AMQP schema contained within
convert that to a carpenter schema and build an object
Currently testing only simple classes with a single type member
* Update to use the new Vault API.
* Add a page specification for the Vault query.
* Query vault for all contract states, not just cash states.
Also only request one item per page from the vault because we're not interested in them anyway.
* The first VaultQuery page is now page 1.
Pass signature as null, not empty string, otherwise the class asm isn't
correct. Using javap at the command line prior to the fix yields
public class MyClass implements
net.corda.core.serialization.carpenter.SimpleFieldAccess {
protected final java.lang.Integer a;
descriptor: Ljava/lang/Integer;
public MyClass(java.lang.Integer);
descriptor: (Ljava/lang/Integer;)V
public java.lang.Integer getA();
descriptor: ()Ljava/lang/Integer;
public java.lang.Object get(java.lang.String);
descriptor:
(Ljava/lang/String;)Ljava/lang/Object;
Error: A serious internal error has occurred: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
* Switch to using anonymous party as recipient
* Enable anonymisation for issuance as well as move in issuer flows.
* Pass notary into issuer flow rather than taking a notary at random from the network map.
* Enable anonymisation in Bank of Corda RPC test
* Parameterize issuer flow tests into anonymous and deanonymised versions
* Fixed failing SmokeTest caused by incorrect default count filter.
* Fixed incorrect spend value for expected assertion.
* Remove deprecated test (unintentionally merged after rebase from master)
For testing I need to be able to mess with the schema before it gets
added to the envelope, extract the function where that happens and make
it open so the tests can do what they want
* Pagination improvements (fail-fast on too many results without pagination specification)
* Fix incorrectly returned results count.
* Performance optimisation: only return totalStatesAvailable count on Pagination specification.
* Changed DEFAULT_PAGE_NUMBER to 1 (eg. page numbering starts from 1)
* Changed MAX_PAGE_SIZE to Int.MAX_VALUE
* Fixed compiler WARNINGs in Unit tests.
* Fixed minimum page size check (1).
* Updated API-RST docs with behavioural notes.
* Updated documentation (RST and API);
Modify issuer flow test to verify the consumed/produced states, rather than just checking the transaction matches the value returned via the flow state machine. This is both a simpler and more relevant test.
If we dip down to zero subscribers, no future updates are streamed. This hasn't been seen historically, because the cash metrics observer is always present, but this will be moved out of node.
* Provide sorting by state reference (and individual constituents of: txId, index)
* Fixed formatting.
* Updated import following rebase from master.
* Updated import following rebase from master.