<commit_before>package org.jasig.cas.web.flow;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.binding.convert.ConversionExecutor;
import org.springframework.binding.convert.service.RuntimeBindingConversionExecutor;
import org.springframework.binding.expression.Expression;
import org.springframework.binding.expression.ExpressionParser;
import org.springframework.binding.expression.ParserContext;
import org.springframework.binding.expression.spel.SpringELExpressionParser;
import org.springframework.binding.expression.support.FluentParserContext;
import org.springframework.binding.expression.support.LiteralExpression;
import org.springframework.binding.mapping.Mapper;
import org.springframework.binding.mapping.impl.DefaultMapper;
import org.springframework.binding.mapping.impl.DefaultMapping;
import org.springframework.context.expression.BeanExpressionContextAccessor;
import org.springframework.context.expression.EnvironmentAccessor;
import org.springframework.context.expression.MapAccessor;
import org.springframework.expression.spel.SpelParserConfiguration;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.ReflectivePropertyAccessor;
import org.springframework.stereotype.Component;
import org.springframework.util.ClassUtils;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.webflow.action.EvaluateAction;
import org.springframework.webflow.action.ViewFactoryActionAdapter;
import org.springframework.webflow.definition.registry.FlowDefinitionRegistry;
import org.springframework.webflow.engine.ActionState;
import org.springframework.webflow.engine.DecisionState;
import org.springframework.webflow.engine.EndState;
import org.springframework.webflow.engine.Flow;
import org.springframework.webflow.engine.SubflowAttributeMapper;
import org.springframework.webflow.engine.SubflowState;
import org.springframework.webflow.engine.TargetStateResolver;
import org.springframework.webflow.engine.Transition;
import org.springframework.webflow.engine.TransitionCriteria;
import org.springframework.webflow.engine.TransitionableState;
import org.springframework.webflow.engine.ViewState;
import org.springframework.webflow.engine.WildcardTransitionCriteria;
import org.springframework.webflow.engine.builder.support.FlowBuilderServices;
import org.springframework.webflow.engine.support.DefaultTargetStateResolver;
import org.springframework.webflow.engine.support.DefaultTransitionCriteria;
import org.springframework.webflow.engine.support.GenericSubflowAttributeMapper;
import org.springframework.webflow.engine.support.TransitionExecutingFlowExecutionExceptionHandler;
import org.springframework.webflow.execution.Action;
import org.springframework.webflow.execution.ViewFactory;
import org.springframework.webflow.expression.spel.ActionPropertyAccessor;
import org.springframework.webflow.expression.spel.BeanFactoryPropertyAccessor;
import org.springframework.webflow.expression.spel.FlowVariablePropertyAccessor;
import org.springframework.webflow.expression.spel.MapAdaptablePropertyAccessor;
import org.springframework.webflow.expression.spel.MessageSourcePropertyAccessor;
import org.springframework.webflow.expression.spel.ScopeSearchingPropertyAccessor;

import javax.annotation.PostConstruct;
import java.util.Arrays;
import java.util.List;

/**
 * The {@link AbstractCasWebflowConfigurer} is responsible for
 * providing an entry point into the CAS webflow.
 *
 * @author <NAME>
 * @since 4.2
 */
@Component("casWebflowConfigurer")
public abstract class AbstractCasWebflowConfigurer {
    /**
     * The transition state 'success'.
     */
    protected static final String TRANSITION_ID_SUCCESS = "success";

    /**
     * The transition state 'yes'.
     */
    protected static final String TRANSITION_ID_YES = "yes";

    /**
     * The transition state 'no'.
     */
    protected static final String TRANSITION_ID_NO = "no";

    /**
     * The transition state 'submit'.
     */
    protected static final String TRANSITION_ID_SUBMIT = "submit";
    /**
     * The transition state 'generated'.
     */
    protected static final String TRANSITION_ID_GENERATED = "generated";
    /**
     * The transition state 'error'.
     */
    protected static final String TRANSITION_ID_ERROR = "error";
    /**
     * The transition state 'warn'.
     */
    protected static final String TRANSITION_ID_WARN = "warn";

    /**
     * The transition state 'sendTicketGrantingTicket'.
     */
    protected static final String TRANSITION_ID_SEND_TICKET_GRANTING_TICKET = "sendTicketGrantingTicket";

    /**
     * The transition state 'viewLoginForm'.
     */
    protected static final String TRANSITION_ID_VIEW_LOGIN_FORM = "viewLoginForm";


    /**
     * The transition state 'ticketGrantingTicketCheck'.
     */
    protected static final String TRANSITION_ID_TICKET_GRANTING_TICKET_CHECK = "ticketGrantingTicketCheck";

    /**
     * The action state 'generateLoginTicket'.
     */
    protected static final String STATE_ID_GENERATE_LOGIN_TICKET = "generateLoginTicket";

    /** Authentication failure result. */
    public static final String EVENT_AUTHENTICATION_FAILURE = "authenticationFailure";

    private static final String FLOW_ID_LOGIN = "login";

    protected final transient Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private FlowBuilderServices flowBuilderServices;

    @Autowired
    @Qualifier("loginFlowRegistry")
    private FlowDefinitionRegistry loginFlowDefinitionRegistry;
<commit_msg>checkstyle fix<commit_after>package org.jasig.cas.web.flow;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.binding.convert.ConversionExecutor;
import org.springframework.binding.convert.service.RuntimeBindingConversionExecutor;
import org.springframework.binding.expression.Expression;
import org.springframework.binding.expression.ExpressionParser;
import org.springframework.binding.expression.ParserContext;
import org.springframework.binding.expression.spel.SpringELExpressionParser;
import org.springframework.binding.expression.support.FluentParserContext;
import org.springframework.binding.expression.support.LiteralExpression;
import org.springframework.binding.mapping.Mapper;
import org.springframework.binding.mapping.impl.DefaultMapper;
import org.springframework.binding.mapping.impl.DefaultMapping;
import org.springframework.context.expression.BeanExpressionContextAccessor;
import org.springframework.context.expression.EnvironmentAccessor;
import org.springframework.context.expression.MapAccessor;
import org.springframework.expression.spel.SpelParserConfiguration;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.ReflectivePropertyAccessor;
import org.springframework.stereotype.Component;
import org.springframework.util.ClassUtils;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.webflow.action.EvaluateAction;
import org.springframework.webflow.action.ViewFactoryActionAdapter;
import org.springframework.webflow.definition.registry.FlowDefinitionRegistry;
import org.springframework.webflow.engine.ActionState;
import org.springframework.webflow.engine.DecisionState;
import org.springframework.webflow.engine.EndState;
import org.springframework.webflow.engine.Flow;
import org.springframework.webflow.engine.SubflowAttributeMapper;
import org.springframework.webflow.engine.SubflowState;
import org.springframework.webflow.engine.TargetStateResolver;
import org.springframework.webflow.engine.Transition;
import org.springframework.webflow.engine.TransitionCriteria;
import org.springframework.webflow.engine.TransitionableState;
import org.springframework.webflow.engine.ViewState;
import org.springframework.webflow.engine.WildcardTransitionCriteria;
import org.springframework.webflow.engine.builder.support.FlowBuilderServices;
import org.springframework.webflow.engine.support.DefaultTargetStateResolver;
import org.springframework.webflow.engine.support.DefaultTransitionCriteria;
import org.springframework.webflow.engine.support.GenericSubflowAttributeMapper;
import org.springframework.webflow.engine.support.TransitionExecutingFlowExecutionExceptionHandler;
import org.springframework.webflow.execution.Action;
import org.springframework.webflow.execution.ViewFactory;
import org.springframework.webflow.expression.spel.ActionPropertyAccessor;
import org.springframework.webflow.expression.spel.BeanFactoryPropertyAccessor;
import org.springframework.webflow.expression.spel.FlowVariablePropertyAccessor;
import org.springframework.webflow.expression.spel.MapAdaptablePropertyAccessor;
import org.springframework.webflow.expression.spel.MessageSourcePropertyAccessor;
import org.springframework.webflow.expression.spel.ScopeSearchingPropertyAccessor;

import javax.annotation.PostConstruct;
import java.util.Arrays;
import java.util.List;

/**
 * The {@link AbstractCasWebflowConfigurer} is responsible for
 * providing an entry point into the CAS webflow.
 *
 * @author <NAME>
 * @since 4.2
 */
@Component("casWebflowConfigurer")
public abstract class AbstractCasWebflowConfigurer {
    /** Authentication failure result. */
    public static final String EVENT_AUTHENTICATION_FAILURE = "authenticationFailure";

    /**
     * The transition state 'success'.
     */
    protected static final String TRANSITION_ID_SUCCESS = "success";

    /**
     * The transition state 'yes'.
     */
    protected static final String TRANSITION_ID_YES = "yes";

    /**
     * The transition state 'no'.
     */
    protected static final String TRANSITION_ID_NO = "no";

    /**
     * The transition state 'submit'.
     */
    protected static final String TRANSITION_ID_SUBMIT = "submit";
    /**
     * The transition state 'generated'.
     */
    protected static final String TRANSITION_ID_GENERATED = "generated";
    /**
     * The transition state 'error'.
     */
    protected static final String TRANSITION_ID_ERROR = "error";
    /**
     * The transition state 'warn'.
     */
    protected static final String TRANSITION_ID_WARN = "warn";

    /**
     * The transition state 'sendTicketGrantingTicket'.
     */
    protected static final String TRANSITION_ID_SEND_TICKET_GRANTING_TICKET = "sendTicketGrantingTicket";

    /**
     * The transition state 'viewLoginForm'.
     */
    protected static final String TRANSITION_ID_VIEW_LOGIN_FORM = "viewLoginForm";


    /**
     * The transition state 'ticketGrantingTicketCheck'.
     */
    protected static final String TRANSITION_ID_TICKET_GRANTING_TICKET_CHECK = "ticketGrantingTicketCheck";

    /**
     * The action state 'generateLoginTicket'.
     */
    protected static final String STATE_ID_GENERATE_LOGIN_TICKET = "generateLoginTicket";

    private static final String FLOW_ID_LOGIN = "login";

    protected final transient Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private FlowBuilderServices flowBuilderServices;

    @Autowired
    @Qualifier("loginFlowRegistry")
    private FlowDefinitionRegistry loginFlowDefinitionRegistry;

{'fraction_non_alphanumeric': 0.08564231738035265, 'fraction_numerical': 0.0006948666724572223, 'mean_word_length': 5.647806004618937, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4895937', 'n_tokens_mistral': 2973, 'n_tokens_neox': 2974, 'n_words': 551}