package org.jboss.resteasy.security.doseta;

import org.jboss.resteasy.annotations.security.doseta.After;
import org.jboss.resteasy.annotations.security.doseta.Verifications;
import org.jboss.resteasy.annotations.security.doseta.Verify;

Author:Bill Burke
Version:$Revision: 1 $
/** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */
public class AbstractDigitalVerificationHeaderDecorator { protected Verify verify; protected Verifications verifications; public Verifier create() { // Currently we create verifier every time so that the verifications can hold state related to failures // todo create a VerifyResult object for each verification. Verifier verifier = new Verifier(); if (verify != null) { Verification v = createVerification(verify); verifier.getVerifications().add(v); } if (verifications != null) { for (Verify ver : verifications.value()) { Verification v = createVerification(ver); verifier.getVerifications().add(v); } } return verifier; } protected Verification createVerification(Verify v) { Verification verification = new Verification(); if (v.identifierName() != null && !v.identifierName().trim().equals("")) verification.setIdentifierName(v.identifierName()); if (v.identifierValue() != null && !v.identifierValue().trim().equals("")) verification.setIdentifierValue(v.identifierValue()); verification.setIgnoreExpiration(v.ignoreExpiration()); After staleAfter = v.stale(); if (staleAfter.seconds() > 0 || staleAfter.minutes() > 0 || staleAfter.hours() > 0 || staleAfter.days() > 0 || staleAfter.months() > 0 || staleAfter.years() > 0) { verification.setStaleCheck(true); verification.setStaleSeconds(staleAfter.seconds()); verification.setStaleMinutes(staleAfter.minutes()); verification.setStaleHours(staleAfter.hours()); verification.setStaleDays(staleAfter.days()); verification.setStaleMonths(staleAfter.months()); verification.setStaleYears(staleAfter.years()); } verification.setBodyHashRequired(v.bodyHashRequired()); return verification; } }