About the FIT-Connect Java SDK
The Java SDK for FIT-Connect enables to build clients for senders and subscribers without directly interacting with any REST-Endpoints. It provides a simple fluent API that guides through the creation and sending of a submission, as well as receiving submissions as a subscriber.
For further information, check out the official docs: FIT-Connect Documentation as well as the:
Build Dependencies
This section lists major frameworks/libraries used in the SDK.
- Java 11 (LTS)
- Maven 3.x
- Junit 5
Further 3rd party dependencies:
- Nimbus-Jose JWT
- Spring Web/HTTP
- Jackson FasterXMl
- JCommander
- Snakeyaml
Getting Started
How to set up the SDK project locally.
Prerequisites
- Java Runtime >= 11, check your current setup in your commandline
java --version
Modules
See the projects' module documentation for more specific information:
Setup
The following steps show how to get the SDK running
- Create and account on the self service portal
- Get your sender/subscriber API-key credentials
- Clone the sdk repo
git clone https://git.fitko.de/fit-connect/sdk-java
- Build the project
mvn clean install -DskipTests
- Enter your API keys and references to your private decryption key in
config.yml
External Configuration
Configuration properties e.g. for REST-API urls and proxy settings can be found in the YAML config config.yml
within the root folder of the project.
In order to run the SDK client a configuration needs to be provided as file in the same path as the jar (e.g. when the commandline client is used) or via reference using the environment variable CONFIG_LOCATION
(e.g. when the SDK is used programmatically).
Usage
Sending
List<File> attachments = ... // Load e.g from local file system
ClientFactory.senderClient()
.withDestination(UUID.randomUUID())
.withServiceType("ServiceName", "leika:key:service")
.withAttachments(attachments)
.withJsonData("{ caseSpecific: 'Data' }")
.submit();
Subscribing
var client = ClientFactory.subscriberClient();
var submissions = client.getAvailableSubmissions(destinationId);
var submissionId = ... // filter submission list for requested one ...
var submission = client.requestSubmission(submissionId)
submission.getAttachments();
submission.getMetadata();
submission.getData();
Roadmap
- Add Routing features
- Add Callback handling
See the open issues for a full list of proposed features (and known issues).
Contact
See FIT-Connect Contact Page for further information.