private void configureResources() { setInitParameterInteger(PREFFIX + "RESOURCE_MAX_TIME_EXPIRES", this.myfacesProperties.getResourceMaxTimeExpires()); setInitParameterInteger(PREFFIX + "RESOURCE_HANDLER_CACHE_SIZE", this.myfacesProperties.getResourceHandlerCacheSize()); setInitParameterBoolean(PREFFIX + "RESOURCE_HANDLER_CACHE_ENABLED", this.myfacesProperties.getResourceHandlerCacheEnabled()); setInitParameterBoolean(ResourceHandlerImpl.INIT_PARAM_STRICT_JSF_2_ALLOW_SLASH_LIBRARY_NAME, this.myfacesProperties.getStrictJsf2AllowSlashLibraryName()); setInitParameterInteger(ResourceHandlerImpl.INIT_PARAM_RESOURCE_BUFFER_SIZE, this.myfacesProperties.getResourceBufferSize()); }
private void configureExpressionLanguage() { setInitParameterString(PREFFIX + "STRICT_JSF_2_CC_EL_RESOLVER", this.myfacesProperties.getStrictJsf2CcElResolver()); setInitParameterBoolean(PREFFIX + "SUPPORT_JSP_AND_FACES_EL", this.myfacesProperties.getSupportJspAndFacesEl()); setInitParameterBoolean(PREFFIX + "SUPPORT_EL_3_IMPORT_HANDLER", this.myfacesProperties.getSupportEl3ImportHandler()); setInitParameterString(ResolverBuilderBase.EL_RESOLVER_COMPARATOR, this.myfacesProperties.getElResolverComparator()); setInitParameterString(ResolverBuilderBase.EL_RESOLVER_PREDICATE, this.myfacesProperties.getElResolverPredicate()); setInitParameterBoolean(FaceletCompositionContextImpl.INIT_PARAM_CACHE_EL_EXPRESSIONS, this.myfacesProperties.getCacheElExpressions()); setInitParameterString(PREFFIX + "EXPRESSION_FACTORY", this.myfacesProperties.getExpressionFactory()); }
private void configureViewHandling() { setInitParameterInteger(PREFFIX + "CHECKED_VIEWID_CACHE_SIZE", this.myfacesProperties.getCheckedViewidCacheSize()); setInitParameterBoolean(PREFFIX + "CHECKED_VIEWID_CACHE_ENABLED", this.myfacesProperties.getCheckedViewidCacheEnabled()); setInitParameterBoolean(PREFFIX + "VIEW_UNIQUE_IDS_CACHE_ENABLED", this.myfacesProperties.getViewUniqueIdsCacheEnabled()); setInitParameterInteger(PREFFIX + "COMPONENT_UNIQUE_IDS_CACHE_SIZE", this.myfacesProperties.getComponentUniqueIdsCacheSize()); setInitParameterBoolean(PREFFIX + "STRICT_JSF_2_VIEW_NOT_FOUND", this.myfacesProperties.getStrictJsf2ViewNotFound()); setInitParameterBoolean(PREFFIX + "STRICT_JSF_2_FACELETS_COMPATIBILITY", this.myfacesProperties.getStrictJsf2FaceletsCompatibility()); }
private void configureOther() { setInitParameterInteger(PREFFIX + "CONFIG_REFRESH_PERIOD", this.myfacesProperties.getConfigRefreshPeriod()); setInitParameterString(PREFFIX + "DELEGATE_FACES_SERVLET", this.myfacesProperties.getDelegateFacesServlet()); setInitParameterBoolean(PREFFIX + "VALIDATE_XML", this.myfacesProperties.getValidateXml()); setInitParameterBoolean(PREFFIX + "DEBUG_PHASE_LISTENER", this.myfacesProperties.getDebugPhaseListener()); setInitParameterBoolean(PREFFIX + "STRICT_JSF_2_REFRESH_TARGET_AJAX", this.myfacesProperties.getStrictJsf2RefreshTargetAjax()); setInitParameterString(PREFFIX + "GAE_JSF_JAR_FILES", this.myfacesProperties.getGaeJsfJarFiles()); setInitParameterString(PREFFIX + "GAE_JSF_ANNOTATIONS_JAR_FILES", this.myfacesProperties.getGaeJsfAnnotationsJarFiles()); setInitParameterBoolean(PREFFIX + "FLASH_SCOPE_DISABLED", this.myfacesProperties.getFlashScopeDisabled()); setInitParameterBoolean(PREFFIX + "LAZY_LOAD_CONFIG_OBJECTS", this.myfacesProperties.getLazyLoadConfigObjects()); setInitParameterBoolean(FacesConfigValidator.VALIDATE_CONTEXT_PARAM, this.myfacesProperties.getValidate()); setInitParameterBoolean(PREFFIX + "INITIALIZE_SKIP_JAR_FACES_CONFIG_SCAN", this.myfacesProperties.getInitializeSkipJarFacesConfigScan()); setInitParameterString(ClientWindowFactoryImpl.INIT_PARAM_DEFAULT_WINDOW_MODE, this.myfacesProperties.getDefaultWindowMode()); setInitParameterString(PREFFIX + "ERROR_TEMPLATE_RESOURCE", this.myfacesProperties.getErrorTemplateResource()); setInitParameterString(PREFFIX + "DEBUG_TEMPLATE_RESOURCE", this.myfacesProperties.getDebugTemplateResource()); setInitParameterBoolean(ErrorPageWriter.ERROR_HANDLING_PARAMETER, this.myfacesProperties.getErrorHandling()); setInitParameterBoolean(PREFFIX + "TEMPORAL_RESOURCEHANDLER_CACHE_ENABLED", this.myfacesProperties.getTemporalResourcehandlerCacheEnabled()); setInitParameterBoolean(PREFFIX + "SERVICE_PROVIDER_FINDER", this.myfacesProperties.getServiceProviderFinder()); setInitParameterString(PREFFIX + "spi.InjectionProvider", this.myfacesProperties.getSpi().getInjectionProvider()); setInitParameterBoolean(PREFFIX + "MARK_INITIAL_STATE_WHEN_APPLY_BUILD_VIEW", this.myfacesProperties.getMarkInitialStateWhenApplyBuildView()); setInitParameterBoolean(ContextAwareUtils.INIT_PARAM_WRAP_TAG_EXCEPTIONS_AS_CONTEXT_AWARE, this.myfacesProperties.getWrapTagExceptionsAsContextAware()); setInitParameterInteger(ViewPool.INIT_PARAM_VIEW_POOL_MAX_POOL_SIZE, this.myfacesProperties.getViewPoolMaxPoolSize()); setInitParameterInteger(ViewPool.INIT_PARAM_VIEW_POOL_MAX_DYNAMIC_PARTIAL_LIMIT, this.myfacesProperties.getViewPoolMaxDynamicPartialLimit()); setInitParameterString(ViewPool.INIT_PARAM_VIEW_POOL_ENTRY_MODE, this.myfacesProperties.getViewPoolEntryMode()); setInitParameterBoolean(ViewPool.INIT_PARAM_VIEW_POOL_DEFERRED_NAVIGATION, this.myfacesProperties.getViewPoolDeferredNavigation()); setInitParameterString(AbstractFacesInitializer.INIT_PARAM_LOG_WEB_CONTEXT_PARAMS, this.myfacesProperties.getLogWebContextParams()); setInitParameterString(PREFFIX + "FACES_INITIALIZER", this.myfacesProperties.getFacesInitializer()); setInitParameterString(PREFFIX + "FACES_INIT_PLUGINS", this.myfacesProperties.getFacesInitPlugins()); setInitParameterBoolean(CdiAnnotationProviderExtension.USE_CDI_FOR_ANNOTATION_SCANNING, this.myfacesProperties.getAnnotation().getUseCdiForAnnotationScanning()); setInitParameterString(DefaultAnnotationProvider.SCAN_PACKAGES, this.myfacesProperties.getAnnotation().getScanPackages());
private void configureRendering() { setInitParameterBoolean(PREFFIX + "PRETTY_HTML", this.myfacesProperties.getPrettyHtml()); setInitParameterBoolean(PREFFIX + "ALLOW_JAVASCRIPT", this.myfacesProperties.getAllowJavascript()); setInitParameterBoolean(PREFFIX + "STRICT_XHTML_LINKS", this.myfacesProperties.getStrictXhtmlLinks()); setInitParameterBoolean(PREFFIX + "RENDER_CLEAR_JAVASCRIPT_FOR_BUTTON", this.myfacesProperties.getRenderClearJavascriptForButton()); setInitParameterBoolean(PREFFIX + "RENDER_HIDDEN_FIELDS_FOR_LINK_PARAMS", this.myfacesProperties.getRenderHiddenFieldsForLinkParams()); setInitParameterBoolean(PREFFIX + "SAVE_FORM_SUBMIT_LINK_IE", this.myfacesProperties.getSaveFormSubmitLinkIe()); setInitParameterBoolean(PREFFIX + "WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG", this.myfacesProperties.getWrapScriptContentWithXmlCommentTag()); setInitParameterBoolean(PREFFIX + "RENDER_FORM_SUBMIT_SCRIPT_INLINE", this.myfacesProperties.getRenderFormSubmitScriptInline()); setInitParameterString(PREFFIX + "DEFAULT_RESPONSE_WRITER_CONTENT_TYPE_MODE", this.myfacesProperties.getDefaultResponseWriterContentTypeMode()); setInitParameterBoolean(PREFFIX + "EARLY_FLUSH_ENABLED", this.myfacesProperties.getEarlyFlushEnabled()); setInitParameterBoolean(PREFFIX + "RENDER_FORM_VIEW_STATE_AT_BEGIN", this.myfacesProperties.getRenderFormViewStateAtBegin()); setInitParameterBoolean(InternalClassLoaderResourceLoader.USE_MULTIPLE_JS_FILES_FOR_JSF_UNCOMPRESSED_JS, this.myfacesProperties.getUseMultipleJsFilesForJsfUncompressedJs()); setInitParameterString(InternalClassLoaderResourceLoader.MYFACES_JSF_MODE, this.myfacesProperties.getJsfJsMode()); }
private void configureDeprecated() { setInitParameterString(PREFFIX + "ERROR_HANDLER", this.myfacesProperties.getErrorHandler()); setInitParameterBoolean(PREFFIX + "VIEWSTATE_JAVASCRIPT", this.myfacesProperties.getViewstateJavascript()); setInitParameterBoolean(PREFFIX + "SERIALIZE_STATE_IN_SESSION", this.myfacesProperties.getSerializeStateInSession()); setInitParameterBoolean(PREFFIX + "CACHE_OLD_VIEWS_IN_SESSION_MODE", this.myfacesProperties.getCacheOldViewsInSessionMode()); setInitParameterBoolean(HtmlResponseStateManager.INIT_PARAM_HANDLE_STATE_CACHING_MECHANICS, this.myfacesProperties.getHandleStateCachingMechanics()); setInitParameterBoolean(DefaultFaceletsStateManagementStrategy.SAVE_STATE_WITH_VISIT_TREE_ON_PSS, this.myfacesProperties.getSaveStateWithVisitTreeOnPass()); }
private void configureConversionAndValidation() { setInitParameterBoolean(PREFFIX + "ENUM_CONVERTER_ALLOW_STRING_PASSTROUGH", this.myfacesProperties.getEnumConverterAllowStringPasstrough()); setInitParameterBoolean(PREFFIX + "validator.BEAN_BEFORE_JSF_VALIDATION", this.myfacesProperties.getValidator().getBeanBeforeJsfValidation()); }
@Override public void onStartup(ServletContext sc) throws ServletException { MyfacesServletContextConfigurer.builder() .myfacesProperties(this.myfacesProperties) .servletContext(sc) .build() .configure(); ServletContainerInitializer servletContainerInitializer = getServletContainerInitializer(); Set<Class<?>> classes = JsfClassFactory.builder() .jsfAnnotatedClassFactoryConfiguration(this) .build().find(); servletContainerInitializer.onStartup(classes, sc); } }
@Override public void configure() { configureExpressionLanguage(); configureCDI(); configureRendering(); configureResources(); configureStateSaving(); configureConversionAndValidation(); configureViewHandling(); configureOther(); configureDeprecated(); } }
private void configureCDI() { setInitParameterBoolean(PREFFIX + "CDI_MANAGED_CONVERTERS_ENABLED", this.myfacesProperties.getCdiManagedConvertersEnabled()); setInitParameterBoolean(PREFFIX + "CDI_MANAGED_VALIDATORS_ENABLED", this.myfacesProperties.getCdiManagedValidatorsEnabled()); }
@Test public void testValidatorBeanBeforeJsfValidation() { assertThat(this.myfacesProperties.getValidator().getBeanBeforeJsfValidation()) .isTrue(); }
@Test public void testAnnotationUseCdiForAnnotationScanning() { assertThat(this.myfacesProperties.getAnnotation().getUseCdiForAnnotationScanning()).isTrue(); }
@Test public void testAnnotationScanPackages() { assertThat(this.myfacesProperties.getAnnotation().getScanPackages()).isEqualTo("myScanPackages"); }
@Test public void testSpiInjectionProvider() { assertThat(this.myfacesProperties.getSpi().getInjectionProvider()).isEqualTo("myInjectionProvider"); }
@Bean public MyfacesServletContextInitializer myfacesServletContextInitializer() { return new MyfacesServletContextInitializer(); } }
@Test public void testValidatorBeanBeforeJsfValidation() { assertThat(this.myfacesProperties.getValidator().getBeanBeforeJsfValidation()) .isTrue(); }
@Test public void testAnnotationUseCdiForAnnotationScanning() { assertThat(this.myfacesProperties.getAnnotation().getUseCdiForAnnotationScanning()).isTrue(); }
@Test public void testAnnotationScanPackages() { assertThat(this.myfacesProperties.getAnnotation().getScanPackages()).isEqualTo("myScanPackages"); }
@Test public void testSpiInjectionProvider() { assertThat(this.myfacesProperties.getSpi().getInjectionProvider()).isEqualTo("myInjectionProvider"); }
@Bean public ServletContextInitializer myfacesServletContextInitializer() { return new MyfacesServletContextInitializer(this.myfacesProperties); } }