From b61cd31e0ac23a34146f813722360837a73e7932 Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Wed, 25 Jul 2018 16:05:28 -0400 Subject: [PATCH] SHIBUI-645: Implement REST API WIP --- ...adataResolversPositionOrderController.java | 22 +++++++++++++++++++ ...esolversPositionOrderContainerService.java | 13 ++++++++++- ...esolversPositionOrderContainerService.java | 2 +- 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversPositionOrderController.java diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversPositionOrderController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversPositionOrderController.java new file mode 100644 index 000000000..51680e753 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/MetadataResolversPositionOrderController.java @@ -0,0 +1,22 @@ +package edu.internet2.tier.shibboleth.admin.ui.controller; + + +import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.MetadataResolversPositionOrderContainer; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author Dmitriy Kopylenko + */ +@RestController +@RequestMapping("/api/MetadataResolversPositionOrder") +public class MetadataResolversPositionOrderController { + + @PostMapping + public ResponseEntity createOrUpdate(@RequestBody MetadataResolversPositionOrderContainer metadataResolversPositionOrderContainer) { + return ResponseEntity.ok().build(); + } +} diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/DefaultMetadataResolversPositionOrderContainerService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/DefaultMetadataResolversPositionOrderContainerService.java index 57fd8756c..4da7c4031 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/DefaultMetadataResolversPositionOrderContainerService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/DefaultMetadataResolversPositionOrderContainerService.java @@ -13,6 +13,11 @@ import static java.util.stream.Collectors.toList; +/** + * Default implementation of {@link MetadataResolversPositionOrderContainer}. + * + * @author Dmitriy Kopylenko + */ public class DefaultMetadataResolversPositionOrderContainerService implements MetadataResolversPositionOrderContainerService { private MetadataResolversPositionOrderContainerRepository positionOrderContainerRepository; @@ -27,7 +32,13 @@ public DefaultMetadataResolversPositionOrderContainerService(MetadataResolversPo @Override @Transactional - public void persistPositionOrderContainer(MetadataResolversPositionOrderContainer metadataResolversPositionOrderContainer) { + public void addOrUpdatePositionOrderContainer(MetadataResolversPositionOrderContainer metadataResolversPositionOrderContainer) { + MetadataResolversPositionOrderContainer existingPositionOrder = positionOrderContainerRepository.findAll().iterator().next(); + if (existingPositionOrder != null) { + existingPositionOrder.setResourceIds(metadataResolversPositionOrderContainer.getResourceIds()); + positionOrderContainerRepository.save(existingPositionOrder); + return; + } positionOrderContainerRepository.save(metadataResolversPositionOrderContainer); } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolversPositionOrderContainerService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolversPositionOrderContainerService.java index 0cf833559..1fc06ee81 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolversPositionOrderContainerService.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/MetadataResolversPositionOrderContainerService.java @@ -13,7 +13,7 @@ */ public interface MetadataResolversPositionOrderContainerService { - void persistPositionOrderContainer(MetadataResolversPositionOrderContainer metadataResolversPositionOrderContainer); + void addOrUpdatePositionOrderContainer(MetadataResolversPositionOrderContainer metadataResolversPositionOrderContainer); List getAllMetadataResolversInDefinedOrderOrUnordered(); }