[java-identity-provider] 03/05: IDP-1181 failFast becomes failFastInitialize for all data connectors
Rod Widdowson
rdw at steadingsoftware.com
Thu Sep 26 10:43:02 EDT 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=e233c0d3a2a925c17e3940f47c49153a57a29938
commit e233c0d3a2a925c17e3940f47c49153a57a29938
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Sep 25 16:28:16 2019 +0100
IDP-1181 failFast becomes failFastInitialize for all data connectors
https://issues.shibboleth.net/jira/browse/IDP-1181
This is a change on not shipped code, so no deprecation needed.
---
.../resolver/dc/impl/AbstractSearchDataConnector.java | 16 ++++++++--------
.../resolver/dc/ldap/impl/LDAPDataConnector.java | 4 ++--
.../resolver/dc/rdbms/impl/RDBMSDataConnector.java | 4 ++--
.../resolver/dc/ldap/impl/LDAPDataConnectorTest.java | 6 +++---
.../resolver/dc/rdbms/impl/RDBMSDataConnectorTest.java | 4 ++--
.../resolver/spring/dc/AbstractDataConnectorParser.java | 4 ++--
.../spring/dc/ldap/LDAPDataConnectorParserTest.java | 5 ++++-
.../spring/dc/rdbms/RDBMSDataConnectorParserTest.java | 4 ++++
.../ldap/resolver/ldap-attribute-resolver-v2-minimal.xml | 1 +
.../dc/ldap/resolver/ldap-attribute-resolver-v2.xml | 1 +
.../resolver/rdbms-attribute-resolver-v2-simple.xml | 1 +
.../dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml | 1 +
.../resources/schema/shibboleth-attribute-resolver.xsd | 13 +++++++------
13 files changed, 38 insertions(+), 26 deletions(-)
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/AbstractSearchDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/AbstractSearchDataConnector.java
index 644f852..fc66f70 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/AbstractSearchDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/impl/AbstractSearchDataConnector.java
@@ -68,8 +68,8 @@ public abstract class AbstractSearchDataConnector<T1 extends ExecutableSearch,T2
/** Query result cache. */
@Nullable private Cache<String,Map<String,IdPAttribute>> resultsCache;
- /** Does DataConnector fail fast.*/
- private boolean failFast;
+ /** Does DataConnector fail fast on Initialize.*/
+ private boolean failFastInitialize;
/**
* Gets the builder used to create executable searches.
@@ -223,16 +223,16 @@ public abstract class AbstractSearchDataConnector<T1 extends ExecutableSearch,T2
}
/** Does the data connector fails fast.
- * @return Returns whether the data connector fails fast.
+ * @return Returns whether the data connector fails fast (on initialize)
*/
- public boolean isFailFast() {
- return failFast;
+ public boolean isFailFastInitialize() {
+ return failFastInitialize;
}
- /** Whether the data connector fails fast.
+ /** Whether the data connector fails fast (on initialize).
* @param what what to set
*/
- public void setFailFast(final boolean what) {
- failFast = what;
+ public void setFailFastInitialize(final boolean what) {
+ failFastInitialize = what;
}
}
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
index 46b7a64..c48914b 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnector.java
@@ -139,7 +139,7 @@ public class LDAPDataConnector extends AbstractSearchDataConnector<ExecutableSea
validator.setConnectionFactory(connectionFactory);
super.setValidator(validator);
}
- getValidator().setThrowValidateError(isFailFast());
+ getValidator().setThrowValidateError(isFailFastInitialize());
if (defaultMappingStrategy) {
super.setMappingStrategy(new StringAttributeValueMappingStrategy());
}
@@ -149,7 +149,7 @@ public class LDAPDataConnector extends AbstractSearchDataConnector<ExecutableSea
getValidator().validate();
} catch (final ValidationException e) {
log.error("{} Invalid connector configuration", getLogPrefix(), e);
- if (isFailFast()) {
+ if (isFailFastInitialize()) {
// Should always follow this leg.
throw new ComponentInitializationException(getLogPrefix() + " Invalid connector configuration", e);
}
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
index 50ccefa..830c377 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnector.java
@@ -104,7 +104,7 @@ public class RDBMSDataConnector extends AbstractSearchDataConnector<ExecutableSt
if (defaultValidator) {
final DataSourceValidator validator = new DataSourceValidator();
validator.setDataSource(dataSource);
- validator.setThrowValidateError(isFailFast());
+ validator.setThrowValidateError(isFailFastInitialize());
validator.initialize();
super.setValidator(validator);
}
@@ -117,7 +117,7 @@ public class RDBMSDataConnector extends AbstractSearchDataConnector<ExecutableSt
getValidator().validate();
} catch (final ValidationException e) {
log.error("{} Invalid connector configuration", getLogPrefix(), e);
- if (isFailFast()) {
+ if (isFailFastInitialize()) {
throw new ComponentInitializationException(getLogPrefix() + " Invalid connector configuration", e);
}
}
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
index d1b22b3..5d43540 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/ldap/impl/LDAPDataConnectorTest.java
@@ -145,7 +145,7 @@ public class LDAPDataConnectorTest {
} catch (final ComponentInitializationException e) {
// OK
}
- connector.setFailFast(true);
+ connector.setFailFastInitialize(true);
final SearchExecutor searchExecutor = new SearchExecutor();
searchExecutor.setBaseDn(TEST_BASE_DN);
@@ -202,7 +202,7 @@ public class LDAPDataConnectorTest {
connector.setConnectionFactory(connectionFactory);
connector.setSearchExecutor(new SearchExecutor());
connector.setExecutableSearchBuilder(newParameterizedExecutableSearchFilterBuilder("(uid={principalName})"));
- connector.setFailFast(true);
+ connector.setFailFastInitialize(true);
try {
connector.initialize();
@@ -211,7 +211,7 @@ public class LDAPDataConnectorTest {
// OK
}
- connector.setFailFast(false);
+ connector.setFailFastInitialize(false);
connector.initialize();
}
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnectorTest.java
index ae09f3b..bd794b6 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RDBMSDataConnectorTest.java
@@ -140,7 +140,7 @@ public class RDBMSDataConnectorTest {
final ExecutableSearchBuilder<ExecutableStatement> statementBuilder = newFormatExecutableStatementBuilder(USER_QUERY);
connector.setExecutableSearchBuilder(statementBuilder);
- connector.setFailFast(true);
+ connector.setFailFastInitialize(true);
try {
connector.initialize();
fail("Invalid datasource");
@@ -178,7 +178,7 @@ public class RDBMSDataConnectorTest {
final ExecutableSearchBuilder<ExecutableStatement> statementBuilder = newFormatExecutableStatementBuilder(USER_QUERY);
connector.setExecutableSearchBuilder(statementBuilder);
connector.setDataSource(new JDBCDataSource());
- connector.setFailFast(true);
+ connector.setFailFastInitialize(true);
try {
connector.initialize();
fail("No failfast");
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
index d9874b7..7e6ab92 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/dc/AbstractDataConnectorParser.java
@@ -87,7 +87,7 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
/**
* Failfast LDAP, Realtional, Stored.
*/
- @Nonnull @NotEmpty public static final String ATTR_FAIL_FAST = "failFast";
+ @Nonnull @NotEmpty public static final String ATTR_FAIL_FAST = "failFastInitialize";
/** Failover data connector attribute name. */
@Nonnull public static final QName FAILOVER_DATA_CONNECTOR_ELEMENT_NAME = new QName(
@@ -159,7 +159,7 @@ public abstract class AbstractDataConnectorParser extends BaseResolverPluginPars
if (config.hasAttributeNS(null, ATTR_FAIL_FAST)) {
// LDAP, Relational & HTTP only, limited in the schema
- builder.addPropertyValue("failFast",
+ builder.addPropertyValue("failFastInitialize",
StringSupport.trimOrNull(config.getAttributeNS(null, ATTR_FAIL_FAST)));
}
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
index 1480986..c4c5aee 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/LDAPDataConnectorParserTest.java
@@ -138,6 +138,7 @@ public class LDAPDataConnectorParserTest {
final LDAPDataConnector dataConnector =
getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml"});
assertNotNull(dataConnector);
+ assertFalse(dataConnector.isFailFastInitialize());
doTest(dataConnector);
final StringAttributeValueMappingStrategy mappingStrategy =
(StringAttributeValueMappingStrategy) dataConnector.getMappingStrategy();
@@ -186,6 +187,7 @@ public class LDAPDataConnectorParserTest {
final LDAPDataConnector dataConnector =
getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal.xml"});
assertNotNull(dataConnector);
+ assertTrue(dataConnector.isFailFastInitialize());
assertEquals(Duration.ZERO, dataConnector.getNoRetryDelay());
final DefaultConnectionFactory connFactory = (DefaultConnectionFactory) dataConnector.getConnectionFactory();
assertNotNull(connFactory);
@@ -218,7 +220,7 @@ public class LDAPDataConnectorParserTest {
final ConnectionFactoryValidator validator = (ConnectionFactoryValidator) dataConnector.getValidator();
assertNotNull(validator);
- assertFalse(validator.isThrowValidateError());
+ assertTrue(validator.isThrowValidateError());
assertNotNull(validator.getConnectionFactory());
final ExecutableSearchBuilder<?> searchBuilder = dataConnector.getExecutableSearchBuilder();
@@ -244,6 +246,7 @@ public class LDAPDataConnectorParserTest {
final LDAPDataConnector dataConnector =
getLdapDataConnector(new String[] {"net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal-pool.xml"});
assertNotNull(dataConnector);
+ assertFalse(dataConnector.isFailFastInitialize());
assertEquals(Duration.ZERO, dataConnector.getNoRetryDelay());
final PooledConnectionFactory connFactory = (PooledConnectionFactory) dataConnector.getConnectionFactory();
assertNotNull(connFactory);
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
index 2442ffc..bce82e1 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/RDBMSDataConnectorParserTest.java
@@ -18,6 +18,7 @@
package net.shibboleth.idp.attribute.resolver.spring.dc.rdbms;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
@@ -98,6 +99,7 @@ public class RDBMSDataConnectorParserTest {
final RDBMSDataConnector dataConnector =
getRdbmsDataConnector("net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml");
assertNotNull(dataConnector);
+ assertTrue(dataConnector.isFailFastInitialize());
doTest(dataConnector);
final StringResultMappingStrategy mappingStrategy = (StringResultMappingStrategy) dataConnector.getMappingStrategy();
assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
@@ -109,6 +111,7 @@ public class RDBMSDataConnectorParserTest {
final RDBMSDataConnector dataConnector =
getRdbmsDataConnector("net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml");
assertNotNull(dataConnector);
+ assertFalse(dataConnector.isFailFastInitialize());
doTest(dataConnector);
final StringResultMappingStrategy mappingStrategy = (StringResultMappingStrategy) dataConnector.getMappingStrategy();
assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
@@ -122,6 +125,7 @@ public class RDBMSDataConnectorParserTest {
"net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-hybrid.xml",
"net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/rdbms-attribute-resolver-spring-context.xml");
assertNotNull(dataConnector);
+ assertFalse(dataConnector.isFailFastInitialize());
doTest(dataConnector);
final StringResultMappingStrategy mappingStrategy = (StringResultMappingStrategy) dataConnector.getMappingStrategy();
assertEquals(mappingStrategy.getResultRenamingMap().size(), 1);
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal.xml
index 90ca7a8..262537d 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2-minimal.xml
@@ -6,6 +6,7 @@
<DataConnector id="myLDAP" xsi:type="LDAPDirectory"
ldapURL="ldap://localhost:10389"
principal="cn=Directory Manager"
+ failFastInitialize="true"
principalCredential="password">
<FilterTemplate>
<![CDATA[
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
index e8af468..508ddfd 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/ldap/resolver/ldap-attribute-resolver-v2.xml
@@ -8,6 +8,7 @@
baseDN="ou=people,dc=shibboleth,dc=net"
principal="cn=Directory Manager"
principalCredential="password"
+ failFastInitialize="false"
useStartTLS="true"
searchTimeLimit="PT7S"
noResultIsError="true"
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml
index 3f9878e..664abf2 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2-simple.xml
@@ -5,6 +5,7 @@
<DataConnector id="myDatabase" xsi:type="RelationalDatabase"
noResultIsError="true"
+ failFastInitialize="true"
multipleResultsIsError="true"
readOnlyConnection="false"
noRetryDelay="PT5M">
diff --git a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
index 6ee5537..9376b1e 100644
--- a/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
+++ b/idp-attribute-resolver-spring/src/test/resources/net/shibboleth/idp/attribute/resolver/spring/dc/rdbms/resolver/rdbms-attribute-resolver-v2.xml
@@ -5,6 +5,7 @@
<DataConnector id="myDatabase" xsi:type="RelationalDatabase"
noResultIsError="true"
+ failFastInitialize="false"
multipleResultsIsError="true"
noRetryDelay="PT5M">
diff --git a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
index 0db683b..29773d8 100644
--- a/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
+++ b/idp-schema/src/main/resources/schema/shibboleth-attribute-resolver.xsd
@@ -981,10 +981,10 @@
</documentation>
</annotation>
</attribute>
- <attribute name="failFast" type="resolver:string">
+ <attribute name="failFastInitialize" type="resolver:string">
<annotation>
<documentation>
- Whether to fail if the store cannot be verified at startup (defaults to false).
+ Whether to fail if the LDAP server cannot be verified at startup (defaults to false).
</documentation>
</annotation>
</attribute>
@@ -1133,10 +1133,10 @@
</documentation>
</annotation>
</attribute>
- <attribute name="failFast" type="resolver:string">
+ <attribute name="failFastInitialize" type="resolver:string">
<annotation>
<documentation>
- Whether to fail if the store cannot be verified at startup (defaults to false).
+ Whether to fail if the DataConnector cannot be verified at startup (defaults to false).
</documentation>
</annotation>
</attribute>
@@ -1307,10 +1307,11 @@
</documentation>
</annotation>
</attribute>
- <attribute name="failFast" type="resolver:string">
+ <attribute name="failFastInitialize" type="resolver:string">
<annotation>
<documentation>
- Whether to fail if the store cannot be verified at startup (defaults to false).
+ Whether to fail if the HTTP server cannot be verified at startup (defaults to false).
+ No verification takes place currently.
</documentation>
</annotation>
</attribute>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list