com.ibm.commerce.quote.commands

Class AdminQuoteItemUpdateCmdImpl

  • All Implemented Interfaces:
    AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, OrderItemAddCmd, OrderItemUpdateCmd, AdminQuoteItemUpdateCmd, QuoteItemAddCmd, QuoteItemUpdateCmd, Protectable, com.ibm.websphere.cache.Sizeable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command, com.ibm.websphere.command.CommandCaller, com.ibm.websphere.command.TargetableCommand, java.io.Serializable


    public class AdminQuoteItemUpdateCmdImpl
    extends QuoteItemUpdateCmdImpl
    implements AdminQuoteItemUpdateCmd
    This is the default implementation of the AdminQuoteItemUpdateCmd controller command.

    Behavior

    • The command calls ResolveOrdersCmd with the orderId input parameter to get a list of orders. If the orderId is not specified, then the default is "." (The current pending orders).
    • The command can handle multiple items in one transaction. The multiple items are specified using the enumeration group i. For example, if you want to update multiple order items, you can specify orderItemId_i as a parameter where i can be 1, 2, 3, and so on.
      1. The enumeration group i must be an integer though it need not be a consecutive integer. The command will handle each enumeration group in numeric order.
      2. A parameter in the enumeration group i = 0 has a special meaning. That is, if a parameter with enumeration group 0, then this parameter applies to all other enumeration groups. For example, if you want to update all order items with the same shipping address where id=1001. You can specify addressId_0=1001 instead of specifying addressId_1=1001&addressId_2=1001&addressId_3=1001.
      3. If a parameter does not have an enumeration group, then it means that it is in enumeration group 0. So, instead of specifying addressId_0=1001, you can specify addressId=1001.
      4. For administration override purposes the orderItemId_i, price_i, quantity_i, overrideReasonCode_i, remark_i are expected, along with catEntryId_i and orderId .
      5. The orderItemId, caEntryId, partNumber, and expandConfigurationId parameters are the keys for each enumeration group. Since one orderItemId cannot apply to all enumeration groups you should not use enumeration group 0 for such parameters. If you use the enumeration group 0 or don't specify the enumeration group for these parameters, then the command will only handle one item. All parameters in other enumeration groups are ignored.
    • This command invokes the ValidateDelegatedPriceCmd, NotifyBlockCmd
    See Also:
    Serialized Form
    • Field Detail

      • COPYRIGHT

        public static final java.lang.String COPYRIGHT
        IBM copyright notice field.
        See Also:
        Constant Field Values
      • CLASS_NAME

        public static final java.lang.String CLASS_NAME
        The full name of this class.
    • Constructor Detail

      • AdminQuoteItemUpdateCmdImpl

        public AdminQuoteItemUpdateCmdImpl()
    • Method Detail

      • getTheUserId

        public java.lang.Long getTheUserId()
        Returns user id.
        Overrides:
        getTheUserId in class OrderItemBaseCmdImpl
        Returns:
        user id. if the parameter forUserId is set, return it. Otherwise return the user id in the session.
      • reset

        public void reset()
        Resets the instance variables.
        Specified by:
        reset in interface com.ibm.websphere.command.Command
        Overrides:
        reset in class OrderItemBaseCmdImpl
      • setCurrency

        public void setCurrency(java.util.Hashtable ahshCurrency)
        Sets the currency.
        Specified by:
        setCurrency in interface AdminQuoteItemUpdateCmd
        Parameters:
        ahshCurrency - a hashtable of currency.
      • setPrice

        public void setPrice(java.util.Hashtable ahshPrice)
        Sets the price.
        Specified by:
        setPrice in interface AdminQuoteItemUpdateCmd
        Parameters:
        ahshPrice - a hashtable of price
      • setRequestProperties

        public void setRequestProperties(TypedProperty aRequestProperties)
                                  throws ECException
        Sets the request properties. It calls super.setRequestProperties.
        Specified by:
        setRequestProperties in interface ControllerCommand
        Overrides:
        setRequestProperties in class com.ibm.commerce.quote.commands.QuoteItemBaseCmdImpl
        Parameters:
        aRequestProperties - request properties.
        Throws:
        ECException - the exception is thrown if the super.setRequestProperties throws the exception.
      • setNewTradingId

        public void setNewTradingId(java.lang.Long anTradingId)
        Sets the trading id to be stored in OrderItem.
        Parameters:
        anTradingId - the trading id to be stored in OrderItem.