com.softslate.commerce.businessobjects.shipping
Class BasicShippingRuleProcessor

java.lang.Object
  extended by com.softslate.commerce.businessobjects.core.BaseBusinessObject
      extended by com.softslate.commerce.businessobjects.core.BaseBusinessProcessor
          extended by com.softslate.commerce.businessobjects.shipping.BasicShippingRuleProcessor
All Implemented Interfaces:
BusinessObject, BusinessProcessor, ShippingRuleProcessor

public class BasicShippingRuleProcessor
extends BaseBusinessProcessor
implements ShippingRuleProcessor

Processes business logic having to do with shipping rules. Created in the Struts layer in response to requests for viewing, editing, adding, and deleting discounts.

BasicShippingRuleProcessor is the default implementation of the ShippingRuleProcessor interface for the application.

Author:
Jason McWilliams

Field Summary
(package private) static org.apache.commons.logging.Log log
           
 
Constructor Summary
BasicShippingRuleProcessor()
           
 
Method Summary
 java.util.Map addShippingRule(java.util.Map parameters)
           
 void applyDiscount(java.util.Map method, OrderShippingRule osr)
           
 void applyDiscountToMatchingMethods(java.util.Collection availableMethods, OrderShippingRule osr)
           
 void applyDiscountToNotMatchingMethods(java.util.Collection availableMethods, OrderShippingRule osr)
           
 void applyShippingDiscountsToAvailableMethods(java.util.Collection orderShippingRules, java.util.Collection availableMethods)
           
 void createGlobalOrderShippingRule(ShippingRule sr, ShippingRuleRange srr)
           
 void createLeftOverPackage(int quantity, double weight, double leftOverTotal)
           
 void createMethodLimit(ShippingRule sr, ShippingRuleRange srr, OrderItem oi)
           
 int createPackage(ShippingRule sr, ShippingRuleRange srr, OrderItem oi, int currentQuantity, boolean firstRule)
           
 void createPossibleDiscount(ShippingRule sr, ShippingRuleRange srr, OrderItem oi)
           
 void deleteShippingRule(java.util.Map parameters)
           
 boolean doesLimitByLocationRuleApply(OrderShippingRule osr)
           
 void editDeleteShippingRules(java.util.Map parameters)
           
 java.util.Map editShippingRule(java.util.Map parameters)
           
 java.util.Collection findAvailableShippingProcessors(java.util.Collection availableMethods, int orderID)
           
 java.util.Collection getLimitByLocationShippingRules()
           
 java.util.Collection getShippingRulesBySkuIDs(java.util.Collection skuIDs)
           
 java.util.Collection getSkuIDs(OrderItem oi, java.util.Collection matchingSkus)
           
 boolean isShippingRuleOk(ShippingRule shippingRule, OrderItem oi)
           
 ShippingRule loadShippingRuleFromID(java.util.Map parameters)
           
 java.util.Map loadShippingRulesAndCount(java.util.Map parameters)
           
 java.util.Map processAddItems(java.util.Collection newOrderItems)
           
 void processAllowMethods(java.util.Collection orderShippingRules, java.util.Collection availableMethods)
           
 java.util.Map processEditItem(java.util.Collection newOrderItems)
           
 java.util.Map processGlobalShippingRules()
           
 void processMethodLimits(OrderItem oi, java.util.Collection rules)
           
 java.util.Map processOnCheckout(java.util.Map parameters)
           
 java.util.Map processOrderComplete(java.util.Map parameters)
           
 int processPackages(OrderItem oi, java.util.Collection rules)
           
 void processPossibleDiscounts(OrderItem oi, java.util.Collection rules)
           
 java.util.Map processRemoveAllRules()
           
 java.util.Map processShippingRules(java.util.Collection newOrderItems)
           
 java.util.Map processSkuShippingRules(java.util.Collection orderItems)
           
 boolean rangeMatch(ShippingRuleRange srr, OrderItem oi)
           
 void removeShippingMethodFromAvailableList(java.util.Collection hasToBe, java.util.Collection availableMethods)
           
 void removeShippingMethodFromAvailableList(java.util.Map removeMethod, java.util.Collection availableMethods)
           
 
Methods inherited from class com.softslate.commerce.businessobjects.core.BaseBusinessProcessor
formatDateTime, formatPrice, getAppComponents, getAppSettings, getAttributeIDs, getBusinessObjectFactory, getDaoFactory, getProductIDs, getSettings, getUser, initialize, loadMatchingSkus, parseDateTime, parseResponseData, prepareRequestData, sendHTTPPost, setAppComponents, setAppSettings, setBusinessObjectFactory, setDaoFactory, setSettings, setUser, updateOrderTotals, updateOrderTotals, utils
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.softslate.commerce.businessobjects.core.BusinessProcessor
getAppComponents, getAppSettings, getBusinessObjectFactory, getDaoFactory, getSettings, getUser, setAppComponents, setAppSettings, setBusinessObjectFactory, setDaoFactory, setSettings, setUser, utils
 
Methods inherited from interface com.softslate.commerce.businessobjects.core.BusinessObject
initialize
 

Field Detail

log

static org.apache.commons.logging.Log log
Constructor Detail

BasicShippingRuleProcessor

public BasicShippingRuleProcessor()
Method Detail

loadShippingRulesAndCount

public java.util.Map loadShippingRulesAndCount(java.util.Map parameters)
                                        throws java.lang.Exception
Specified by:
loadShippingRulesAndCount in interface ShippingRuleProcessor
Throws:
java.lang.Exception

addShippingRule

public java.util.Map addShippingRule(java.util.Map parameters)
                              throws java.lang.Exception
Specified by:
addShippingRule in interface ShippingRuleProcessor
Throws:
java.lang.Exception

loadShippingRuleFromID

public ShippingRule loadShippingRuleFromID(java.util.Map parameters)
                                    throws java.lang.Exception
Specified by:
loadShippingRuleFromID in interface ShippingRuleProcessor
Throws:
java.lang.Exception

editShippingRule

public java.util.Map editShippingRule(java.util.Map parameters)
                               throws java.lang.Exception
Specified by:
editShippingRule in interface ShippingRuleProcessor
Throws:
java.lang.Exception

editDeleteShippingRules

public void editDeleteShippingRules(java.util.Map parameters)
                             throws java.lang.Exception
Specified by:
editDeleteShippingRules in interface ShippingRuleProcessor
Throws:
java.lang.Exception

deleteShippingRule

public void deleteShippingRule(java.util.Map parameters)
                        throws java.lang.Exception
Specified by:
deleteShippingRule in interface ShippingRuleProcessor
Throws:
java.lang.Exception

findAvailableShippingProcessors

public java.util.Collection findAvailableShippingProcessors(java.util.Collection availableMethods,
                                                            int orderID)
                                                     throws java.lang.Exception
Specified by:
findAvailableShippingProcessors in interface ShippingRuleProcessor
Throws:
java.lang.Exception

applyShippingDiscountsToAvailableMethods

public void applyShippingDiscountsToAvailableMethods(java.util.Collection orderShippingRules,
                                                     java.util.Collection availableMethods)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

applyDiscount

public void applyDiscount(java.util.Map method,
                          OrderShippingRule osr)
                   throws java.lang.Exception
Throws:
java.lang.Exception

applyDiscountToMatchingMethods

public void applyDiscountToMatchingMethods(java.util.Collection availableMethods,
                                           OrderShippingRule osr)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

applyDiscountToNotMatchingMethods

public void applyDiscountToNotMatchingMethods(java.util.Collection availableMethods,
                                              OrderShippingRule osr)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

processAllowMethods

public void processAllowMethods(java.util.Collection orderShippingRules,
                                java.util.Collection availableMethods)
                         throws java.lang.Exception
Throws:
java.lang.Exception

removeShippingMethodFromAvailableList

public void removeShippingMethodFromAvailableList(java.util.Collection hasToBe,
                                                  java.util.Collection availableMethods)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

removeShippingMethodFromAvailableList

public void removeShippingMethodFromAvailableList(java.util.Map removeMethod,
                                                  java.util.Collection availableMethods)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

processOrderComplete

public java.util.Map processOrderComplete(java.util.Map parameters)
                                   throws java.lang.Exception
Specified by:
processOrderComplete in interface ShippingRuleProcessor
Throws:
java.lang.Exception

processEditItem

public java.util.Map processEditItem(java.util.Collection newOrderItems)
                              throws java.lang.Exception
Specified by:
processEditItem in interface ShippingRuleProcessor
Throws:
java.lang.Exception

processAddItems

public java.util.Map processAddItems(java.util.Collection newOrderItems)
                              throws java.lang.Exception
Specified by:
processAddItems in interface ShippingRuleProcessor
Throws:
java.lang.Exception

processOnCheckout

public java.util.Map processOnCheckout(java.util.Map parameters)
                                throws java.lang.Exception
Specified by:
processOnCheckout in interface ShippingRuleProcessor
Throws:
java.lang.Exception

processShippingRules

public java.util.Map processShippingRules(java.util.Collection newOrderItems)
                                   throws java.lang.Exception
Specified by:
processShippingRules in interface ShippingRuleProcessor
Throws:
java.lang.Exception

processGlobalShippingRules

public java.util.Map processGlobalShippingRules()
                                         throws java.lang.Exception
Throws:
java.lang.Exception

processSkuShippingRules

public java.util.Map processSkuShippingRules(java.util.Collection orderItems)
                                      throws java.lang.Exception
Throws:
java.lang.Exception

getLimitByLocationShippingRules

public java.util.Collection getLimitByLocationShippingRules()
                                                     throws java.lang.Exception
Throws:
java.lang.Exception

doesLimitByLocationRuleApply

public boolean doesLimitByLocationRuleApply(OrderShippingRule osr)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

createGlobalOrderShippingRule

public void createGlobalOrderShippingRule(ShippingRule sr,
                                          ShippingRuleRange srr)
                                   throws java.lang.Exception
Throws:
java.lang.Exception

rangeMatch

public boolean rangeMatch(ShippingRuleRange srr,
                          OrderItem oi)
                   throws java.lang.Exception
Throws:
java.lang.Exception

processPackages

public int processPackages(OrderItem oi,
                           java.util.Collection rules)
                    throws java.lang.Exception
Throws:
java.lang.Exception

processPossibleDiscounts

public void processPossibleDiscounts(OrderItem oi,
                                     java.util.Collection rules)
                              throws java.lang.Exception
Throws:
java.lang.Exception

processMethodLimits

public void processMethodLimits(OrderItem oi,
                                java.util.Collection rules)
                         throws java.lang.Exception
Throws:
java.lang.Exception

createLeftOverPackage

public void createLeftOverPackage(int quantity,
                                  double weight,
                                  double leftOverTotal)
                           throws java.lang.Exception
Throws:
java.lang.Exception

createPackage

public int createPackage(ShippingRule sr,
                         ShippingRuleRange srr,
                         OrderItem oi,
                         int currentQuantity,
                         boolean firstRule)
                  throws java.lang.Exception
Throws:
java.lang.Exception

createPossibleDiscount

public void createPossibleDiscount(ShippingRule sr,
                                   ShippingRuleRange srr,
                                   OrderItem oi)
                            throws java.lang.Exception
Throws:
java.lang.Exception

createMethodLimit

public void createMethodLimit(ShippingRule sr,
                              ShippingRuleRange srr,
                              OrderItem oi)
                       throws java.lang.Exception
Throws:
java.lang.Exception

isShippingRuleOk

public boolean isShippingRuleOk(ShippingRule shippingRule,
                                OrderItem oi)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getShippingRulesBySkuIDs

public java.util.Collection getShippingRulesBySkuIDs(java.util.Collection skuIDs)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

getSkuIDs

public java.util.Collection getSkuIDs(OrderItem oi,
                                      java.util.Collection matchingSkus)

processRemoveAllRules

public java.util.Map processRemoveAllRules()
                                    throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © SoftSlate, LLC 2003–2005