Skip to content

Commit

Permalink
1016 WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed Nov 27, 2018
1 parent b499bb9 commit 07ce413
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.google.common.base.Predicate
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.filters.NameIdFormatFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.RequiredValidUntilFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.filters.SignatureValidationFilter
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicHttpMetadataResolver
Expand All @@ -30,6 +31,9 @@ import org.w3c.dom.Document

import javax.annotation.Nonnull

import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter.FormatAndTarget.Type.CONDITION_REF
import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter.FormatAndTarget.Type.CONDITION_SCRIPT
import static edu.internet2.tier.shibboleth.admin.ui.domain.filters.NameIdFormatFilter.FormatAndTarget.Type.ENTITY
import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver.ResourceType.CLASSPATH
import static edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ResourceBackedMetadataResolver.ResourceType.SVN

Expand Down Expand Up @@ -220,6 +224,31 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService {
}
}

void constructXmlNodeForFilter(NameIdFormatFilter filter, def markupBuilderDelegate) {
markupBuilderDelegate.MetadataFilter(
'xsi:type': 'NameIDFormat',
'xmlns:md': 'urn:oasis:names:tc:SAML:2.0:metadata',
'removeExistingFormats': filter.removeExistingFormats ?: null
) {
filter.formats.each {
Format(it.format)
if(it.type == ENTITY) {
Entity(it.value)
}
else if(it.type == CONDITION_REF) {
ConditionRef(it.value)
}
else if(it.type == CONDITION_SCRIPT) {
ConditionScript() {
Script() {
mkp.yieldUnescaped("\n<![CDATA[\n${it.value}\n]]>\n")
}
}
}
}
}
}

void constructXmlNodeForResolver(FilesystemMetadataResolver resolver, def markupBuilderDelegate, Closure childNodes) {
markupBuilderDelegate.MetadataProvider(id: resolver.xmlId,
'xsi:type': 'FilesystemMetadataProvider',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public static class FormatAndTarget {
private String value;
private Type type;

private enum Type {
public enum Type {
ENTITY, CONDITION_REF, CONDITION_SCRIPT
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,6 @@ class FilterRepositoryTests extends Specification {

then:
persistedFilter.audId > 0L
persistedFilter.formats.size() == 4
persistedFilter.formats.size() == 4z
}
}

0 comments on commit 07ce413

Please sign in to comment.