diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java index 2b1ddc6b5..52f1a50ac 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversController.java @@ -103,10 +103,11 @@ public ResponseEntity create(@RequestBody MetadataResolver newResolver) { } newResolver.convertFiltersFromTransientRepresentationIfNecessary(); - MetadataResolver persistedResolver = resolverRepository.save(newResolver); + resolverRepository.save(newResolver); + MetadataResolver persistedResolver = resolverRepository.findByResourceId(newResolver.getResourceId()); positionOrderContainerService.appendPositionOrderForNew(persistedResolver); - persistedResolver.updateVersion(); + persistedResolver.updateVersion(); persistedResolver.convertFiltersIntoTransientRepresentationIfNecessary(); return ResponseEntity.created(getResourceUriFor(persistedResolver)).body(persistedResolver); } @@ -131,12 +132,12 @@ public ResponseEntity update(@PathVariable String resourceId, @RequestBody Me updatedResolver.setAudId(existingResolver.getAudId()); - //If one needs to update filters, it should be dealt with via filters endpoints - updatedResolver.setMetadataFilters(existingResolver.getMetadataFilters()); + updatedResolver.convertFiltersFromTransientRepresentationIfNecessary(); + resolverRepository.save(updatedResolver); + MetadataResolver persistedResolver = resolverRepository.findByResourceId(updatedResolver.getResourceId()); - MetadataResolver persistedResolver = resolverRepository.save(updatedResolver); persistedResolver.updateVersion(); - + persistedResolver.convertFiltersFromTransientRepresentationIfNecessary(); return ResponseEntity.ok(persistedResolver); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java index 0208f92c4..a62ed9a24 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/filters/EntityAttributesFilter.java @@ -51,15 +51,12 @@ public EntityAttributesFilter() { @Transient private RelyingPartyOverridesRepresentation relyingPartyOverrides; - @PostLoad public void intoTransientRepresentation() { this.attributeRelease = getAttributeReleaseListFromAttributeList(this.attributes); this.relyingPartyOverrides = getRelyingPartyOverridesRepresentationFromAttributeList(attributes); updateVersion(); } - @PrePersist - @PreUpdate public void fromTransientRepresentation() { List attributeList = new ArrayList<>(); attributeList.addAll(getAttributeListFromAttributeReleaseList(this.attributeRelease));