com.ibm.commerce.rfq.commands
Class RFQToContractCreateCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.rfq.commands.RFQToContractCreateCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, RFQToContractCreateCmd

public class RFQToContractCreateCmdImpl
extends ControllerCommandImpl
implements RFQToContractCreateCmd

This is the default implementation of the RFQToContractCreateCmd. This command calls the following TaskCommands:

This command uses the following AccessBeans:
See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.ibm.commerce.command. ControllerCommandImpl
requestProperties, responseProperties, retriable, viewReqProperties
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.rfq.commands. RFQToContractCreateCmd
COPYRIGHT, defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand
COPYRIGHT
 
Constructor Summary
RFQToContractCreateCmdImpl()
           
 
Method Summary
 void createContracts()           Creates a contract for each winning response. This method does the following:
Retrieves the list of winning responses for the incoming RFQ. For each response, performs the following steps. Creates a contract with the same name as the RFQ Response. Creates Shipping Charge TC. Creates Return Charge TC. Creates Return Payment TC. Creates Custom Price List TC. Creates Participant entries for the seller and the buyer.
 java.lang.Long getAccountId()
          Gets the accountId
 java.lang.Long getResId()
          Gets the resId
  AccessVector getResources()           Gets the access vector accessed by this command.
 java.lang.String getReturnApprovalPolicy()
          Gets the returnApprovalPolicy
 java.lang.String getReturnChargePolicy()
          Gets the returnChargePolicy
 java.lang.String[] getReturnPaymentPolicies()
          Returns the return payment policies.
 java.lang.Long getRfqId()
          Returns the RFQ identifier.
 java.lang.Long getRfqOwner()
          Returns the RFQ owner's member Id.
 java.lang.String getShipChargeType()
          Gets the shipChargeType
 void performExecute()           Completes the RFQ by creating a contract for the winning response. This method does the following:
Creates the contract if there is no more winning responses: 1) Sets the state of the RFQ to "Complete". 2) Sets the completion time for the RFQ. 3) Raises a UBF event to change the state of all the non-winning responses that are in evaluation for this RFQ
 void reset()
          Reset the command
 void setAccountId(java.lang.Long accountId)
          Sets the accountId
 void setRequestProperties( TypedProperty requestProperties)           Get the rfqId, resId, billTo parameters from the request.
 void setResId(java.lang.Long resId)
          Sets the resId
 void setReturnApprovalPolicy(java.lang.String returnApprovalPolicy)
          Sets the returnApprovalPolicy
 void setReturnChargePolicy(java.lang.String returnChargePolicy)
          Sets the returnChargePolicy
 void setReturnPaymentPolicies(java.lang.String[] returnPaymentPolicies)
          Sets the return payment policies.
 void setRfqId(java.lang.Long newRfqId)
          Assigns the incoming RFQ identifier to a member variable.
 void setRfqOwner(java.lang.Long newRfqOwner)
          Assigns the incoming member identifier of the RFQ owner to a member variable.
 void setShipChargeType(java.lang.String shipChargeType)
          Sets the shipChargeType
 void validateParameters()           Validates the incoming parameters for this command. This method expects the following parameters : offering_id , the reference number of the RFQ that is to be completed This method does the following:
Checks if a RFQ Id has been specified. Checks if the specified RFQ Id is valid. Checks if the RFQ is in the appropriate state. Calls checkContractParamters, if the endresult of this RFQ is a contract. Calls checkOrderParamters, if the endresult of this RFQ is an order. Throws an INVALID OFFERING ID Excepion if the endresult is neither.
 
Methods inherited from class com.ibm.commerce.command. ControllerCommandImpl
checkPermission, fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResourceOwners, getResponseProperties, getRetriable, getViewInputProperties, isGeneric, isRetriable, mergeProperties, setForUserId, setGeneric, setOwner, setResponseProperties, setRetriable, setViewInputProperties
 
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, 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
 
Methods inherited from interface com.ibm.commerce.command. ControllerCommand
checkPermission, execute, getGeneric, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isGeneric, isRetriable, mergeProperties, setGeneric, setRetriable, setViewInputProperties
 
Methods inherited from interface com.ibm.commerce.command. AccCommand
accessControlCheck, getAccCheck, getForUserId, getResourceOwners, setAccCheck, setForUserId, setOwner
 
Methods inherited from interface com.ibm.commerce.command. ECCommand
checkIsAllowed, checkResourcePermission, createCommandExecutionEvent, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 

Constructor Detail

RFQToContractCreateCmdImpl

public RFQToContractCreateCmdImpl()
Method Detail

reset

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

getResources

public AccessVector getResources()
                          throws ECException
Gets the access vector accessed by this command.
Specified by:
getResources in interface ECCommand
Overrides:
getResources in class AbstractECTargetableCommand
Returns:
AccessVector - a vector of resource action pairs
Throws:
ECException - see ECCommand#getResources()

createContracts

public void createContracts()
                     throws ECException
Creates a contract for each winning response. This method does the following:
  1. Retrieves the list of winning responses for the incoming RFQ.
  2. For each response, performs the following steps.
  3. Creates a contract with the same name as the RFQ Response.
  4. Creates Shipping Charge TC.
  5. Creates Return Charge TC.
  6. Creates Return Payment TC.
  7. Creates Custom Price List TC.
  8. Creates Participant entries for the seller and the buyer.
Throws:
ECException

getRfqId

public java.lang.Long getRfqId()
Returns the RFQ identifier.
Returns:
The RFQ Id.

getRfqOwner

public java.lang.Long getRfqOwner()
Returns the RFQ owner's member Id.
Returns:
The member Id of the RFQ owner.

getAccountId

public java.lang.Long getAccountId()
Gets the accountId
Returns:
Returns a java.lang.Long

performExecute

public void performExecute()
                    throws ECException
Completes the RFQ by creating a contract for the winning response. This method does the following:
  1. Creates the contract
  2. if there is no more winning responses:
  3. 1) Sets the state of the RFQ to "Complete".
  4. 2) Sets the completion time for the RFQ.
  5. 3) Raises a UBF event to change the state of all the non-winning responses that are in evaluation for this RFQ
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException
See Also:
ECCommand#performExecute()

setRequestProperties

public void setRequestProperties(TypedProperty requestProperties)
                          throws ECException
Get the rfqId, resId, billTo parameters from the request.
Specified by:
setRequestProperties in interface ControllerCommand
Overrides:
setRequestProperties in class ControllerCommandImpl
Parameters:
requestProperties - TypedProperty containing the input parameters
Throws:
ECException - This exception can be raised with any of the following messages _ERR_RFQ_INVALID_REQUESTID, _ERR_RFQ_INVALID_RESPONSEID, _ERR_RFQ_NO_SHIPPING_CHARGE.
See Also:
ControllerCmd#setRequestProperties(TypedProperty)

setRfqId

public void setRfqId(java.lang.Long newRfqId)
Assigns the incoming RFQ identifier to a member variable.
Parameters:
newRfqId - The RFQ identifier.

setRfqOwner

public void setRfqOwner(java.lang.Long newRfqOwner)
Assigns the incoming member identifier of the RFQ owner to a member variable.
Parameters:
newRfqOwner - The member Id of the RFQ owner.

setAccountId

public void setAccountId(java.lang.Long accountId)
Sets the accountId
Parameters:
accountId - The accountId to set

validateParameters

public void validateParameters()
                        throws ECException
Validates the incoming parameters for this command. This method expects the following parameters : offering_id , the reference number of the RFQ that is to be completed This method does the following:
  1. Checks if a RFQ Id has been specified.
  2. Checks if the specified RFQ Id is valid.
  3. Checks if the RFQ is in the appropriate state.
  4. Calls checkContractParamters, if the endresult of this RFQ is a contract.
  5. Calls checkOrderParamters, if the endresult of this RFQ is an order.
  6. Throws an INVALID OFFERING ID Excepion if the endresult is neither.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException
See Also:
ECCommand#validateParameters()

getResId

public java.lang.Long getResId()
Gets the resId
Returns:
Returns a java.lang.Long

setResId

public void setResId(java.lang.Long resId)
Sets the resId
Parameters:
resId - The resId to set

getShipChargeType

public java.lang.String getShipChargeType()
Gets the shipChargeType
Returns:
Returns a String

setShipChargeType

public void setShipChargeType(java.lang.String shipChargeType)
Sets the shipChargeType
Parameters:
shipChargeType - The shipChargeType to set

getReturnChargePolicy

public java.lang.String getReturnChargePolicy()
Gets the returnChargePolicy
Returns:
Returns a String

setReturnChargePolicy

public void setReturnChargePolicy(java.lang.String returnChargePolicy)
Sets the returnChargePolicy
Parameters:
returnChargePolicy - The returnChargePolicy to set

getReturnApprovalPolicy

public java.lang.String getReturnApprovalPolicy()
Gets the returnApprovalPolicy
Returns:
Returns a String

setReturnApprovalPolicy

public void setReturnApprovalPolicy(java.lang.String returnApprovalPolicy)
Sets the returnApprovalPolicy
Parameters:
returnApprovalPolicy - The returnApprovalPolicy to set

getReturnPaymentPolicies

public java.lang.String[] getReturnPaymentPolicies()
Returns the return payment policies.
Returns:
The return payment policies.

setReturnPaymentPolicies

public void setReturnPaymentPolicies(java.lang.String[] returnPaymentPolicies)
Sets the return payment policies.
Parameters:
returnPaymentPolicies - The return payment policies.