* Improvements to Vault Query Service soft locked state querying (removed old mechanism from VaultService).
* Fixed rst document formatting.
* Added additional soft locking criteria mode: all unlocked plus those locked as specified by lockId(s).
* Addressed comments from PR feedback.
* WIP - Removed data Vending services, fixed all flow test
* * separated out extra data, extra data are sent after the SendTransactionFlow if required
* New SendProposalFlow for sending TradeProposal, which contains StateAndRef.
* WIP
* * removed TradeProposal interface.
* changed SendProposalFlow to SendStateAndRefFlow, same for receive side.
* fixup after rebase.
* * undo changes in .idea folder
* * remove unintended changes
* * Addressed PR issues
* * doc changes
* * addressed pr issues
* moved ResolveTransactionsFlow to internal
* changed FlowLogic<Unit> to FlowLogic<Void?> for java use case
* * addressed PR issues
* renamed DataVendingFlow in TestUtill to TestDataVendingFlow to avoid name confusion, and moved it to core/test
* * removed reference to ResolveTransactionsFlow
* Expose a JDBC connection (session) via the ServiceHub for generic JDBC usage.
* Updated documentation.
* Fix failing JUnit following rebase from master.
* JDBC session Tutorial WIP
* Fix broken JUnits following update to consumeCash() using observable event update as return.
* Fixed broken JUnits.
* Refactoring createSession() into new CordaPersistence class following rebase from master.
* Updated fully working example.
* Minor updates following feedback from MH.
* Fixed compiler error following rebase.
* Fixes following rebase from master.
* Further updates and clarifications to documentation.
* Updated all sample code to use new Vault Query service APIs.
* Fix broken Unit test.
* Added missing transaction boundary.
* Fix broken ScheduledFlow test (caused by assertion on non-ordered collection)
* Remove redundant negative test (as new Vault Query no longer returns iterators).
* Whitespace formatting fixed following PR review from SA.
* Force query to specify a PAGE SIZE equivalent to total states to be exited (RP review comment).
* Use single (and fail fast) instead of first - when only expecting a single result.
* Demonstrate paging and sorting; failfast on single expected result.
* Enhancement: added Sorting by CommonStateAttribute (StateRef txnId and index)
* Fix: incorrect total states count.
* Fixed incorrect total states counting.
* Remove redundant filter (UNCONSUMED).
* Updated tutorial code and associated documentation (building transactions).
* Updated all vaultAndUpdates to vault[Track|Query]By.
* Temporary disable failing Vault Query tests (awaiting pagination PR fix).
* Rebase from master to pick up pagination changes/fix.
* Fixed criteria filter on track.
* Cleanup redundant print output.
* Refactor to extract common function for Vault Query paging and sorting.
* Identified problem in SimmValuation demo failing test caused by query by single participant in participants list (not yet supported in VaultQuery criteria).
* Minor fixes following rebase from master.
* Minor updates following rebase.
* Removed redundant import.
* Fixed type casting error.
* Minor fixes following rebase from master.
* VQ Fix - applied in other PR.
* Removed duplication after rebase and minor fix to failing smoke test.
* Introduce new NotaryChangeWireTransaction (similar to WireTransaction and NotaryChangeTransaction (similar to LedgerTransaction) types.
Remove 'mustSign' and 'signers' fields from transactions
Deprecate the TransactionType concept. When receiving a SignedTransaction, the verification and signature checking branches out for regular and notary change transactions.
Add custom handling logic for notary change transactions to the vault
* Added new corda and cordaRuntime configurations for cordapps to be able to explicitly depend on Corda and exclude corda dependencies from the fatjar
* Added corda integration section to docsite to describe how to integrate with Corda.
* Updated more of the documentation to reflect the new method of specifying core corda dependencies.
* Reorganised document logic to move all build system related documentation to the cordapp build systems page.
* Renamed cordapp build systems doc to match actual purpose.
* Improved the warning for building against a net.corda dependency in a cordapp
* Added a line of dialogue to show further reading for those reading about writing cordapps.
Update to use LedgerTransaction api
Push query output logic onto BaseTransaction and update usages where possible
Migrate a few more uses
Address some PR comments
Address some PR comments
Fixup after rebase
Enable anonymisation in integration testing tutorial, and as a requirement fix a bug where the counterparty anonymous
identity was not registered by `TransactionKeyFlow`.
* 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);
* 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.
* Partial (ie. incomplete) implementation of Aggregate Functions.
* Completed implementation of Aggregate Functions (sum, count, max, min, avg) with optional grouping.
* Completed Java DSL and associated JUnit tests.
* Added optional sorting by aggregate function.
* Added Jvm filename annotation on QueryCriteriaUtils.
* Added documentation (API and RST with code samples).
* Incorporating feedback from MH - improved readability in structuring Java and/or queries.
* Remove redundant import.
* Removed redundant commas.
* Streamlined expression parsing (in doing so, remove the ugly try-catch raised by RP in PR review comments.)
* Added JvmStatic and JvmOverloads to Java DSL; removed duplicate Kotlin DSL functions using default params; changed varargs to lists due to ambiguity
* Fix missing imports after rebase from master.
* Fix errors following rebase from master.
* Updates on expression handling following feedback from RP.
* Fix https://github.com/corda/corda/issues/949 by providing a default StateStatus argument to all QueryCriteria types.
* Abstracted Common Criteria into its own abstract data class + associated visitor.
* Incorporating feedback from RP PR review.
* Ignoring and adding a TODO to a test that fails spuriously during CI.
* Ensure both parties are regsitered with network map in the integration test tutorial and update docs to reflect this best practice.
* Minor readability fix.
* Cordapps now contain all explicitly specified dependencies (and sub
dependencies).
* Removed some useless compile dependencies for trader demo.
* Dependent Cordapps are excluded from the build.
:Removed unnecessary dependencies of demos.
* Cleaned up exclusion rules for cordapp dependencies.
* Add functions for:
* Retrieving nodes via their legal identity
* Filtering a set of public keys down to those the node has corresponding private keys for
* Modify contract upgrade flows to handle identifying participants after an anomymisation step
* Correct terminology: "party who" -> "party which"
* Modify CashIssueFlow and CashPaymentFlow to optionally use an anonymous identity for the recipient.
* First stage of changing fields in NodeInfo.
Part of work related to NetworkMapService upgrade. Create slots for
multiple IP addresses and legalIdentities per node.
* NodeInfo stores HostAndPort.
Move information specific to messaging layer away from NodeInfo.
Only HostAndPort addresses are stored. Add peer name - peer handle
mapping to MockNetwork to reflect that change.
* Automatically persist Linear and/or FungibleState attributes for querying (even when Contract does not implement QueryableState).
* Return single() state.
Added Kotlin extension functions for ease of use in simplest case.
Added missing Java contractType class (previously was forced cast of ContractState::class)
Fixed generic typing.
Addressed items raised in SA PR review.
Removed 2 blank lines.
Fixed generics typing.
Updates RST doc and grouped API helpers accordingly.
* Vault Query Service API implementation using JPA Hibernate
Added queryBy(QueryCriteria) Vault API and Junit tests.
Minor cosmetic API changes following rebase.
Fixes following rebase from master
Upgraded to requery 1.3.1
WIP - removed 'latestOnly' from LinearStateQueryCriteria
WIP - CommercialSchemas V2, V3, V4 testing
WIP - sort out generics handling.
WIP - most general queries completed.
WIP - join queries, contractStateType derivation
WIP - refactoring Requery
WIP - refactored VaultService to extract a VaultQueryService interface (and associated Requery implementation).
WIP - HibernateVaultQuery implementation
WIP - Re-structured all Schema definitions (requery/jpa) and make Hibernate Config reusable.
WIP - Multi-version schema testing, hibernate query testing.
WIP - Custom Criteria and Fungible Criteria impl & testing.
WIP - Kotlin Comparable Generics error
WIP - Party queries all working now
WIP - All VaultQueryTests now working (refactored for AND / OR composition)
WIP - added schema registration in CordaPluginRegistry to enable custom vault queries on arbitrary schemas.
WIP - added new default Sort NULL order to be NONE + added lots more tests for Logical Operator testing.
Mostly identity fixes following rebase from master.
Exception handling and public API cleanup in prep for PR.
Additional tests for Logical Operators; additional tests for NULLS sort ordering; additional logging;
Additional parser to handle Nullable attribute values; added Unary and Collection logical expression handlers
Lots of cleanup: participants; trackBy interfaces; additional fungible tests; parser cleanup and improved support for Java
Removed all traces of Requery implementation.
Further minor cleanup and Junit test fix.
Final identity and schema related identity clean-up.
Revert unrelated changes.
PR review updates: blank lines, isRelevant.
Fixed wiring of updatesPublisher for dynamic trackBy queries.
PR review changes: multi-versioned schema samples and associated dummy contracts moved to test packages.
Fixed problem with sorted queries (not specifying any filterable criteria).
PR review: minor updates to address RP comments.
Typesafe custom query criteria
Cleanup: remove redundant tests.
Further clean-up and make all Java test work successfully.
Remove debugging print statements.
Rebased from master - changes required due to DealState module change.
fixed broken assertion caused by DealState ordering change (different package)
Fixed transaction demarcation issue causing "java.lang.IllegalStateException: Was not expecting to find existing database transaction on current strand"
trackBy() now filters on ContractType and StateStatus (CONSUMED, UNCONSUMED, ALL)
Added tests to exercise RPCOps trackBy and queryBy (RPC smoke test and CordaRPCOps)
Added additional @CordaSerializable annotations.
Updated documentation and referenced sample code.
Added deprecation annotations.
Re-added missing deprecation annotation.
Hibernate debug logging is now configurable and disabled by default.
Introduced common Sort attributes based on the node schemas.
Completely removed NULL_HANDLING sort parameter as this is not supported in JPA.
Revisited and fixed usage of @CordaSerializable.
* Minor fix following rebase from master.
* Remove blank line as per RP PR feedback request.
* Minor Java documentation and example clean-up.
* Disable BFT Notary Service tests.
* Added throttling to the load test tool.
* Added stability test to the tool.
* Some refactoring to allow some configuration via vm option.
* updated doc.
* gradle now passes system parameter to load test.
* using Guava's RateLimiter instead of execute at fix rate.
Matching can be done with case insensitive substrings in the identity service, RPC and shell. In future cleverer matching should be possible, e.g. using Lucene or RDBMS free text search features.