[java-identity-provider COMMIT] in /branches/3.1/idp-attribute-resolver-impl/src: main/java/net/shibboleth/idp/attrib...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jun 17 09:39:38 EDT 2015


Author: rdw
Date: Wed Jun 17 09:39:38 2015
New Revision: 7569

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7569&view=rev
Log:
idp-703: Failover connectors aren't.

https://issues.shibboleth.net/jira/browse/IDP-703 Merge back variant of fix from mainline with not -api changes.  Include modified test.

Modified:
    branches/3.1/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
    branches/3.1/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java

Modified: branches/3.1/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
URL: http://svn.shibboleth.net/view/java-identity-provider/branches/3.1/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java?rev=7569&r1=7568&r2=7569&view=diff
==============================================================================
--- branches/3.1/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java	(original)
+++ branches/3.1/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java	Wed Jun 17 09:39:38 2015
@@ -38,6 +38,7 @@
 import net.shibboleth.idp.attribute.resolver.LegacyPrincipalDecoder;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolvedAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.ResolvedDataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolverPlugin;
 import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
@@ -315,7 +316,14 @@
                         + " connector '{}'.  Reason for failure:", logPrefix, connectorId,
                         failoverDataConnectorId, e);
                 resolveDataConnector(failoverDataConnectorId, resolutionContext);
-                return;
+                
+                final ResolvedDataConnector resolvedFailoverConector =
+                        workContext.getResolvedDataConnectors().get(failoverDataConnectorId);
+                if (null == resolvedFailoverConector) {
+                    throw new ResolutionException("The resolution of failover conector" + failoverDataConnectorId
+                            + " was not recorded");
+                }
+                resolvedAttributes = resolvedFailoverConector.getResolvedAttributes();
             } else {
                 // Pass it on. Do not look at propagateException because this is handled in the
                 // connector code logic.

Modified: branches/3.1/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/branches/3.1/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java?rev=7569&r1=7568&r2=7569&view=diff
==============================================================================
--- branches/3.1/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java	(original)
+++ branches/3.1/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java	Wed Jun 17 09:39:38 2015
@@ -27,6 +27,7 @@
 import javax.annotation.Nullable;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
@@ -37,6 +38,7 @@
 import net.shibboleth.idp.attribute.resolver.MockDataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
+import net.shibboleth.idp.attribute.resolver.ad.impl.SimpleAttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.utilities.java.support.collection.LazySet;
@@ -56,6 +58,7 @@
     @Test public void initDestroy() throws Exception {
         MockAttributeDefinition attrDef = new MockAttributeDefinition("foo", new IdPAttribute("test"));
         MockDataConnector dataCon = new MockDataConnector("bar", (Map) null);
+        dataCon.initialize();
         AttributeResolverImpl resolver =
                 new AttributeResolverImpl("toto", Collections.singleton((AttributeDefinition) attrDef),
                         Collections.singleton((DataConnector) dataCon), null);
@@ -235,6 +238,7 @@
     /** Test that resolve w/ dependencies returns the expected results. */
     @Test public void resolveWithDependencies() throws Exception {

[... 119 lines stripped ...]


More information about the commits mailing list