Skip to content
This repository was archived by the owner on Aug 1, 2025. It is now read-only.

Commit 4802f13

Browse files
committed
Added support for hard deleting plate batches
1 parent cff1c29 commit 4802f13

File tree

4 files changed

+60
-2
lines changed

4 files changed

+60
-2
lines changed

src/main/java/io/swagger/model/core/BatchDeleteSearchRequest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fasterxml.jackson.annotation.JsonSubTypes;
55
import com.fasterxml.jackson.annotation.JsonTypeInfo;
66
import io.swagger.model.SearchRequest;
7+
import io.swagger.model.geno.PlateSearchRequest;
78
import io.swagger.model.geno.SampleSearchRequest;
89
import io.swagger.model.germ.GermplasmSearchRequest;
910

@@ -17,7 +18,8 @@ public class BatchDeleteSearchRequest extends SearchRequest {
1718
@JsonSubTypes.Type(value = GermplasmSearchRequest.class, name = "germplasm"),
1819
@JsonSubTypes.Type(value = ListSearchRequest.class, name = "lists"),
1920
@JsonSubTypes.Type(value = TrialSearchRequest.class, name = "trials"),
20-
@JsonSubTypes.Type(value = SampleSearchRequest.class, name = "samples")
21+
@JsonSubTypes.Type(value = SampleSearchRequest.class, name = "samples"),
22+
@JsonSubTypes.Type(value = PlateSearchRequest.class, name = "plates")
2123
})
2224
private SearchRequest searchRequest = null;
2325

src/main/java/io/swagger/model/core/BatchDeleteTypes.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ public enum BatchDeleteTypes {
1111
GERMPLASM("germplasm"),
1212
LISTS("lists"),
1313
TRIALS("trials"),
14-
SAMPLES("samples");
14+
SAMPLES("samples"),
15+
PLATES("plates");
1516

1617

1718
private final String value;
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package org.brapi.test.BrAPITestServer.factory.geno;
2+
3+
import io.swagger.model.Metadata;
4+
import io.swagger.model.core.BatchDeleteTypes;
5+
import io.swagger.model.geno.Plate;
6+
import io.swagger.model.geno.PlateSearchRequest;
7+
import org.apache.commons.lang3.NotImplementedException;
8+
import org.brapi.test.BrAPITestServer.factory.BrAPIComponent;
9+
import org.brapi.test.BrAPITestServer.service.geno.PlateService;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.stereotype.Component;
12+
13+
import java.util.List;
14+
import java.util.stream.Collectors;
15+
16+
@Component
17+
public class PlateComponent implements BrAPIComponent<Plate, PlateSearchRequest> {
18+
private final PlateService plateService;
19+
20+
@Autowired
21+
public PlateComponent(PlateService plateService) {
22+
this.plateService = plateService;
23+
}
24+
25+
@Override
26+
public List<Plate> findEntities(PlateSearchRequest request, Metadata metadata) {
27+
return plateService.findPlates(request, metadata);
28+
}
29+
30+
@Override
31+
public BatchDeleteTypes getBatchDeleteType() {
32+
return BatchDeleteTypes.PLATES;
33+
}
34+
35+
36+
@Override
37+
public List<String> collectDbIds(List<Plate> entities) {
38+
return entities.stream().map(Plate::getPlateDbId).collect(Collectors.toList());
39+
}
40+
41+
@Override
42+
public void deleteBatchDeleteData(List<String> dbIds) {
43+
plateService.deletePlateBatch(dbIds);
44+
}
45+
46+
@Override
47+
public void softDeleteBatchDeleteData(List<String> dbIds) {
48+
//TODO: implement if needed in future
49+
throw new NotImplementedException("plate softDeleteBatchDeleteData not implemented");
50+
}
51+
}

src/main/java/org/brapi/test/BrAPITestServer/service/geno/PlateService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,10 @@ public List<Plate> updatePlates(Map<String, PlateNewRequest> requests) throws Br
154154

155155
}
156156

157+
public void deletePlateBatch(List<String> plateDbIds) {
158+
plateRepository.deleteAllByIdInBatch(plateDbIds);
159+
}
160+
157161
private void updateEntity(PlateEntity entity, PlateNewRequest plate) throws BrAPIServerException {
158162
UpdateUtility.updateEntity(plate, entity);
159163
if (plate.getPlateName() != null) {

0 commit comments

Comments
 (0)