package at.gv.egovernment.moa.id.configuration.data; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral; import at.gv.egovernment.moa.id.commons.db.dao.config.CPEPS; import at.gv.egovernment.moa.id.commons.db.dao.config.ForeignIdentities; import at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration; import at.gv.egovernment.moa.id.commons.db.dao.config.RequestedAttributesType; import at.gv.egovernment.moa.id.commons.db.dao.config.STORK; public class GeneralStorkConfig { private List cpepslist; private List attributes; private int qaa; public void parse(MOAIDConfiguration config) { if (config != null) { AuthComponentGeneral auth = config.getAuthComponentGeneral(); if (auth != null) { ForeignIdentities foreign = auth.getForeignIdentities(); if (foreign != null) { STORK stork = foreign.getSTORK(); if (stork != null) { // deep clone to foreclose lazyloading session timeouts cpepslist = new ArrayList(); for(CPEPS current : stork.getCPEPS()) { cpepslist.add(current); } RequestedAttributesType tmp = stork.getRequestedAttributes(); if(null != tmp) { attributes = new ArrayList(); for(String current : tmp.getAttributeValue()) attributes.add(current); } try { qaa = stork.getQualityAuthenticationAssuranceLevel(); } catch(NullPointerException e) { qaa = 4; } } } } } } public List getCpepslist() { return cpepslist; } public void setCpepslist(List list) { cpepslist = list; } public RequestedAttributesType getRequestedAttributesType() { RequestedAttributesType tmp = new RequestedAttributesType(); tmp.setAttributeValue(attributes); return tmp; } public String getDefaultAttributes() { return Arrays.toString(attributes.toArray()).replace("[", "").replace("]", ""); } public void setDefaultAttributes(String attributes) { this.attributes = new ArrayList(); for(String current : attributes.split(",")) this.attributes.add(current.trim()); } public int getDefaultQaa() { return qaa; } public void setDefaultQaa(int qaa) { this.qaa = qaa; } }