/* * #%L * BroadleafCommerce Framework Web * %% * Copyright (C) 2009 - 2013 Broadleaf Commerce * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ package org.broadleafcommerce.core.web.catalog; import org.broadleafcommerce.core.catalog.service.dynamic.DynamicSkuPricingService; import org.broadleafcommerce.profile.core.domain.Customer; import org.broadleafcommerce.profile.web.core.CustomerState; import javax.annotation.Resource; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; /** * Register this filter via Spring DelegatingFilterProxy, or register your own implementation * that provides additional, desirable members to the pricingConsiderations Map * that is generated from the getPricingConsiderations method. * * @author jfischer * */ public class DefaultDynamicSkuPricingFilter extends AbstractDynamicSkuPricingFilter { @Resource(name="blDynamicSkuPricingService") protected DynamicSkuPricingService skuPricingService; @Resource(name="blCustomerState") protected CustomerState customerState; public DynamicSkuPricingService getDynamicSkuPricingService(ServletRequest request) { return skuPricingService; } @SuppressWarnings({ "rawtypes", "unchecked" }) public HashMap getPricingConsiderations(ServletRequest request) { HashMap pricingConsiderations = new HashMap(); Customer customer = customerState.getCustomer((HttpServletRequest) request); pricingConsiderations.put("customer", customer); return pricingConsiderations; } }