cancel
Showing results for 
Search instead for 
Did you mean: 

Override DefaultCartFacade class

Former Member
0 Kudos

Hi,

I need to override DefaultCartFacade class, actually I took some steps but when I debug and open a new cart, and add a new product to cart, my custom class are not triggered at that time.

When I do this, I took advantage from this link : link text

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

, as test, I needn't any interface but as you said, the class signature is same.

 public class KoctasParoDefaultCartFacade extends DefaultCartFacade {
 
     @Override
     public CartData getSessionCart() {
         return super.getSessionCart();
     }
 
     @Override
     public boolean hasSessionCart() {
         return super.hasSessionCart();
     }
 
     @Override
     public CartModificationData addToCart(String code, long quantity) throws CommerceCartModificationException {
         return super.addToCart(code, quantity);
     }
 
     @Override
     public CartModificationData addToCart(AddToCartParams addToCartParams) throws CommerceCartModificationException {
         return super.addToCart(addToCartParams);
     }
 }

and, my spring xml looks like that.

    <alias name="koctasParoDefaultCartFacade" alias="cartFacade"/>
     <bean id="koctasParoDefaultCartFacade" class="com.itelligence.koctas.paro.facade.KoctasParoDefaultCartFacade"
           parent="defaultCartFacade" />


What am I doing wrong ?

0 Kudos

Both seems to be Okay but check your dependency.

Former Member
0 Kudos

Which dependency should I check?

0 Kudos

1) Firstly configure like this in your *facade-spring xml:

     <bean id="xyzCartFacade" class="com.xyz.facades.cart.facade.impl.DefaultXyzCartFacade" parent="defaultCartFacade">
 </bean>

2) If you want to create your own interface, create it. public interface XyzCartFacade extends CartFacade

3) Your class will be like: public class DefaultXyzCartFacade extends DefaultCartFacade implements XyzCartFacade

Do the needful.