/** * Gets the configured {@link HostnameVerifier} to use for HTTPS connections * if one is configured for this filter. * @param filterConfig Servlet filter configuration. * @return Instance of specified host name verifier or null if none specified. */ protected HostnameVerifier getHostnameVerifier(final FilterConfig filterConfig) { final String className = getPropertyFromInitParams(filterConfig, "hostnameVerifier", null); log.trace("Using hostnameVerifier parameter: " + className); final String config = getPropertyFromInitParams(filterConfig, "hostnameVerifierConfig", null); log.trace("Using hostnameVerifierConfig parameter: " + config); HostnameVerifier verifier = null; if (className != null) { try { final Class verifierClass = Class.forName(className); if (config != null) { final Constructor cons = verifierClass.getConstructor(new Class[] {String.class}); verifier = (HostnameVerifier) cons.newInstance(new Object[] {config}); } else { verifier = (HostnameVerifier) verifierClass.newInstance(); } } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Invalid HostnameVerifier class " + className); } catch (Exception e) { throw new IllegalArgumentException("Error creating instance of " + className, e); } } return verifier; }
protected void initInternal(final FilterConfig filterConfig) throws ServletException { setExceptionOnValidationFailure(parseBoolean(getPropertyFromInitParams(filterConfig, "exceptionOnValidationFailure", "true"))); log.trace("Setting exceptionOnValidationFailure parameter: " + this.exceptionOnValidationFailure); setRedirectAfterValidation(parseBoolean(getPropertyFromInitParams(filterConfig, "redirectAfterValidation", "true"))); log.trace("Setting redirectAfterValidation parameter: " + this.redirectAfterValidation); setUseSession(parseBoolean(getPropertyFromInitParams(filterConfig, "useSession", "true"))); log.trace("Setting useSession parameter: " + this.useSession); setTicketValidator(getTicketValidator(filterConfig)); super.initInternal(filterConfig); }