From 69a404a31f488e15ccb57db94b1c805719b1277f Mon Sep 17 00:00:00 2001 From: Dmitriy Kopylenko Date: Wed, 5 Jun 2019 12:07:06 -0400 Subject: [PATCH] WIP1 --- .../admin/ui/configuration/DevConfig.groovy | 4 +-- .../EntitiesVersioningConfiguration.java | 12 ++++--- .../EnversEntityDescriptorVersionService.java | 32 +++++++++++++++++++ 3 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionService.java diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy index 6f853e089..b49d5b858 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/configuration/DevConfig.groovy @@ -162,10 +162,10 @@ class DevConfig { }) } - @Profile('dev-ed-versioning') + /*@Profile('dev-ed-versioning') @Bean EntityDescriptorVersionService stubEntityDescriptorVersionService(EntityDescriptorService entityDescriptorService, EntityDescriptorRepository entityDescriptorRepository) { return EntityDescriptorVersionService.stubImpl(entityDescriptorService, entityDescriptorRepository) - } + }*/ } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/EntitiesVersioningConfiguration.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/EntitiesVersioningConfiguration.java index 5f1b64b46..75dfb5ded 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/EntitiesVersioningConfiguration.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/configuration/EntitiesVersioningConfiguration.java @@ -1,15 +1,17 @@ package edu.internet2.tier.shibboleth.admin.ui.configuration; -import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorService; import edu.internet2.tier.shibboleth.admin.ui.service.EntityDescriptorVersionService; +import edu.internet2.tier.shibboleth.admin.ui.service.EnversEntityDescriptorVersionService; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import javax.persistence.EntityManager; + @Configuration public class EntitiesVersioningConfiguration { - //@Bean - EntityDescriptorVersionService entityDescriptorVersionService(EntityDescriptorService entityDescriptorService) { - //TODO create real impl when available - return null; + @Bean + EntityDescriptorVersionService entityDescriptorVersionService(EntityManager entityManager) { + return new EnversEntityDescriptorVersionService(entityManager); } } diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionService.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionService.java new file mode 100644 index 000000000..c5cbabc27 --- /dev/null +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/service/EnversEntityDescriptorVersionService.java @@ -0,0 +1,32 @@ +package edu.internet2.tier.shibboleth.admin.ui.service; + +import edu.internet2.tier.shibboleth.admin.ui.domain.frontend.EntityDescriptorRepresentation; +import edu.internet2.tier.shibboleth.admin.ui.domain.versioning.Version; +import org.hibernate.envers.AuditReader; +import org.hibernate.envers.AuditReaderFactory; + +import javax.persistence.EntityManager; +import java.util.List; + +/** + * Hibernate Envers based implementation of {@link EntityDescriptorVersionService}. + */ +public class EnversEntityDescriptorVersionService implements EntityDescriptorVersionService { + + private AuditReader auditReader; + + public EnversEntityDescriptorVersionService(EntityManager em) { + + this.auditReader = AuditReaderFactory.get(em); + } + + @Override + public List findVersionsForEntityDescriptor(String resourceId) { + return null; + } + + @Override + public EntityDescriptorRepresentation findSpecificVersionOfEntityDescriptor(String resourceId, String versionId) { + return null; + } +}