@@ -43,18 +43,22 @@ public interface AsyncProjectService {
43
43
* <p>
44
44
* The implementing class must also ensure to only return responses with classes implementing the
45
45
* {@link ProjectUpdateResponseBody} interface.
46
+ * <p>
47
+ * <b>Exceptions</b>
48
+ * <p>
49
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
50
+ * the throw section below.
46
51
*
47
52
* @param request the request to update a project
48
53
* @return a {@link Mono<ProjectUpdateResponse>} object publishing an
49
- * {@link ProjectUpdateResponse} on success.
54
+ * {@link ProjectUpdateResponse} on success. Exceptions are provided as
55
+ * {@link Mono#error(Throwable)}.
50
56
* @throws UnknownRequestException if an unknown request has been used in the service call
51
57
* @throws RequestFailedException if the request was not successfully executed
52
58
* @throws AccessDeniedException if the user has insufficient rights
53
59
* @since 1.9.0
54
60
*/
55
- Mono <ProjectUpdateResponse > update (
56
- ProjectUpdateRequest request )
57
- throws UnknownRequestException , RequestFailedException , AccessDeniedException ;
61
+ Mono <ProjectUpdateResponse > update (ProjectUpdateRequest request );
58
62
59
63
60
64
/**
@@ -68,27 +72,38 @@ Mono<ProjectUpdateResponse> update(
68
72
* <p>
69
73
* The implementing class must also ensure to only return responses with classes implementing the
70
74
* {@link ProjectUpdateResponseBody} interface.
75
+ * <p>
76
+ * <b>Exceptions</b>
77
+ * <p>
78
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
79
+ * the throw section below.
71
80
*
72
81
* @param request the request to update a project
73
82
* @return a {@link Mono<ProjectUpdateResponse>} object publishing an
74
- * {@link ProjectUpdateResponse} on success.
83
+ * {@link ProjectUpdateResponse} on success. Exceptions are provided as
84
+ * {@link Mono#error(Throwable)}.
75
85
* @throws UnknownRequestException if an unknown request has been used in the service call
76
86
* @throws RequestFailedException if the request was not successfully executed
77
87
* @throws AccessDeniedException if the user has insufficient rights
78
88
* @since 1.9.0
79
89
*/
80
- Mono <ExperimentUpdateResponse > update (ExperimentUpdateRequest request )
81
- throws RequestFailedException , AccessDeniedException ;
90
+ Mono <ExperimentUpdateResponse > update (ExperimentUpdateRequest request );
82
91
83
92
/**
84
93
* Submits a project creation request and returns a {@link Mono< ProjectCreationResponse >}
85
94
* immediately.
86
95
* <p>
87
96
* This implementation must be non-blocking.
97
+ * <p>
98
+ * <b>Exceptions</b>
99
+ * <p>
100
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
101
+ * the throw section below.
88
102
*
89
103
* @param request the request with information required for project creation.
90
104
* @return {@link Mono<ProjectCreationResponse>} object publishing an
91
- * {@link ProjectCreationResponse} on success.
105
+ * {@link ProjectCreationResponse} on success. Exceptions are provided as
106
+ * {@link Mono#error(Throwable)}.
92
107
* @throws UnknownRequestException if an unknown request has been used in the service call
93
108
* @throws RequestFailedException if the request was not successfully executed
94
109
* @throws AccessDeniedException if the user has insufficient rights
@@ -100,34 +115,54 @@ Mono<ProjectCreationResponse> create(ProjectCreationRequest request)
100
115
101
116
/**
102
117
* Requests {@link SamplePreview} for a given experiment.
118
+ * <p>
119
+ * <b>Exceptions</b>
120
+ * <p>
121
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
122
+ * the throw section below.
103
123
*
104
124
* @param projectId the project ID for the project to get the samples for
105
125
* @param experimentId the experiment ID for which the sample preview shall be retrieved
106
- * @return a reactive stream of {@link SamplePreview} objects of the experiment
126
+ * @return a reactive stream of {@link SamplePreview} objects of the experiment. Exceptions are
127
+ * provided as {@link Mono#error(Throwable)}.
107
128
* @throws RequestFailedException if the request could not be executed
108
129
* @since 1.10.0
109
130
*/
110
- Flux <SamplePreview > getSamplePreviews (String projectId , String experimentId ) throws RequestFailedException ;
131
+ Flux <SamplePreview > getSamplePreviews (String projectId , String experimentId )
132
+ throws RequestFailedException ;
111
133
112
134
/**
113
135
* Requests {@link SamplePreview} for a given experiment with pagination support.
136
+ * <p>
137
+ * <b>Exceptions</b>
138
+ * <p>
139
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
140
+ * the throw section below.
114
141
*
115
142
* @param projectId the project ID for the project to get the samples for
116
143
* @param experimentId the experiment ID for which the sample preview shall be retrieved
117
144
* @param offset the offset from 0 of all available previews the returned previews should
118
145
* start
119
146
* @param limit the maximum number of previews that should be returned
120
- * @return a reactive stream of {@link SamplePreview} objects in the experiment
147
+ * @return a reactive stream of {@link SamplePreview} objects in the experiment. Exceptions are
148
+ * provided as {@link Mono#error(Throwable)}.
121
149
* @since 1.10.0
122
150
*/
123
- Flux <SamplePreview > getSamplePreviews (String projectId , String experimentId , int offset , int limit );
151
+ Flux <SamplePreview > getSamplePreviews (String projectId , String experimentId , int offset ,
152
+ int limit );
124
153
125
154
/**
126
155
* Requests all {@link Sample} for a given experiment.
156
+ * <p>
157
+ * <b>Exceptions</b>
158
+ * <p>
159
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
160
+ * the throw section below.
127
161
*
128
162
* @param projectId the project ID for the project to get the samples for
129
163
* @param experimentId the experiment ID for which the samples shall be retrieved
130
- * @return a reactive stream of {@link Sample} objects
164
+ * @return a reactive stream of {@link Sample} objects. Exceptions are provided as
165
+ * {@link Mono#error(Throwable)}.
131
166
* @throws RequestFailedException in case the request cannot be executed
132
167
* @since 1.10.0
133
168
*/
@@ -136,20 +171,33 @@ Mono<ProjectCreationResponse> create(ProjectCreationRequest request)
136
171
/**
137
172
* Requests all {@link Sample} for a given batch
138
173
*
174
+ * <p>
175
+ * <b>Exceptions</b>
176
+ * <p>
177
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
178
+ * the throw section below.
179
+ *
139
180
* @param projectId the project ID for the project to get the samples for
140
181
* @param batchId the batch ID the samples shall be retrieved for
141
- * @return a reactive stream of {@link Sample} objects for the given batch
182
+ * @return a reactive stream of {@link Sample} objects for the given batch. Exceptions are
183
+ * provided as {@link Mono#error(Throwable)}.
142
184
* @throws RequestFailedException in case the request cannot be executed
143
185
* @since 1.10.0
144
186
*/
145
187
Flux <Sample > getSamplesForBatch (String projectId , String batchId ) throws RequestFailedException ;
146
188
147
189
/**
148
190
* Find the sample ID for a given sample code
191
+ * <p>
192
+ * <b>Exceptions</b>
193
+ * <p>
194
+ * Exceptions are wrapped as {@link Mono#error(Throwable)} and are one of the types described in
195
+ * the throw section below.
149
196
*
150
197
* @param projectId the project ID for the project to get the samples for
151
198
* @param sampleCode the sample code (e.g. Q2TEST001AE) for the project
152
- * @return a reactive container of {@link SampleIdCodeEntry} for the sample code
199
+ * @return a reactive container of {@link SampleIdCodeEntry} for the sample code. Exceptions are
200
+ * provided as {@link Mono#error(Throwable)}.
153
201
* @throws RequestFailedException in case the request cannot be executed
154
202
* @since 1.10.0
155
203
*/
@@ -278,10 +326,8 @@ record ExperimentalVariable(String name, Set<String> levels, @Nullable String un
278
326
* @param experimentalVariables the list of experimental variables
279
327
* @since 1.9.0
280
328
*/
281
- record ExperimentalVariables (
282
- List <ExperimentalVariable > experimentalVariables ) implements
283
- ExperimentUpdateRequestBody ,
284
- ExperimentUpdateResponseBody {
329
+ record ExperimentalVariables (List <ExperimentalVariable > experimentalVariables ) implements
330
+ ExperimentUpdateRequestBody , ExperimentUpdateResponseBody {
285
331
286
332
public ExperimentalVariables {
287
333
experimentalVariables = List .copyOf (experimentalVariables );
@@ -326,8 +372,7 @@ record ExperimentalGroup(@Nullable Long groupId, String name, int sampleSize,
326
372
* @since 1.9.0
327
373
*/
328
374
record ExperimentalGroups (List <ExperimentalGroup > experimentalGroups ) implements
329
- ExperimentUpdateRequestBody ,
330
- ExperimentUpdateResponseBody {
375
+ ExperimentUpdateRequestBody , ExperimentUpdateResponseBody {
331
376
332
377
public ExperimentalGroups {
333
378
experimentalGroups = List .copyOf (experimentalGroups );
@@ -384,8 +429,8 @@ record ConfoundingVariables(List<ConfoundingVariableInformation> confoundingVari
384
429
* @since 1.9.0
385
430
*/
386
431
record ExperimentUpdateRequest (String projectId , String experimentId ,
387
- ExperimentUpdateRequestBody body ,
388
- String requestId ) implements CacheableRequest {
432
+ ExperimentUpdateRequestBody body , String requestId ) implements
433
+ CacheableRequest {
389
434
390
435
/**
391
436
* A service request to update an experiment
@@ -487,8 +532,7 @@ record ProjectCreationResponse(String projectId) {
487
532
* @since 1.9.0
488
533
*/
489
534
record ProjectUpdateRequest (String projectId , ProjectUpdateRequestBody requestBody ,
490
- String id ) implements
491
- CacheableRequest {
535
+ String id ) implements CacheableRequest {
492
536
493
537
public ProjectUpdateRequest (String projectId , ProjectUpdateRequestBody requestBody ) {
494
538
this (projectId , requestBody , UUID .randomUUID ().toString ());
0 commit comments