32
32
import io .swagger .v3 .oas .annotations .enums .ParameterIn ;
33
33
import io .swagger .v3 .oas .annotations .security .SecurityRequirement ;
34
34
import io .swagger .v3 .oas .annotations .tags .Tag ;
35
+ import org .apache .commons .lang .StringUtils ;
35
36
import org .apache .commons .lang3 .tuple .Pair ;
36
37
import org .apache .http .entity .ContentType ;
37
38
import org .apache .log4j .Logger ;
@@ -156,10 +157,11 @@ public ResponseEntity addAssertionWithParams(
156
157
@ RequestParam (value = "assertionUuid" , required = false ) String assertionUuid ,
157
158
@ RequestParam (value = "relatedRecordId" , required = false ) String relatedRecordId ,
158
159
@ RequestParam (value = "relatedRecordReason" , required = false ) String relatedRecordReason ,
160
+ @ RequestParam (value = "updateId" , required = false ) String updateId ,
159
161
HttpServletRequest request ,
160
162
HttpServletResponse response ) throws Exception {
161
163
162
- return addAssertion (recordUuid , code , userId , userDisplayName , comment , userAssertionStatus , assertionUuid , relatedRecordId , relatedRecordReason , request , response );
164
+ return addAssertion (recordUuid , code , userId , userDisplayName , comment , userAssertionStatus , assertionUuid , relatedRecordId , relatedRecordReason , updateId , request , response );
163
165
}
164
166
165
167
/**
@@ -243,6 +245,7 @@ public ResponseEntity addAssertion(
243
245
@ RequestParam (value = "assertionUuid" , required = false ) String assertionUuid ,
244
246
@ RequestParam (value = "relatedRecordId" , required = false ) String relatedRecordId ,
245
247
@ RequestParam (value = "relatedRecordReason" , required = false ) String relatedRecordReason ,
248
+ @ RequestParam (value = "updateId" , required = false ) String updateId ,
246
249
HttpServletRequest request ,
247
250
HttpServletResponse response ) throws Exception {
248
251
@@ -251,17 +254,26 @@ public ResponseEntity addAssertion(
251
254
}
252
255
253
256
try {
254
- Optional <QualityAssertion > qa = assertionService .addAssertion (
255
- recordUuid , code , comment , userId , userDisplayName ,
256
- userAssertionStatus , assertionUuid , relatedRecordId , relatedRecordReason
257
- );
258
- if (qa .isPresent ()) {
259
-
260
- String server = request .getSession ().getServletContext ().getInitParameter ("serverName" );
261
- return ResponseEntity
262
- .created (new URI (server + "/occurrences/" + recordUuid + "/assertions/" + qa .get ().getUuid ()))
263
- .contentLength (0 )
264
- .build ();
257
+ // if the updateId is provided then we are editing an existing assertion
258
+ if (StringUtils .isEmpty (updateId )) {
259
+ // add the assertion
260
+ Optional <QualityAssertion > qa = assertionService .addAssertion (
261
+ recordUuid , code , comment , userId , userDisplayName ,
262
+ userAssertionStatus , assertionUuid , relatedRecordId , relatedRecordReason
263
+ );
264
+ if (qa .isPresent ()) {
265
+
266
+ String server = request .getSession ().getServletContext ().getInitParameter ("serverName" );
267
+ return ResponseEntity
268
+ .created (new URI (server + "/occurrences/" + recordUuid + "/assertions/" + qa .get ().getUuid ()))
269
+ .contentLength (0 )
270
+ .build ();
271
+ }
272
+ } else {
273
+ // update the assertion
274
+ if (assertionService .editAssertion (recordUuid , updateId , comment )) {
275
+ return ResponseEntity .ok ().contentLength (0 ).build ();
276
+ }
265
277
}
266
278
267
279
throw new ResponseStatusException (HttpStatus .BAD_REQUEST );
0 commit comments