[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