<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
                           
       default-init-method="initialize"
       default-destroy-method="destroy">

    <!--
    Condition to evaluate to determine if expiring password view should be displayed, false means to notify.
    
    The example uses a built-in class to evaluate an attribute containing a date/time of password expiration.
    The format pattern parses the value and the negative offset determines how soon to warn the user beforehand.
    -->
    <bean id="shibboleth.expiring-password.Condition" class="net.shibboleth.idp.profile.logic.DateAttributePredicate"
            c:attribute="passwordExpiration" c:formatString="yyyyMMddHHmmss'T'"
            p:resultIfMissing="true" p:offset="-P14D" />
    
    <!-- Name of cookie to track when user was last notified. -->
    <bean id="shibboleth.expiring-password.NotifyCookieName" class="java.lang.String" c:_0="shib_idp_exp_pwd" />

    <!-- Interval (milliseconds) between notifications, default is 8 hours. -->
    <bean id="shibboleth.expiring-password.NotifyInterval" class="java.lang.Long" c:_0="28800000" />
    
</beans>
