Skip to content

Commit

Permalink
[SHIBUI-704]
Browse files Browse the repository at this point in the history
Added an event listener to attempt to reload filters at app startup.
WIP.
  • Loading branch information
Bill Smith committed Nov 28, 2018
1 parent df14d7e commit 1c70e77
Showing 1 changed file with 28 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package edu.internet2.tier.shibboleth.admin.ui;

import edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter;
import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository;
import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
Expand All @@ -16,6 +18,9 @@
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@SpringBootApplication
@ComponentScan(excludeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = "edu.internet2.tier.shibboleth.admin.ui.configuration.auto.*"))
Expand All @@ -42,9 +47,31 @@ public static class MetadataResolversResourceIdEmitter {
MetadataResolverRepository metadataResolverRepository;

@EventListener
void showMetadataResolversResourceIds(ApplicationStartedEvent e) {
public void showMetadataResolversResourceIds(ApplicationStartedEvent e) {
metadataResolverRepository.findAll()
.forEach(it -> System.out.println(String.format("MetadataResolver [%s: %s]", it.getName(), it.getResourceId())));
}
}

@Component
public static class MetadataResolverInitializingApplicationStartupListener {

@Autowired
MetadataResolverService metadataResolverService;

@Autowired
MetadataResolverRepository metadataResolverRepository;

@Transactional
@EventListener
public void initializeResolvers(ApplicationStartedEvent e) {
metadataResolverRepository.findAll()
.forEach(it -> {
System.out.println(String.format("Reloading filters for resolver [%s: %s]", it.getName(), it.getResourceId()));
// List<MetadataFilter> filters = it.getMetadataFilters();
// filters.forEach(System.out::println);
metadataResolverService.reloadFilters(it.getResourceId());
});
}
}
}

0 comments on commit 1c70e77

Please sign in to comment.