// Path: spring-security-cas-extension/src/main/java/com/kakawait/spring/security/cas/client/validation/AssertionProvider.java
// public interface AssertionProvider {
// 
//     /**
//      * Retrieve current request {@link Assertion}.
//      * @return the current request {@link Assertion}.
//      */
//     @Nonnull
//     Assertion getAssertion();
// }


import com.kakawait.spring.security.cas.client.validation.AssertionProvider;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.validation.Assertion;
import org.springframework.util.Assert;
package com.kakawait.spring.security.cas.client.ticket;


/**
 * A standard implementation of {@link ProxyTicketProvider} that rely on
 * {@link AttributePrincipal#getProxyTicketFor(String)}.
 *
 * @see AssertionProvider
 * @author Jonathan Coueraud
 * @author Thibaud Leprêtre
 * @since 0.7.0
 */
public class AttributePrincipalProxyTicketProvider implements ProxyTicketProvider {
    private static final String EXCEPTION_MESSAGE = "Unable to provide a proxy ticket with null %s";

// Path: spring-security-cas-extension/src/main/java/com/kakawait/spring/security/cas/client/validation/AssertionProvider.java
// public interface AssertionProvider {
// 
//     /**
//      * Retrieve current request {@link Assertion}.
//      * @return the current request {@link Assertion}.
//      */
//     @Nonnull
//     Assertion getAssertion();
// }


// Path: spring-security-cas-extension/src/main/java/com/kakawait/spring/security/cas/client/ticket/AttributePrincipalProxyTicketProvider.java
import com.kakawait.spring.security.cas.client.validation.AssertionProvider;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.validation.Assertion;
import org.springframework.util.Assert;

package com.kakawait.spring.security.cas.client.ticket;


/**
 * A standard implementation of {@link ProxyTicketProvider} that rely on
 * {@link AttributePrincipal#getProxyTicketFor(String)}.
 *
 * @see AssertionProvider
 * @author Jonathan Coueraud
 * @author Thibaud Leprêtre
 * @since 0.7.0
 */
public class AttributePrincipalProxyTicketProvider implements ProxyTicketProvider {
    private static final String EXCEPTION_MESSAGE = "Unable to provide a proxy ticket with null %s";

    private final AssertionProvider assertionProvider;