private void processAlternative(List<Assertion> assertions, RecipientSignatureToken parent) { for (Assertion assertion : assertions) { if (assertion instanceof Token) { parent.setRecipientSignatureToken((Token) assertion); } } }
public Assertion build(Element element, AssertionBuilderFactory factory) throws IllegalArgumentException { SPConstants consts = SP11Constants.SP_NS.equals(element.getNamespaceURI()) ? SP11Constants.INSTANCE : SP12Constants.INSTANCE; RecipientSignatureToken recipientSignatureToken = new RecipientSignatureToken(consts, builder); recipientSignatureToken.setOptional(PolicyConstants.isOptional(element)); recipientSignatureToken.setIgnorable(PolicyConstants.isIgnorable(element)); Policy policy = builder.getPolicy(DOMUtils.getFirstElement(element)); policy = policy.normalize(builder.getPolicyRegistry(), false); for (Iterator<List<Assertion>> iterator = policy.getAlternatives(); iterator.hasNext(); ) { processAlternative(iterator.next(), recipientSignatureToken); break; // TODO process all the token that must be set .. } return recipientSignatureToken; }