/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.web.filter; import java.util.List; import javax.servlet.Filter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter; import org.springframework.web.filter.CompositeFilter; import org.springframework.web.filter.RequestContextFilter; import com.google.common.collect.Lists; @Configuration public class ServletFilterBeans { private CharacterEncodingFilter characterEncodingFilter; private UpgradeCheckFilter upgradeCheckFilter; private VirtualHostFilter virtualHostFilter; @Bean public CompositeFilter compositeFilter() { final List<Filter> filters = Lists.newArrayList(); filters.add( requestContextFilter() ); filters.add( this.characterEncodingFilter ); filters.add( openSessionInViewFilter() ); filters.add( this.upgradeCheckFilter ); filters.add( this.virtualHostFilter ); final CompositeFilter filter = new CompositeFilter(); filter.setFilters( filters ); return filter; } @Bean public RequestContextFilter requestContextFilter() { return new RequestContextFilter(); } @Bean public OpenSessionInViewFilter openSessionInViewFilter() { final OpenSessionInViewFilter filter = new OpenSessionInViewFilter(); filter.setSingleSession( true ); return filter; } @Autowired public void setCharacterEncodingFilter( final CharacterEncodingFilter characterEncodingFilter ) { this.characterEncodingFilter = characterEncodingFilter; } @Autowired public void setUpgradeCheckFilter( final UpgradeCheckFilter upgradeCheckFilter ) { this.upgradeCheckFilter = upgradeCheckFilter; } @Autowired public void setVirtualHostFilter( final VirtualHostFilter virtualHostFilter ) { this.virtualHostFilter = virtualHostFilter; } }