All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commerce.broadleaf-framework-web.3.0.16-GA.source-code.bl-framework-web-applicationContext.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">

    <!-- Scan Broadleaf defined web utility classes -->
    <context:component-scan base-package="org.broadleafcommerce.core.web"/>

    <bean id="blOrderState"
          class="org.broadleafcommerce.core.web.order.OrderState" scope="request"/>

    <bean id="orderStateAOP"
          class="org.broadleafcommerce.core.web.order.OrderStateAOP"/>

    <aop:config>
        <aop:aspect id="orderStateAspect" ref="orderStateAOP">
            <aop:pointcut id="orderRetrievalMethod"
                          expression="execution(* org.broadleafcommerce.core.order.dao.OrderDao.readCartForCustomer(org.broadleafcommerce.profile.core.domain.Customer))"/>
            <aop:around method="processOrderRetrieval" pointcut-ref="orderRetrievalMethod"/>
        </aop:aspect>
    </aop:config>

    <bean id="blOrderLockManager" class="org.broadleafcommerce.core.web.order.SessionOrderLockManager"/>

    <bean id="blGoogleUniversalAnalyticsProcessor" class="org.broadleafcommerce.core.web.processor.GoogleUniversalAnalyticsProcessor" />
    <!-- This core Broadleaf dialect should not be extended by implementors. Instead, define your -->
    <!-- own dialect and add your processors there. -->
    <bean id="blDialect" class="org.broadleafcommerce.common.web.dialect.BLCDialect">
        <property name="processors">
          <set>
            <ref bean="blAddSortLinkProcessor" />
            <ref bean="blCategoriesProcessor" />
            <ref bean="blFormProcessor" />
            <ref bean="blGoogleAnalyticsProcessor" />
            <ref bean="blHeadProcessor" />
            <ref bean="blNamedOrderProcessor" />
            <ref bean="blPaginationPageLinkProcessor" />
            <ref bean="blPriceTextDisplayProcessor" />
            <ref bean="blProductOptionValueProcessor" />
            <ref bean="blProductOptionsProcessor" />
            <ref bean="blProductOptionDisplayProcessor" />
            <ref bean="blRatingsProcessor" />
            <ref bean="blRelatedProductProcessor" />
            <ref bean="blRemoveFacetValuesLinkProcessor" />
            <ref bean="blToggleFacetLinkProcessor" />
            <ref bean="blUrlRewriteProcessor" />
            <ref bean="blResourceBundleProcessor" />
            <ref bean="blGoogleUniversalAnalyticsProcessor" />
          </set>
        </property>     
    </bean> 
    
    <!-- This list factory bean will accept classes that implment the BroadleafVariableExpression interface. -->
    <!-- This provides the ability to inject custom expression evaluators into Thymeleaf. -->
    <bean id="blVariableExpressions" class="org.springframework.beans.factory.config.ListFactoryBean">
        <property name="sourceList">
            <list>
                <bean class="org.broadleafcommerce.common.web.expression.NullBroadleafVariableExpression" />
                <bean class="org.broadleafcommerce.common.web.expression.PropertiesVariableExpression" />
            </list>
        </property>
    </bean>
    
    <!-- This component should be overridden to provide templates outside of the WAR or CLASSPATH   -->    
    <bean id="blWebCustomTemplateResolver" class="org.broadleafcommerce.common.web.NullBroadleafTemplateResolver" />
    
    <bean id="blWebTemplateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
        <property name="prefix" value="/WEB-INF/templates/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />
        <property name="characterEncoding" value="UTF-8" />
        <property name="cacheable" value="${cache.page.templates}"/>
        <property name="cacheTTLMs" value="${cache.page.templates.ttl}" />
        <property name="order" value="200"/>         
    </bean>  
    
    <bean id="blWebClasspathTemplateResolver" class="org.thymeleaf.templateresolver.ClassLoaderTemplateResolver">
        <property name="prefix" value="webTemplates/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />        
        <property name="characterEncoding" value="UTF-8" />
        <property name="cacheable" value="${cache.page.templates}"/>
        <property name="cacheTTLMs" value="${cache.page.templates.ttl}" />
        <property name="order" value="300"/> 
    </bean>  
    
    <!-- This component should be overridden to provide templates outside of the WAR or CLASSPATH   -->    
    <bean id="blEmailCustomTemplateResolver" class="org.broadleafcommerce.common.web.NullBroadleafTemplateResolver" />
    
    <bean id="blEmailTemplateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
        <property name="prefix" value="/WEB-INF/emailTemplates/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />
        <property name="characterEncoding" value="UTF-8" />
        <property name="cacheable" value="${cache.page.templates}"/>
        <property name="cacheTTLMs" value="${cache.page.templates.ttl}" />
        <property name="order" value="200"/>         
    </bean>     
     
    <bean id="blEmailClasspathTemplateResolver" class="org.thymeleaf.templateresolver.ClassLoaderTemplateResolver">
        <property name="prefix" value="emailTemplates/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />
        <property name="cacheable" value="${cache.page.templates}"/>
        <property name="cacheTTLMs" value="${cache.page.templates.ttl}" />
        <property name="characterEncoding" value="UTF-8" />
    </bean>  
    
    <bean id="thymeleafSpringStandardDialect" class="org.thymeleaf.spring3.dialect.SpringStandardDialect" />
    
    <bean id="blMessageResolver" class="org.broadleafcommerce.common.web.BroadleafThymeleafMessageResolver" />
    
    <bean id="blWebTemplateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
        <property name="messageResolvers">
            <set>
                <ref bean="blMessageResolver" />
                <bean class="org.thymeleaf.spring3.messageresolver.SpringMessageResolver" />
            </set>
        </property>
        <property name="templateResolvers">
            <set>
                <ref bean="blWebTemplateResolver" />
                <ref bean="blWebClasspathTemplateResolver" />
                <ref bean="blWebCustomTemplateResolver" />
                <ref bean="blWebCommonClasspathTemplateResolver" />
            </set>
        </property>
        <property name="dialects">
            <set>
                <ref bean="thymeleafSpringStandardDialect" />
                <ref bean="blDialect" />
            </set>
        </property>
    </bean> 
    
    <bean id="blEmailTemplateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
        <property name="templateResolvers">
            <set>
                <ref bean="blEmailTemplateResolver" />
                <ref bean="blEmailClasspathTemplateResolver" />                
                <ref bean="blEmailCustomTemplateResolver" />
            </set>
        </property>
        <property name="dialects">
            <set>
                <ref bean="thymeleafSpringStandardDialect" />
                <ref bean="blDialect" />
            </set>
        </property>
    </bean> 
</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy