com.ibm.commerce.utf.commands
Class CreateOrderItemPAttributeTCCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.utf.commands.CreateOrderItemPAttributeTCCmdImpl
All Implemented Interfaces:
CreateOrderItemPAttributeTCCmd, ECCommand, ECTargetableCommand, TaskCommand

public class CreateOrderItemPAttributeTCCmdImpl
extends TaskCommandImpl
implements CreateOrderItemPAttributeTCCmd

Creates terms and conditions of type "OrderItemPAttribute".

This command can be used to convert personalization attributes specified for each item during the course of a negotiation into Terms and Conditions associated with a trading agreement. When an order results from this trading agreement, these OrderItemPAttribute TCs will appear as personalized attributes for each order item.

Behaviour

The command loops through the list of personalized attributes and does the following for each attribute:

  1. Composes an XML element for an OrderItemPAttributeTC that conforms to the Trading DTD.
  2. Creates the OrderItemPAttribute Term and Condition object using the XML element and the supplied trading agreement ID.

Exception conditions

This is the default implementation of the CreateOrderItemPAttributeTCCmd. This command uses the following AccessBeans:
See Also:
Serialized Form

Field Summary
 java.util.Vector attributeInfo
          Attribute if vector.
 java.lang.Long catentryId
          Catentry Id.
 java.lang.Long tradingId
          Trading Id.
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.utf.commands. CreateOrderItemPAttributeTCCmd
COPYRIGHT, defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand
COPYRIGHT
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
CreateOrderItemPAttributeTCCmdImpl()
          Default Constructor.
 
Method Summary
 java.util.Vector getAttributeInfo()
          Retrieves the list of personalized attributes.
 java.lang.Long getCatentryId()
          Retrieves the catalog entry ID.
 java.lang.Long getTradingId()
          Retrieves the trading agreement ID.
 void performExecute()
          Creates one OrderItemPAttribute TC for every incoming personalization attribute.
 void reset()
          Reset the command.
 void setAttributeInfo(java.util.Vector newAttributeInfo)
          Stores the list of personalization attributes that need to be converted into terms and conditions.
 void setCatentryId(java.lang.Long newCatentryId)
          Stores the incoming catalog entry ID.
 void setTradingId(java.lang.Long newTradingId)
          Stores the incoming trading agreement ID.
 void validateParameters()           This method does the following: Verifies that a trading agreement ID has been provided and exists. Verifies that a catalog entry ID has been provided. Verifies that a list of personalized attributes has been provided for the catalog entry.
 
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

catentryId

public java.lang.Long catentryId
Catentry Id.

tradingId

public java.lang.Long tradingId
Trading Id.

attributeInfo

public java.util.Vector attributeInfo
Attribute if vector.
Constructor Detail

CreateOrderItemPAttributeTCCmdImpl

public CreateOrderItemPAttributeTCCmdImpl()
Default Constructor.
Method Detail

reset

public void reset()
Reset the command.
Overrides:
reset in class AbstractECTargetableCommand

getAttributeInfo

public java.util.Vector getAttributeInfo()
Retrieves the list of personalized attributes.
Returns:
The list of personzalised attributes.

getCatentryId

public java.lang.Long getCatentryId()
Retrieves the catalog entry ID.
Returns:
The catalog entry ID.

getTradingId

public java.lang.Long getTradingId()
Retrieves the trading agreement ID.
Returns:
The trading agreement ID.

performExecute

public void performExecute()
                    throws ECException
Creates one OrderItemPAttribute TC for every incoming personalization attribute. This method does the following for every personalization attribute:
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECApplicationException - If no value was provided for a personalization attribute. If an application error occurs while creating the TC.
ECSystemException - If a system error occurs while creating the TC.
ECException
See Also:
ECCommand#performExecute()

setAttributeInfo

public void setAttributeInfo(java.util.Vector newAttributeInfo)
Stores the list of personalization attributes that need to be converted into terms and conditions.
Specified by:
setAttributeInfo in interface CreateOrderItemPAttributeTCCmd
Parameters:
newAttributeInfo - The list of personalization attributes.

setCatentryId

public void setCatentryId(java.lang.Long newCatentryId)
Stores the incoming catalog entry ID.
Specified by:
setCatentryId in interface CreateOrderItemPAttributeTCCmd
Parameters:
newCatentryId - The ID of the catalog entry.

setTradingId

public void setTradingId(java.lang.Long newTradingId)
Stores the incoming trading agreement ID.
Specified by:
setTradingId in interface CreateOrderItemPAttributeTCCmd
Parameters:
newTradingId - The ID of the trading agreement.

validateParameters

public void validateParameters()
                        throws ECException
This method does the following:
  1. Verifies that a trading agreement ID has been provided and exists.
  2. Verifies that a catalog entry ID has been provided.
  3. Verifies that a list of personalized attributes has been provided for the catalog entry.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECApplicationException -
  • If the trading agreement ID has not been provided.
  • If no trading agreement with the given ID exists.
  • If the catalog entry ID has not been provided.
  • If the list of personalized attributes has not been provided.
  • ECException
    See Also:
    ECCommand#validateParameters()