FIT-Co Java SDK
Project Setup Info
- Java 14 (LTS)
- Maven
- Junit 5
Build
To build the maven artifact, run: mvn clean install
To run all tests, run: mvn test
Modules
The SDk is set up as a maven multi module to separate the (internal) API properly from implementation details
API Module
The api module consists of all domain model classes and (api-) public interfaces needed to build an sdk-client
Client Module
Factories and Helper to create Sender and Subscriber. It acts as the actual user client.
Impl Module
Interface implementations
API Architecture
Structure
classDiagram
class CryptoService{
+ decryptString
+ decryptBytes
+ encryptString
+ encryptBytes
}
class CertificateValidator{
+ validatePublicKey
}
class MetadataValidator{
+ validateMetadataSchema
+ validateMetadataHashValues
}
class MetadataService{
+ createMetadata
}
class OAuthService{
+ authenticate
}
class Sender {
+ retrieveOAuthToken
+ validatePublicKey
+ encryptSubmissionData
+ encryptAttachment
+ MetadataService
+ createMetadata
}
class Subscriber {
+ retrieveOAuthToken
+ decryptSubmissionData
+ decryptAttachment
+ validateMetadataSchema
+ validateMetadataHashValues
}
class FitCoClient{
ClientFactory
}
FitCoClient ..> ClientFactory : Uses
ClientFactory ..> Sender : Creates
ClientFactory ..> Subscriber : Creates
Sender ..> CertificateValidator : Uses
Sender ..> MetadataService : Uses
Sender ..> OAuthService : Uses
Sender ..> CryptoService : Uses
Subscriber ..> OAuthService : Uses
Subscriber ..> CryptoService : Uses
Subscriber ..> MetadataValidator : Uses
Documentation
https://docs.fitko.de/fit-connect/docs/