Skip to content

Commit

Permalink
Resolved merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Jun 13, 2018
2 parents 1b6b86c + 952134a commit 7b32bfd
Show file tree
Hide file tree
Showing 70 changed files with 1,337 additions and 621 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package edu.internet2.tier.shibboleth.admin.ui.service;

import com.google.common.base.Predicate
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributesFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.EntityAttributesFilterTarget
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityAttributesFilterTarget
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.EntityRoleWhiteListFilter

import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver

import edu.internet2.tier.shibboleth.admin.ui.opensaml.OpenSamlObjects
import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository
import groovy.util.logging.Slf4j
Expand All @@ -20,6 +23,7 @@ import org.opensaml.saml.saml2.core.Attribute
import org.opensaml.saml.saml2.metadata.EntityDescriptor

import org.springframework.beans.factory.annotation.Autowired

import org.w3c.dom.Document

@Slf4j
Expand All @@ -46,7 +50,7 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {

List<MetadataFilter> metadataFilters = new ArrayList<>()

for (edu.internet2.tier.shibboleth.admin.ui.domain.MetadataFilter metadataFilter : jpaMetadataResolver.getMetadataFilters()) {
for (edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter metadataFilter : jpaMetadataResolver.getMetadataFilters()) {
if (metadataFilter instanceof EntityAttributesFilter) {
EntityAttributesFilter entityAttributesFilter = (EntityAttributesFilter) metadataFilter

Expand Down Expand Up @@ -100,27 +104,9 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {
'xsi:type': 'RequiredValidUntil',
'maxValidityInterval': 'P14D'
)
MetadataFilter(
'xsi:type': 'EntityRoleWhiteList'
) {
RetainedRole('md:SPSSODescriptor')
}
//TODO: enhance
mr.metadataFilters.each { edu.internet2.tier.shibboleth.admin.ui.domain.MetadataFilter filter ->
if (filter instanceof EntityAttributesFilter) {
EntityAttributesFilter entityAttributesFilter = (EntityAttributesFilter) filter
MetadataFilter('xsi:type': 'EntityAttributes') {
// TODO: enhance. currently this does weird things with namespaces
entityAttributesFilter.attributes.each { attribute ->
mkp.yieldUnescaped(openSamlObjects.marshalToXmlString(attribute, false))
}
if (entityAttributesFilter.entityAttributesFilterTarget.entityAttributesFilterTargetType == EntityAttributesFilterTarget.EntityAttributesFilterTargetType.ENTITY) {
entityAttributesFilter.entityAttributesFilterTarget.value.each {
Entity(it)
}
}
}
}
mr.metadataFilters.each { edu.internet2.tier.shibboleth.admin.ui.domain.filters.MetadataFilter filter ->
constructXmlNodeForFilter(filter, delegate)
}
}
}
Expand All @@ -129,6 +115,33 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {
}
}


void constructXmlNodeForFilter(EntityAttributesFilter filter, def markupBuilderDelegate) {
markupBuilderDelegate.MetadataFilter('xsi:type': 'EntityAttributes') {
// TODO: enhance. currently this does weird things with namespaces
filter.attributes.each { attribute ->
mkp.yieldUnescaped(openSamlObjects.marshalToXmlString(attribute, false))
}
if (filter.entityAttributesFilterTarget.entityAttributesFilterTargetType == EntityAttributesFilterTarget
.EntityAttributesFilterTargetType.ENTITY) {
filter.entityAttributesFilterTarget.value.each {
Entity(it)
}
}
}
}

void constructXmlNodeForFilter(EntityRoleWhiteListFilter filter, def markupBuilderDelegate) {
markupBuilderDelegate.MetadataFilter(
'xsi:type': 'EntityRoleWhiteList',
'xmlns:md': 'urn:oasis:names:tc:SAML:2.0:metadata'
) {
filter.retainedRoles.each {
markupBuilderDelegate.RetainedRole(it)
}
}
}

void constructXmlNodeForResolver(FileBackedHttpMetadataResolver resolver, def markupBuilderDelegate, Closure childNodes) {
markupBuilderDelegate.MetadataProvider(id: resolver.name,
'xsi:type': 'FileBackedHTTPMetadataProvider',
Expand Down Expand Up @@ -169,5 +182,4 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {
childNodes()
}
}

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
package edu.internet2.tier.shibboleth.admin.ui;

import edu.internet2.tier.shibboleth.admin.ui.repository.MetadataResolverRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.event.ApplicationStartedEvent;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Profile;
import org.springframework.context.event.EventListener;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;

@SpringBootApplication
@EntityScan(basePackages = "edu.internet2.tier.shibboleth.admin.ui.domain")
Expand All @@ -23,4 +29,18 @@ public static void main(String... args) {
SpringApplication.run(ShibbolethUiApplication.class, args);
}

@Component
@Profile("dev")
public static class MetadataResolversResourceIdEmitter {

@Autowired
MetadataResolverRepository metadataResolverRepository;

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

}
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public MetadataResolverService metadataResolverService() {

@Bean
public AttributeUtility attributeUtility() {
return new AttributeUtility();
return new AttributeUtility(openSamlObjects());
}

@Autowired
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@ protected void processConditionalRetrievalHeaders(HttpResponse response) {
metadataResolver.initialize();
return metadataResolver;
}
}
}

This file was deleted.

Loading

0 comments on commit 7b32bfd

Please sign in to comment.