aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/AttributeCollector.java20
1 files changed, 11 insertions, 9 deletions
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 810b4ae7a..2e9072f0d 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
@@ -55,16 +55,16 @@ public class AttributeCollector implements IAction {
// - no, how did we get here?
// yes, we got a recent requested attribute
// - find the attribute provider plugin that can handle the response
- PersonalAttribute newAttribute = null;
+ IPersonalAttributeList newAttributes = null;
for (AttributeProvider current : attributeProviders)
try {
- newAttribute = current.parse(httpReq);
+ newAttributes = current.parse(httpReq);
} catch (UnsupportedAttributeException e1) {
// the current provider cannot find anything familiar within the
// provided httpreq. Try the next one.
}
- if (null == newAttribute) {
+ if (null == newAttributes) {
// we do not have a provider which is capable of fetching something
// from the received httpreq.
// TODO should we continue with the next attribute?
@@ -83,7 +83,8 @@ public class AttributeCollector implements IAction {
}
// - insert the embedded attribute(s) into the container
- container.getResponse().getPersonalAttributeList().add(newAttribute);
+ for(PersonalAttribute current : newAttributes)
+ container.getResponse().getPersonalAttributeList().add(current);
// see if we need some more attributes
return processRequest(container, httpResp);
@@ -101,22 +102,23 @@ public class AttributeCollector implements IAction {
// check if there are attributes we need to fetch
IPersonalAttributeList requestAttributeList = container.getRequest().getPersonalAttributeList();
IPersonalAttributeList responseAttributeList = container.getResponse().getPersonalAttributeList();
- List<String> missingAttributes = new ArrayList<String>();
+ List<PersonalAttribute> missingAttributes = new ArrayList<PersonalAttribute>();
for(PersonalAttribute current : requestAttributeList)
if(!responseAttributeList.containsKey(current))
- missingAttributes.add(current.getName());
+ missingAttributes.add(current);
try {
// for each attribute still missing
- for(String currentAttribute : missingAttributes) {
+ for(PersonalAttribute currentAttribute : missingAttributes) {
// - check if we can find a suitable AttributeProvider Plugin
for(AttributeProvider currentProvider : attributeProviders) {
try {
// - hand over control to the suitable plugin
- PersonalAttribute aquiredAttribute = currentProvider.acquire(currentAttribute);
+ IPersonalAttributeList aquiredAttributes = currentProvider.acquire(currentAttribute);
// - add the aquired attribute to the container
- container.getResponse().getPersonalAttributeList().add(aquiredAttribute);
+ for(PersonalAttribute current : aquiredAttributes)
+ container.getResponse().getPersonalAttributeList().add(current);
} catch(UnsupportedAttributeException e) {
// ok, try the next attributeprovider
}