[java-identity-provider COMMIT] in /trunk: idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/res...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jul 31 23:48:57 EDT 2013


Author: dfisher
Date: Wed Jul 31 23:48:56 2013
New Revision: 4645

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4645&view=rev
Log:
Update TemplatedExecutableSearchFilterBuilder to include the attribute resolution context in the velocity context.
Expose a merge method to give subclasses access to the template.
Update the LdapDataConnectorParser to use the templated builder by default.
Leverage the V2SAMLProfileRequestContext when parsing v2 configs.

Modified:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java
    trunk/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParser.java
    trunk/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LdapDataConnectorParserTest.java
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-spring.xml
    trunk/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/ldap-attribute-resolver-v2.xml

Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java?rev=4645&r1=4644&r2=4645&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java (original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/TemplatedExecutableSearchFilterBuilder.java Wed Jul 31 23:48:56 2013
@@ -54,11 +54,25 @@
     /** {@inheritDoc} */
     public ExecutableSearchFilter build(@Nonnull final AttributeResolutionContext resolutionContext)
             throws ResolutionException {
-        final AttributeRecipientContext subContext = resolutionContext.getSubcontext(AttributeRecipientContext.class);
-        log.trace("Creating search filter using context {}", subContext);
         final VelocityContext context = new VelocityContext();
-        context.put("requestContext", subContext);
-        final SearchFilter searchFilter = new SearchFilter(template.merge(context));
+        log.trace("Creating search filter using attribute resolution context {}", resolutionContext);
+        context.put("resolutionContext", resolutionContext);
+        final AttributeRecipientContext recipientContext =
+                resolutionContext.getSubcontext(AttributeRecipientContext.class);
+        log.trace("Creating search filter using attribute recipient context {}", recipientContext);
+        context.put("recipientContext", recipientContext);
+        final SearchFilter searchFilter = new SearchFilter(merge(context));
         return super.build(searchFilter);
     }
+
+    /**
+     * Invokes {@link Template#merge(org.apache.velocity.context.Context)} on the supplied context.
+     * 
+     * @param context to merge
+     * 
+     * @return result of the merge operation
+     */
+    protected String merge(@Nonnull final VelocityContext context) {
+        return template.merge(context);
+    }
 }

Modified: trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java?rev=4645&r1=4644&r2=4645&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java (original)
+++ trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/dc/ldap/LdapDataConnectorTest.java Wed Jul 31 23:48:56 2013
@@ -23,7 +23,6 @@
 
 import javax.annotation.Nonnull;
 
-import org.apache.velocity.app.VelocityEngine;
 import org.ldaptive.ConnectionFactory;
 import org.ldaptive.DefaultConnectionFactory;
 import org.ldaptive.SearchExecutor;
@@ -52,6 +51,7 @@
 import net.shibboleth.utilities.java.support.component.UninitializedComponentException;
 import net.shibboleth.utilities.java.support.component.UnmodifiableComponentException;
 import net.shibboleth.utilities.java.support.velocity.Template;
+import net.shibboleth.utilities.java.support.velocity.VelocityEngine;
 
 /**
  * Tests for {@link LdapDataConnector}
@@ -92,26 +92,6 @@
      */
     @AfterTest public void teardownDirectoryServer() {
         directoryServer.shutDown(true);
-    }
-

[... 234 lines stripped ...]


More information about the commits mailing list