Class CookieRuleRequestProcessor

java.lang.Object
org.broadleafcommerce.common.web.AbstractBroadleafWebRequestProcessor
org.broadleafcommerce.core.web.cookie.CookieRuleRequestProcessor
All Implemented Interfaces:
org.broadleafcommerce.common.web.BroadleafWebRequestProcessor

public class CookieRuleRequestProcessor extends org.broadleafcommerce.common.web.AbstractBroadleafWebRequestProcessor
Populate configured cookie values on the http request thread for use by MVEL request-based rules

Configuration is generally as easy as enabling the feature via a property and then configuring one or more cookie configurations.

Add cookie.content.targeting.enabled=true to a property file visible to both admin and site (i.e. common-shared.properties)

Add a cookie configuration to your Spring xml or Java configuration. Sample below demonstrated Java-based config: @author Jeff Fischer @Merge("blCookieRuleConfigs") public RuleDTOConfig myCookieRuleDTOConfig() { RuleDTOConfig config = new RuleDTOConfig("myFieldName", "myLabel"); config.setAlternateName("cookieName"); return config; }
  • Field Details

    • FORWARD_HEADER

      public static final String FORWARD_HEADER
      See Also:
    • BLC_RULE_MAP_PARAM

      protected static final String BLC_RULE_MAP_PARAM
      See Also:
    • cookieUtils

      protected org.broadleafcommerce.common.security.util.CookieUtils cookieUtils
    • configs

      protected List<org.broadleafcommerce.core.rule.RuleDTOConfig> configs
  • Constructor Details

    • CookieRuleRequestProcessor

      public CookieRuleRequestProcessor(List<org.broadleafcommerce.core.rule.RuleDTOConfig> configs, org.broadleafcommerce.common.security.util.CookieUtils cookieUtils)
  • Method Details

    • process

      public void process(org.springframework.web.context.request.WebRequest request)
    • getRuleMapFromRequest

      protected Map<String,Object> getRuleMapFromRequest(org.springframework.web.context.request.WebRequest request)
    • getVals

      protected Map<String,String> getVals(org.springframework.web.context.request.ServletWebRequest request)