[java-shib-common COMMIT] in /branches/REL_1/src: main/java/edu/internet2/middleware/shibboleth/common/attribute/reso...

noreply at shibboleth.net noreply at shibboleth.net
Tue Oct 28 11:51:57 EDT 2014


Author: rdw
Date: Tue Oct 28 11:51:57 2014
New Revision: 1112

URL: http://svn.shibboleth.net/view/java-shib-common?rev=1112&view=rev
Log:
SIDP-622 Stop acreting attribute encoders

Modified:
    branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/common/attribute/resolver/provider/attributeDefinition/ScriptedAttributeDefinition.java
    branches/REL_1/src/test/java/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/ScriptedAttributeResolverTest.java
    branches/REL_1/src/test/resources/data/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/resolver-scripted.xml

Modified: branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/common/attribute/resolver/provider/attributeDefinition/ScriptedAttributeDefinition.java
URL: http://svn.shibboleth.net/view/java-shib-common/branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/common/attribute/resolver/provider/attributeDefinition/ScriptedAttributeDefinition.java?rev=1112&r1=1111&r2=1112&view=diff
==============================================================================
--- branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/common/attribute/resolver/provider/attributeDefinition/ScriptedAttributeDefinition.java (original)
+++ branches/REL_1/src/main/java/edu/internet2/middleware/shibboleth/common/attribute/resolver/provider/attributeDefinition/ScriptedAttributeDefinition.java Tue Oct 28 11:51:57 2014
@@ -30,8 +30,10 @@
 import org.opensaml.xml.util.DatatypeHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.tmatesoft.sqljet.core.internal.lang.SqlParser.insert_stmt_return;
 
 import edu.internet2.middleware.shibboleth.common.attribute.BaseAttribute;
+import edu.internet2.middleware.shibboleth.common.attribute.provider.BasicAttribute;
 import edu.internet2.middleware.shibboleth.common.attribute.resolver.AttributeResolutionException;
 import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.ResolutionPlugIn;
 import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.ShibbolethResolutionContext;
@@ -183,7 +185,12 @@
                     attributes = ((DataConnector) plugin).resolve(resolutionContext);
                     if (attributes != null) {
                         for (BaseAttribute attr : attributes.values()) {
-                            scriptContext.setAttribute(attr.getId(), attr, ScriptContext.ENGINE_SCOPE);
+                            if (attr instanceof BasicAttribute) {
+                                BasicAttribute basic = (BasicAttribute) attr;
+                                scriptContext.setAttribute(attr.getId(), basic.clone(), ScriptContext.ENGINE_SCOPE);
+                            } else {
+                                scriptContext.setAttribute(attr.getId(), attr, ScriptContext.ENGINE_SCOPE);
+                            }
                         }
                     }
                 } else if (plugin instanceof AttributeDefinition) {

Modified: branches/REL_1/src/test/java/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/ScriptedAttributeResolverTest.java
URL: http://svn.shibboleth.net/view/java-shib-common/branches/REL_1/src/test/java/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/ScriptedAttributeResolverTest.java?rev=1112&r1=1111&r2=1112&view=diff
==============================================================================
--- branches/REL_1/src/test/java/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/ScriptedAttributeResolverTest.java (original)
+++ branches/REL_1/src/test/java/edu/internet2/middleware/shibboleth/common/config/attribute/resolver/ScriptedAttributeResolverTest.java Tue Oct 28 11:51:57 2014
@@ -55,16 +55,35 @@
         final ApplicationContext ac = createSpringContext(new String[] {DATA_PATH + "/config/base-config.xml", configFile,});
         final AttributeResolver resolver = (AttributeResolver) ac.getBean("resolver-scripted");
 
-        final BaseSAMLProfileRequestContext context = new BaseSAMLProfileRequestContext();
+        BaseSAMLProfileRequestContext context = new BaseSAMLProfileRequestContext();
         context.setPrincipalName("ttrojan");
 
-        final Map<String, BaseAttribute> actual = resolver.resolveAttributes(context);
+        Map<String, BaseAttribute> actual = resolver.resolveAttributes(context);
         final String[] expectedValues = new String[] {"member", "parent", "staff"};
 
-        final BaseAttribute scripted = actual.get("scripted");
+        BaseAttribute scripted = actual.get("scripted");
         assertEquals(3, scripted.getValues().size());
-
+        assertEquals(1, scripted.getEncoders().size());
         assertEquals(expectedValues, scripted.getValues().toArray(expectedValues));
 
+        context = new BaseSAMLProfileRequestContext();
+        context.setPrincipalName("princ");
+        
+        actual = resolver.resolveAttributes(context);
+        scripted = actual.get("scripted");
+        assertEquals(3, scripted.getValues().size());

[... 47 lines stripped ...]


More information about the commits mailing list