mirror of
https://github.com/corda/corda.git
synced 2024-12-19 13:08:04 +00:00
a2ede0fc73
* Removed Requery object relational mapping usage (and associated schemas including node-schemas module) * Fixed issues with NodeAttachmentService tests. Cannot use JPA custom converters with Primary Key fields. Hibernate entities require explicit call to flush() to persist to disk. * Removed redundant requery converters (equivalents not even required in Hibernate). * Removed remaining gradle requery dependency definitions. * Fixed broken tests. * Fixes for failing NodeVaultService tests: - Dynamic SQL updates (in soft locking code) - Explicit request by session to participate in transaction (causing "TransactionRequiredException" Executing an update/delete query) - Explicit flush() required to persist to disk * Updated changelog. Fixed compiler warning. * Fixed WHERE clause AND/OR condition. Enforced immediate data visibility through transaction commit. * Final fixes to address failing tests. * Deferred all hibernate session/txn management to DatabaseTransactionManager. * Fixed transaction boundaries in failing Cash tests. * Fixes to address failing tests (transaction boundaries, merge detached object, config clean-up). * Final adjustment to transaction boundaries in JUnit tests. * Refactored AttachmentSchemaV1 into NodeAttachmentService itself and referenced from NodeServicesV1. * Refactored HSQL UPDATE statements to use CriteriaUpdate API. * Updated all criteria API getters to reference attribute names by type. * Remove redundant VaultSchema entity name (required when previously using HSQL UPDATE syntax) * Fix compiler warnings. * Minor changes following rebase from master. * Fixed suppress warning type.
2.1 KiB
2.1 KiB
Corda repo layout
The Corda repository comprises the following folders:
- buildSrc contains necessary gradle plugins to build Corda
- client contains libraries for connecting to a node, working with it remotely and binding server-side data to JavaFX UI
- config contains logging configurations and the default node configuration file
- cordform-common contains utilities related to building and running nodes
- core containing the core Corda libraries such as crypto functions, types for Corda's building blocks: states, contracts, transactions, attachments, etc. and some interfaces for nodes and protocols
- docs contains the Corda docsite in restructured text format as well as the built docs in html. The docs can be accessed via
/docs/index.html
from the root of the repo - experimental contains platform improvements that are still in the experimental stage
- finance defines a range of elementary contracts (and associated schemas) and protocols, such as abstract fungible assets, cash, obligation and commercial paper
- gradle contains the gradle wrapper which you'll use to execute gradle commands
- gradle-plugins contains some additional plugins which we use to deploy Corda nodes
- lib contains some dependencies
- node contains the core code of the Corda node (eg: node driver, node services, messaging, persistence)
- node-api contains data structures shared between the node and the client module, e.g. types sent via RPC
- samples contains all our Corda demos and code samples
- test-utils contains some utilities for unit testing contracts ( the contracts testing DSL) and protocols (the mock network) implementation
- tools contains the explorer which is a GUI front-end for Corda, and also the DemoBench which is a GUI tool that allows you to run Corda nodes locally for demonstrations
- verifier allows out-of-node transaction verification, allowing verification to scale horizontally
- webserver is a servlet container for CorDapps that export HTTP endpoints. This server is an RPC client of the node