From e9bbb948534d4aaf3e7efff95b4484d81242f819 Mon Sep 17 00:00:00 2001
From: Bojan Suzic <bojan.suzic@iaik.tugraz.at>
Date: Thu, 12 Jun 2014 19:19:59 +0200
Subject: stop over attributes which cannot be handled

---
 .../gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java  | 1 +
 .../stork2/attributeproviders/MandateAttributeRequestProvider.java  | 6 ++++++
 2 files changed, 7 insertions(+)

(limited to 'id/server/idserverlib/src')

diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
index 4ea32c602..8d56360b6 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
@@ -247,6 +247,7 @@ public class AttributeCollector implements IAction {
 				Logger.debug("...successful");
 
 				Logger.info(e.getAp().getClass().getSimpleName() + " is going to ask an external service provider for the requested attributes");
+
                 // add container-key to redirect embedded within the return URL
                 e.getAp().performRedirect(AuthConfigurationProvider.getInstance().getPublicURLPrefix() + "/stork2/ResumeAuthentication?" + ARTIFACT_ID + "=" + newArtifactId, request, response, oaParam);
 
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
index d08720f83..ba01de0fb 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/attributeproviders/MandateAttributeRequestProvider.java
@@ -86,6 +86,12 @@ public class MandateAttributeRequestProvider extends AttributeProvider {
             requestedAttributes.add(personalAttribute);
         }
 
+        // continue with other attribute providers if there are no attributes current provider is able to handle
+        if (requestedAttributes.size() == 0) {
+            Logger.info("Attribute(s) " + attributes.toString()  + " not supported by the provider: " + getAttrProviderName());
+            throw new UnsupportedAttributeException();
+        }
+
         Logger.info("Thrown external request by: " + getAttrProviderName());
         throw new ExternalAttributeRequestRequiredException(this);
     }
-- 
cgit v1.2.3