[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
Fri Dec 11 11:53:33 EST 2015


Author: rdw
Date: Fri Dec 11 11:53:33 2015
New Revision: 8027

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8027&view=rev
Log:
IDP-694 Deprecate the use of workContext in the Scripted Attribute Plugins

https://issues.shibboleth.net/jira/browse/IDP-694

As a historic accident this context got added to the scripting context for scripted attributes and data connectors.  It can provide no value to a script.  This checkin introduces a delegating object which does the work if needed, but which also logs its use as an error.  Only the specific methods that an AttributeResovlerWorkContext provides are logged, the rest are available, but probably even more pointless.

Added:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/DelegatedWorkContext.java   (with props)
    trunk/idp-attribute-resolver-impl/src/test/resources/data/net/shibboleth/idp/attribute/resolver/impl/ad/work.script   (with props)
Modified:
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeDefinition.java
    trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnector.java
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java

Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeDefinition.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeDefinition.java?rev=8027&r1=8026&r2=8027&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeDefinition.java	(original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeDefinition.java	Fri Dec 11 11:53:33 2015
@@ -215,7 +215,8 @@
 
         log.debug("{} adding contexts to script context", getLogPrefix());
         scriptContext.setAttribute("resolutionContext", resolutionContext, ScriptContext.ENGINE_SCOPE);
-        scriptContext.setAttribute("workContext", workContext, ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("workContext", new DelegatedWorkContext(workContext, getLogPrefix()),
+                ScriptContext.ENGINE_SCOPE);
         scriptContext.setAttribute("custom", getCustomObject(), ScriptContext.ENGINE_SCOPE);
         final ProfileRequestContext prc = prcLookupStrategy.apply(resolutionContext);
         if (null == prc) {

Modified: trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnector.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnector.java?rev=8027&r1=8026&r2=8027&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnector.java	(original)
+++ trunk/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/ScriptedDataConnector.java	Fri Dec 11 11:53:33 2015
@@ -37,6 +37,7 @@
 import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
 import net.shibboleth.idp.attribute.resolver.PluginDependencySupport;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.ad.impl.DelegatedWorkContext;
 import net.shibboleth.idp.attribute.resolver.ad.impl.ScriptedIdPAttributeImpl;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
@@ -158,7 +159,8 @@
 
         log.debug("{} adding current attribute resolution contexts to script context", getLogPrefix());
         scriptContext.setAttribute("resolutionContext", resolutionContext, ScriptContext.ENGINE_SCOPE);
-        scriptContext.setAttribute("workContext", workContext, ScriptContext.ENGINE_SCOPE);
+        scriptContext.setAttribute("workContext", new DelegatedWorkContext(workContext, getLogPrefix()),
+                ScriptContext.ENGINE_SCOPE);
         scriptContext.setAttribute("profileContext", prcLookupStrategy.apply(resolutionContext),
                 ScriptContext.ENGINE_SCOPE);
         scriptContext.setAttribute("custom", getCustomObject(), ScriptContext.ENGINE_SCOPE);

Modified: trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java?rev=8027&r1=8026&r2=8027&view=diff

[... 116 lines stripped ...]


More information about the commits mailing list