Skip to content

Commit f7ff275

Browse files
committed
readme, softwarechecklist, version: 1.0.0-beta
1 parent b3b9c8c commit f7ff275

File tree

5 files changed

+35
-29
lines changed

5 files changed

+35
-29
lines changed

README.md

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,29 @@
88
## Java implementation of the FAIR Data Pipeline API
99

1010

11-
Documentation can be found on https://fairdatapipeline.github.io/
11+
Documentation can be found on https://fairdatapipeline.org/docs/API/Java/
1212

13+
JavaDocs are automatically published on https://fairdatapipeline.org/javaDataPipeline/
1314

14-
The main class for the FAIR Data Pipeline JAVA API is `Coderun`
15+
To use a release version (latest: 1.0.0-beta) include the following dependency (available from mavenCentral):
1516

16-
Users should initialise this library using a try-with-resources block or ensure that .close() is explicitly closed when the required file handles have been accessed.
17+
```gradle
18+
group: 'org.fairdatapipeline',
19+
name: 'api',
20+
version: '1.0.0-beta'
21+
```
1722

18-
## Usage example
23+
## javaSimpleModel
1924

20-
```
21-
try (var coderun = new Coderun(configPath, scriptPath)) {
22-
ImmutableSamples samples = ImmutableSamples.builder().addSamples(1, 2, 3).rng(rng).build();
23-
String dataProduct = "animal/dodo";
24-
String component1 = "example-samples-dodo1";
25-
Data_product_write dp = coderun.get_dp_for_write(dataProduct, "toml");
26-
Object_component_write oc1 = dp.getComponent(component1);
27-
oc1.raise_issue("something is terribly wrong with this component", 10);
28-
oc1.writeSamples(samples);
29-
}
30-
```
25+
Please have a look at https://github.com/FAIRDataPipeline/javaSimpleModel
26+
for a simple example on how to use the javaDataPipeline, including an example of the <a href="https://www.fairdatapipeline.org/docs/interface/config/">user written config.yaml</a>,
27+
and how to integrate it with the <a href="https://www.fairdatapipeline.org/docs/interface/fdp/">FAIR CLI</a> command line interface.
28+
29+
## What does it implement?
3130

31+
* It reads the *config.yaml* that is re-written by <a href="https://www.fairdatapipeline.org/docs/interface/fdp/">FAIR CLI</a> (not to be confused with the <a href="https://www.fairdatapipeline.org/docs/interface/config/">user written config.yaml</a>)
32+
* It registers a model Coderun session in the <a href="https://www.fairdatapipeline.org/docs/data_registry/">FAIR Data Registry</a>, including all the data inputs and/or outputs, from the model, and its code repository, its config.yaml, and its submission (startup) script.
33+
* It allows the Coderun session to raise Issues with Object_components, codeRepo, config file, and submission script, and these Issues are registered in the Data Registry.
34+
* It allows reading and writing of Data_products whose Object contains either 1 whole_object unnamed Object_component (for reading and writing 'external' whole-file file formats).
35+
* It allows reading and writing of Data_products containing a FAIR Data Pipeline (TOML) Parameter File.
36+
* It does not yet support HDF5 files.

api/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
}
88

99
group 'org.fairdatapipeline'
10-
version '1.0.0-alpha'
10+
version '1.0.0-beta'
1111

1212
repositories {
1313
mavenCentral()

dataregistry/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
}
88

99
group 'org.fairdatapipeline'
10-
version '1.0.0-alpha'
10+
version '1.0.0-beta'
1111

1212
java {
1313
sourceCompatibility = JavaVersion.VERSION_11
@@ -26,8 +26,9 @@ repositories {
2626

2727
dependencies {
2828
testImplementation(platform('org.junit:junit-bom:5.8.1'))
29-
testImplementation('org.junit.jupiter:junit-jupiter:5.8.1')
29+
testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
3030
testImplementation 'org.hamcrest:hamcrest:2.2'
31+
testImplementation 'org.mockito:mockito-core:3.12.4'
3132
implementation 'org.glassfish.jersey.core:jersey-client:3.0.3'
3233
implementation 'org.glassfish.jersey.inject:jersey-hk2:3.0.3'
3334
implementation 'org.glassfish.jersey:jersey-bom:3.0.3'
@@ -40,8 +41,7 @@ dependencies {
4041
implementation 'org.apache.commons:commons-lang3:3.12.0'
4142
implementation 'jakarta.activation:jakarta.activation-api:2.0.1'
4243
implementation 'org.slf4j:slf4j-api:1.7.32'
43-
implementation('org.slf4j:slf4j-simple:1.7.32')
44-
testImplementation 'org.mockito:mockito-core:3.12.4'
44+
implementation 'org.slf4j:slf4j-simple:1.7.32'
4545
}
4646

4747
spotless {

dataregistry/src/main/java/org/fairdatapipeline/dataregistry/oauth2token/OAuth2ClientTokenFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import jakarta.ws.rs.client.ClientRequestFilter;
77
import jakarta.ws.rs.core.HttpHeaders;
88

9-
/** */
9+
/** OAuth2 filter using 'Token' instead of 'Bearer' in the auth header. */
1010
@Priority(Priorities.AUTHENTICATION)
1111
class OAuth2ClientTokenFilter implements ClientRequestFilter {
1212

softwarechecklist.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ In order to use this checklist for the SCRC FAIR data pipeline components, three
1515
1616
### Date
1717

18-
> 04/10/2021
18+
> 10/10/2021
1919
2020
### Version identifier
2121

22-
> 0.0.3
22+
> 1.0.0-beta
2323
2424
## This assessment
2525

@@ -108,7 +108,7 @@ Additionally, for each question please explain the situation and include any rel
108108
> - [ ] Some work remaining or caveats
109109
> - [ ] Needs to be addressed
110110
>
111-
> JAVA compiler warnings have been addressed.
111+
> JAVA compiler warnings have been addressed. Spotless has been used to keep the code in tidy google java format.
112112
113113
### Is the code clean, generally understandable and readable and written according to good software engineering principles?
114114

@@ -117,10 +117,10 @@ Additionally, for each question please explain the situation and include any rel
117117
- Avoiding red flags such as very long functions, global variables, copy and pasted code, etc.?
118118

119119
> - [ ] Sufficiently addressed
120-
> - [ ] Some work remaining or caveats
120+
> - [x] Some work remaining or caveats
121121
> - [ ] Needs to be addressed
122122
>
123-
> This should be judged by someone else.
123+
> There are things that can be improved to make the code more easy to understand for developers or for users.
124124
125125
### Is there sufficient documentation?
126126

@@ -134,7 +134,8 @@ Additionally, for each question please explain the situation and include any rel
134134
> - [x] Some work remaining or caveats
135135
> - [ ] Needs to be addressed
136136
>
137-
> I'm still working on the documentation. There is a readme which I will improve.
137+
> There is a readme, there are javaDocs, there is user documentation, there is an example 'javaSimpleModel' to show how to use the
138+
> library. All of this can still be improved, as can the developer documentation.
138139
139140
### Is there suitable collaboration infrastructure?
140141

@@ -165,14 +166,14 @@ Additionally, for each question please explain the situation and include any rel
165166
> - [ ] Sufficiently addressed
166167
> - [ ] Some work remaining or caveats
167168
> - [ ] Needs to be addressed
168-
> - [ ] N/A
169+
> - [x] N/A
169170
>
170171
> Response here
171172
172173

173174
## Contributors and licence
174175

175-
Contributors:
176+
Contributors: [to the software checklist template]
176177
* Alys Brett
177178
* James Cook
178179
* Peter Fox

0 commit comments

Comments
 (0)