on 2016 Jan 26 3:16 PM
I am taking the commerce 5 trail using hybris 5.4.0.4. Just for grins, I wanted to see how to override the defaultCheckoutFacade. I added an entry to merchandisefacades-spring.xml and created a class in the merchandisefacades project that extends DefaultCheckoutFacade.java.
My custom class (MerchandiseCheckoutFacade.java) is never called. I tried using the alias for defaultCheckoutFacade but I do not think I am doing it correctly.
I did add commercefacades to merchandisefacades extensioninfo.xml file and as a build dependency.
Following is the code - the accelerator-spring.xml and commercefacades-spring.xml entries were unchanged and are just presented as a reference.
Any advice would be appreciated. Please, forgive the code snippets, they are hard to format...
acceleratorfacades-spring.xml
<alias name="defaultAcceleratorCheckoutFacade" alias="acceleratorCheckoutFacade"/>
<bean id="defaultAcceleratorCheckoutFacade" class="de.hybris.platform.acceleratorfacades.order.impl.DefaultAcceleratorCheckoutFacade" parent="defaultCheckoutFacade">
<property name="uiExperienceService" ref="uiExperienceService"/>
<property name="acceleratorCheckoutService" ref="acceleratorCheckoutService"/>
<property name="pointOfServiceService" ref="pointOfServiceService"/>
<property name="pointOfServiceDistanceConverter" ref="pointOfServiceDistanceConverter"/>
<property name="cartModificationConverter" ref="cartModificationConverter"/>
</bean>
commercefacades-spring.xml
<alias name="defaultCheckoutFacade" alias="checkoutFacade"/>
<bean id="defaultCheckoutFacade" class="de.hybris.platform.commercefacades.order.impl.DefaultCheckoutFacade"
>
<property name="cartFacade" ref="commerceCheckoutCartFacade"/>
<property name="commerceCheckoutService" ref="commerceCheckoutService"/>
<property name="cartService" ref="cartService"/>
<property name="addressConverter" ref="addressConverter"/>
<property name="deliveryService" ref="deliveryService"/>
<property name="addressReversePopulator" ref="addressReversePopulator"/>
<property name="userService" ref="userService"/>
<property name="priceDataFactory" ref="priceDataFactory"/>
<property name="enumerationService" ref="enumerationService"/>
<property name="commerceCardTypeService" ref="commerceCardTypeService"/>
<property name="customerAccountService" ref="customerAccountService"/>
<property name="creditCardPaymentInfoConverter" ref="creditCardPaymentInfoConverter"/>
<property name="deliveryModeConverter" ref="deliveryModeConverter"/>
<property name="zoneDeliveryModeConverter" ref="zoneDeliveryModeConverter"/>
<property name="orderConverter" ref="orderConverter"/>
<property name="modelService" ref="modelService"/>
<property name="cardTypeConverter" ref="paymentCardTypeConverter"/>
<property name="commonI18NService" ref="commonI18NService"/>
<property name="baseStoreService" ref="baseStoreService"/>
<property name="checkoutCustomerStrategy" ref="checkoutCustomerStrategy"/>
<property name="countryConverter" ref="countryConverter"/>
</bean>
merchandisefacades-spring.xml
<alias name="merchandiseCheckoutFacade" alias="checkoutFacade"/>
<bean id="merchandiseCheckoutFacade" class="de.hybris.platform.merchandise.facades.order.impl.MerchandiseCheckoutFacade" parent="defaultCheckoutFacade"/>
MerchandiseCheckoutFacade.java
package de.hybris.platform.merchandise.facades.order.impl;
import de.hybris.platform.commercefacades.order.data.OrderData;
import de.hybris.platform.commercefacades.order.impl.DefaultCheckoutFacade;
import de.hybris.platform.order.InvalidCartException;
import org.apache.log4j.Logger;
/**
*
*/
public class MerchandiseCheckoutFacade extends DefaultCheckoutFacade
{
private static final Logger LOG = Logger.getLogger(MerchandiseCheckoutFacade.class);
@Override
public OrderData placeOrder() throws InvalidCartException
{
LOG.info("*** Inside Custom Checkout Facade ***");
return super.placeOrder();
}
}
Request clarification before answering.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.