[java-identity-provider] 35/51: IDP-1397 Collapse DataConnectorEx back into DataConnector
Rod Widdowson
rdw at steadingsoftware.com
Wed Feb 6 08:43:06 EST 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=75125da18df343f9de0a758220a4cff4583095b2
commit 75125da18df343f9de0a758220a4cff4583095b2
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sun Jan 27 14:02:05 2019 +0000
IDP-1397 Collapse DataConnectorEx back into DataConnector
https://issues.shibboleth.net/jira/browse/IDP-1397
---
.../attribute/resolver/AbstractDataConnector.java | 2 +-
.../idp/attribute/resolver/DataConnector.java | 19 ++++++++--
.../idp/attribute/resolver/DataConnectorEx.java | 41 ----------------------
.../resolver/impl/AttributeResolverImpl.java | 28 +++++++--------
.../impl/AttributeResolverServiceGaugeSet.java | 23 ++++++------
.../net/shibboleth/idp/saml/impl/TestSources.java | 4 +--
6 files changed, 41 insertions(+), 76 deletions(-)
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
index f3b6ada..4ba2acd 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/AbstractDataConnector.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
/** Base class for data connector resolver plugins. */
@ThreadSafe
public abstract class AbstractDataConnector extends AbstractResolverPlugin<Map<String, IdPAttribute>> implements
- DataConnectorEx {
+ DataConnector {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(AbstractDataConnector.class);
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
index 70cd97c..e8e97d2 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnector.java
@@ -26,13 +26,26 @@ import net.shibboleth.idp.attribute.IdPAttribute;
/**
* Base class for data connector resolver plugins.
- *
- * This interface should be considered as deprecated, and {@link DataConnectorEx} should be used instead.
*/
- at ThreadSafe @Deprecated
+ at ThreadSafe
public interface DataConnector extends ResolverPlugin<Map<String, IdPAttribute>> {
/**
+ * Get how long to wait until we declare the connector (potentially) alive again.
+ *
+ * @return how long to wait.
+ */
+ long getNoRetryDelay();
+
+ /**
+ * Get the time when this connector last failed. This will be set for any exception regardless of the setting of
+ * {@link #isPropagateResolutionExceptions()}
+ *
+ * @return when it last failed
+ */
+ long getLastFail();
+
+ /**
* Gets the ID of the {@link DataConnector} whose values will be used in the event that this data connector
* experiences an error.
*
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnectorEx.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnectorEx.java
deleted file mode 100644
index 6319e83..0000000
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/DataConnectorEx.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver;
-
-import javax.annotation.concurrent.ThreadSafe;
-
-/** Base class for data connector resolver plugins. */
- at ThreadSafe
-public interface DataConnectorEx extends DataConnector {
-
- /**
- * Get how long to wait until we declare the connector (potentially) alive again.
- *
- * @return how long to wait.
- */
- long getNoRetryDelay();
-
- /**
- * Get the time when this connector last failed. This will be set for any exception regardless of the setting of
- * {@link #isPropagateResolutionExceptions()}
- *
- * @return when it last failed
- */
- long getLastFail();
-
-}
\ No newline at end of file
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
index 57bd840..85b0563 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImpl.java
@@ -46,7 +46,6 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
import net.shibboleth.idp.attribute.resolver.AttributeResolver;
import net.shibboleth.idp.attribute.resolver.DataConnector;
-import net.shibboleth.idp.attribute.resolver.DataConnectorEx;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.idp.attribute.resolver.ResolvedAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
@@ -351,21 +350,18 @@ public class AttributeResolverImpl extends AbstractServiceableComponent<Attribut
return;
}
- if (connector instanceof DataConnectorEx) {
- final DataConnectorEx connectorEx = (DataConnectorEx) connector;
- if (resolveTime < connectorEx.getLastFail() + connectorEx.getNoRetryDelay()) {
- log.debug("{} Data connector '{}' failed to resolve previously. Still waiting", logPrefix,
- connectorId);
- final String failoverDataConnectorId = connector.getFailoverDataConnectorId();
- if (null != failoverDataConnectorId) {
- log.debug("{} Data connector '{}' invoking failover data connector '{}'", logPrefix, connectorId,
- failoverDataConnectorId);
- resolveDataConnector(failoverDataConnectorId, resolutionContext);
- workContext.recordFailoverResolution(connector, dataConnectors.get(failoverDataConnectorId));
- return;
- } else {
- throw new ResolutionException("Previous resolve failed");
- }
+ if (resolveTime < connector.getLastFail() + connector.getNoRetryDelay()) {
+ log.debug("{} Data connector '{}' failed to resolve previously. Still waiting", logPrefix,
+ connectorId);
+ final String failoverDataConnectorId = connector.getFailoverDataConnectorId();
+ if (null != failoverDataConnectorId) {
+ log.debug("{} Data connector '{}' invoking failover data connector '{}'", logPrefix, connectorId,
+ failoverDataConnectorId);
+ resolveDataConnector(failoverDataConnectorId, resolutionContext);
+ workContext.recordFailoverResolution(connector, dataConnectors.get(failoverDataConnectorId));
+ return;
+ } else {
+ throw new ResolutionException("Previous resolve failed");
}
}
diff --git a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverServiceGaugeSet.java b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverServiceGaugeSet.java
index e708a62..1dc2497 100644
--- a/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverServiceGaugeSet.java
+++ b/idp-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverServiceGaugeSet.java
@@ -16,6 +16,13 @@
*/
package net.shibboleth.idp.attribute.resolver.impl;
+import java.util.Collection;
+import java.util.Map;
+
+import javax.annotation.Nonnull;
+
+import org.joda.time.DateTime;
+
import com.codahale.metrics.Gauge;
import com.codahale.metrics.MetricFilter;
import com.codahale.metrics.MetricRegistry;
@@ -25,20 +32,12 @@ import com.google.common.collect.ImmutableMap.Builder;
import net.shibboleth.idp.attribute.resolver.AttributeResolver;
import net.shibboleth.idp.attribute.resolver.DataConnector;
-import net.shibboleth.idp.attribute.resolver.DataConnectorEx;
import net.shibboleth.idp.metrics.ReloadableServiceGaugeSet;
import net.shibboleth.utilities.java.support.annotation.ParameterName;
import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-import java.util.Collection;
-import java.util.Map;
-
-import javax.annotation.Nonnull;
-
-import org.joda.time.DateTime;
-
/**
* Additional gauges for attribute resolver.
*/
@@ -67,11 +66,9 @@ public class AttributeResolverServiceGaugeSet extends ReloadableServiceGaugeSet
final Collection<DataConnector> connectors = resolver.getDataConnectors().values();
for (final DataConnector connector: connectors) {
- if (connector instanceof DataConnectorEx) {
- final long lastFail = ((DataConnectorEx) connector).getLastFail();
- if (lastFail > 0) {
- mapBuilder.put(connector.getId(), new DateTime(lastFail));
- }
+ final long lastFail = connector.getLastFail();
+ if (lastFail > 0) {
+ mapBuilder.put(connector.getId(), new DateTime(lastFail));
}
}
} finally {
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
index eb30d59..4b583be 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/TestSources.java
@@ -40,7 +40,7 @@ import net.shibboleth.idp.attribute.StringAttributeValue;
import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.DataConnectorEx;
+import net.shibboleth.idp.attribute.resolver.DataConnector;
import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
@@ -128,7 +128,7 @@ public final class TestSources {
* @return The connector
* @throws ComponentInitializationException if we cannot initialized (unlikely)
*/
- public static DataConnectorEx populatedStaticConnector() throws ComponentInitializationException {
+ public static DataConnector populatedStaticConnector() throws ComponentInitializationException {
IdPAttribute attr;
Set<IdPAttribute> attributeSet;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list