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

Commit 83a2005

Browse files
small fixes
1 parent 6bbd593 commit 83a2005

File tree

3 files changed

+29
-24
lines changed

3 files changed

+29
-24
lines changed

src/main/java/org/brapi/test/BrAPITestServer/model/entity/pheno/ObservationUnitPositionEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class ObservationUnitPositionEntity extends BrAPIBaseEntity {
2828
private ObservationUnitHierarchyLevelEnum levelName;
2929
@Column
3030
private Integer levelOrder;
31-
@OneToMany(mappedBy = "position")
31+
@OneToMany(mappedBy = "position", cascade = CascadeType.ALL)
3232
private List<ObservationUnitLevelRelationshipEntity> observationLevelRelationships;
3333
@Column
3434
private String positionCoordinateX;

src/main/java/org/brapi/test/BrAPITestServer/service/GeoJSONUtility.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,10 @@ public static GeoJSONEntity convertToEntity(GeoJSON geojson) {
2727
entity.setType(POLYGON);
2828
// Only handles single polygons, most plots are rectangles
2929
Polygon polygon = ((PolygonGeometry) geojson.getGeometry()).getCoordinates();
30-
if (polygon.size() == 1) {
31-
LinearRing ring = polygon.get(0);
32-
for (Position point : ring) {
33-
CoordinateEntity pointEntity = convertToEntiy(entity, point);
34-
entity.addCoordinate(pointEntity);
35-
}
30+
LinearRing ring = polygon.get(0);
31+
for (Position point : ring) {
32+
CoordinateEntity pointEntity = convertToEntiy(entity, point);
33+
entity.addCoordinate(pointEntity);
3634
}
3735
}
3836
return entity;

src/main/java/org/brapi/test/BrAPITestServer/service/pheno/ObservationUnitService.java

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
@Service
5252
public class ObservationUnitService {
5353
private final ObservationUnitRepository observationUnitRepository;
54+
5455
private final GermplasmService germplasmService;
5556
private final ObservationService observationService;
5657
private final StudyService studyService;
@@ -62,6 +63,7 @@ public ObservationUnitService(ObservationUnitRepository observationUnitRepositor
6263
ObservationService observationService, GermplasmService germplasmService, SeedLotService seedLotService,
6364
ObservationVariableService observationVariableService) {
6465
this.observationUnitRepository = observationUnitRepository;
66+
6567
this.studyService = studyService;
6668
this.germplasmService = germplasmService;
6769
this.observationService = observationService;
@@ -178,13 +180,13 @@ public List<ObservationUnit> findObservationUnits(@Valid ObservationUnitSearchRe
178180
Page<ObservationUnitEntity> page = observationUnitRepository.findAllBySearch(searchQuery, pageReq);
179181
List<ObservationUnit> observationUnits = page.map(this::convertFromEntity).getContent();
180182
PagingUtility.calculateMetaData(metadata, page);
181-
182-
if(!request.isIncludeObservations()) {
183-
for(ObservationUnit ou: observationUnits) {
183+
184+
if (!request.isIncludeObservations()) {
185+
for (ObservationUnit ou : observationUnits) {
184186
ou.setObservations(null);
185187
}
186188
}
187-
189+
188190
return observationUnits;
189191
}
190192

@@ -196,7 +198,8 @@ public ObservationUnitEntity getObservationUnitEntity(String observationUnitDbId
196198
return getObservationUnitEntity(observationUnitDbId, HttpStatus.BAD_REQUEST);
197199
}
198200

199-
public ObservationUnitEntity getObservationUnitEntity(String observationUnitDbId, HttpStatus errorStatus) throws BrAPIServerException {
201+
public ObservationUnitEntity getObservationUnitEntity(String observationUnitDbId, HttpStatus errorStatus)
202+
throws BrAPIServerException {
200203
ObservationUnitEntity observationUnit = null;
201204
Optional<ObservationUnitEntity> entityOpt = observationUnitRepository.findById(observationUnitDbId);
202205
if (entityOpt.isPresent()) {
@@ -243,7 +246,8 @@ public ObservationUnit updateObservationUnit(String observationUnitDbId, @Valid
243246

244247
savedEntity = observationUnitRepository.save(entity);
245248
} else {
246-
throw new BrAPIServerException(HttpStatus.NOT_FOUND, "observationUnitDbId not found: " + observationUnitDbId);
249+
throw new BrAPIServerException(HttpStatus.NOT_FOUND,
250+
"observationUnitDbId not found: " + observationUnitDbId);
247251
}
248252

249253
return convertFromEntity(savedEntity);
@@ -369,7 +373,10 @@ private ObservationUnitEntity updateEntity(ObservationUnitEntity entity, Observa
369373
if (unit.getObservationUnitPosition() != null) {
370374
if (entity.getPosition() == null)
371375
entity.setPosition(new ObservationUnitPositionEntity());
372-
updateEntity(entity.getPosition(), unit.getObservationUnitPosition());
376+
ObservationUnitPositionEntity position = entity.getPosition();
377+
updateEntity(position, unit.getObservationUnitPosition());
378+
position.setObservationUnit(entity);
379+
entity.setPosition(position);
373380
}
374381
if (unit.getSeedLotDbId() != null) {
375382
SeedLotEntity seedLot = seedLotService.getSeedLotEntity(unit.getSeedLotDbId());
@@ -383,7 +390,8 @@ private ObservationUnitEntity updateEntity(ObservationUnitEntity entity, Observa
383390
entity.setTreatments(unit.getTreatments().stream().map(t -> {
384391
TreatmentEntity e = new TreatmentEntity();
385392
e.setFactor(t.getFactor());
386-
e.setModality(t.getFactor());
393+
e.setModality(t.getModality());
394+
e.setObservationUnit(entity);
387395
return e;
388396
}).collect(Collectors.toList()));
389397

@@ -405,7 +413,14 @@ private void updateEntity(ObservationUnitPositionEntity entity, ObservationUnitP
405413
}
406414
if (position.getObservationLevelRelationships() != null)
407415
entity.setObservationLevelRelationships(position.getObservationLevelRelationships().stream()
408-
.map(this::convertToEntity).collect(Collectors.toList()));
416+
.map(level -> {
417+
ObservationUnitLevelRelationshipEntity relationshipEntity = new ObservationUnitLevelRelationshipEntity();
418+
relationshipEntity.setLevelCode(level.getLevelCode());
419+
relationshipEntity.setLevelName(level.getLevelName());
420+
relationshipEntity.setLevelOrder(level.getLevelOrder());
421+
relationshipEntity.setPosition(entity);
422+
return relationshipEntity;
423+
}).collect(Collectors.toList()));
409424
if (position.getPositionCoordinateX() != null)
410425
entity.setPositionCoordinateX(position.getPositionCoordinateX());
411426
if (position.getPositionCoordinateXType() != null)
@@ -416,14 +431,6 @@ private void updateEntity(ObservationUnitPositionEntity entity, ObservationUnitP
416431
entity.setPositionCoordinateYType(position.getPositionCoordinateYType());
417432
}
418433

419-
private ObservationUnitLevelRelationshipEntity convertToEntity(ObservationUnitLevelRelationship level) {
420-
ObservationUnitLevelRelationshipEntity entity = new ObservationUnitLevelRelationshipEntity();
421-
entity.setLevelCode(level.getLevelCode());
422-
entity.setLevelName(level.getLevelName());
423-
entity.setLevelOrder(level.getLevelOrder());
424-
return entity;
425-
}
426-
427434
private List<List<String>> buildDataMatrix(List<ObservationUnit> observationUnits,
428435
List<ObservationVariable> variables) {
429436
List<List<String>> data = new ArrayList<>();

0 commit comments

Comments
 (0)