From e23486cdddfb30c64af30f2ebde6ae568b481c08 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Wed, 22 Aug 2018 14:20:23 -0700 Subject: [PATCH] [SHIBUI-661] Added our own ScriptedPredicate with constructor. --- .../service/JPAMetadataResolverServiceImpl.groovy | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy index 65af645aa..f9b059ea7 100644 --- a/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy +++ b/backend/src/main/groovy/edu/internet2/tier/shibboleth/admin/ui/service/JPAMetadataResolverServiceImpl.groovy @@ -30,6 +30,8 @@ import org.opensaml.saml.saml2.metadata.EntityDescriptor import org.springframework.beans.factory.annotation.Autowired import org.w3c.dom.Document +import javax.annotation.Nonnull + 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 @@ -73,13 +75,12 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { (List) (List) entityAttributesFilter.getAttributes() ) break - //TODO JJ, which predicate is this? case EntityAttributesFilterTarget.EntityAttributesFilterTargetType.CONDITION_SCRIPT: - rules.put(new ScriptedPredicate(new EvaluableScript(entityAttributesFilter.entityAttributesFilterTarget.value[0])), + rules.put(new ScriptedPredicate(new EvaluableScript(entityAttributesFilter.entityAttributesFilterTarget.value[0])), (List) (List) entityAttributesFilter.getAttributes()) break case EntityAttributesFilterTarget.EntityAttributesFilterTargetType.REGEX: - rules.put(new ScriptedPredicate(new EvaluableScript(generateJavaScriptRegexScript(entityAttributesFilter.entityAttributesFilterTarget.value[0]))), + rules.put(new ScriptedPredicate(new EvaluableScript(generateJavaScriptRegexScript(entityAttributesFilter.entityAttributesFilterTarget.value[0]))), (List) (List) entityAttributesFilter.getAttributes()) break default: @@ -102,6 +103,12 @@ class JPAMetadataResolverServiceImpl implements MetadataResolverService { } } + private class ScriptedPredicate extends net.shibboleth.utilities.java.support.logic.ScriptedPredicate { + protected ScriptedPredicate(@Nonnull EvaluableScript theScript) { + super(theScript) + } + } + // TODO: enhance @Override Document generateConfiguration() {