com.ibm.commerce.contract.commands
Class ContractImportApprovedVersionCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.contract.commands.TradingAgreementImportBaseCmdImpl
                          |
                          +--com.ibm.commerce.contract.commands.ContractImportApprovedVersionCmdImpl
All Implemented Interfaces:
AccCommand, ContractImportApprovedVersionCmd, ControllerCommand, ECCommand, ECTargetableCommand

public class ContractImportApprovedVersionCmdImpl
extends TradingAgreementImportBaseCmdImpl
implements ContractImportApprovedVersionCmd

Import a contract from a specified XML file (WebSphere Commerce Business Edition only). The state of the contract in the XML file has to be either Approved or Active. This command called CreateXSDContractCmd, ValidateContractCmd, ContractDeployCmd, ImportDTDContractApprovedVersionCmd,AddContractNLDescriptionCmd, AddStoreNLDescriptionCmd. The following AccessBeans are used in this default implementation: ContractAccessBean, AccountAccessBean, UserAccessBean, OrganizationAccessBean, MemberGroupAccessBean, ParticipantAccessBean, and the AccessBeans are used in the default implementation of the called commands.

See Also:
CreateXSDCmdImple, AddContractNLDescriptionCmdImpl, AddStoreNLDescriptionCmdImpl, ImportDTDContractApprovedVersionCmd, Serialized Form

Field Summary
static java.lang.String CLASSNAME
          The name of this command.
static java.lang.String COPYRIGHT
          IBM copyright notice field.
 
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.contract.commands. ContractImportApprovedVersionCmd
defaultCommandClassName
 
Constructor Summary
ContractImportApprovedVersionCmdImpl()
           
 
Method Summary
 java.lang.Integer getContractState()
          Returns the state of the new created contract.
 java.lang.String getUrl()
          Deprecated.  
 void importContract(org.w3c.dom.Element argContractElement, java.lang.Integer contractState)
          Deprecated.  
 void performExecute()
          Imports the Approved or Active contract based on the information in contract XML file.
 void setContractXML(java.io.InputStream contractXML)
          Sets the contract XML instance.
 void setContractXMLFileName(java.lang.String contractFileName)
          Sets the contract XML file name.
 void setRequestProperties( TypedProperty aRequestProperties)
          Sets the request properties.
 void setRootElement(org.w3c.dom.Element rootDocElm)
          Sets the root Element of the contract XML file.
 void setStoreId(java.lang.Integer storeId)
          Sets the ID of the store which the contract will be deployed to.
 void setUrl(java.lang.String astrUrl)
          Sets the redirect url to be called when the command completes successfully.
 void setXMLEntityPath(java.lang.String path)
          Sets the XML entity path.
 void setXSDFlag(boolean xsdFlag)
          Sets the XSD flag to indicate the XML instance file is based on XSD or DTD.
 void validateParameters()
          This is where parameter checking is done.
 
Methods inherited from class com.ibm.commerce.contract.commands. TradingAgreementImportBaseCmdImpl
getAccountId, getContractId, getDOMFromFile, getDOMFromInputStream, getElementsByTag, getXMLFlag, importContractNLDesc, importFfcNLDesc, importStoreNLDesc, saveAccount, saveContract
 
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, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, reset, 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, getResources, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 

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

CLASSNAME

public static final java.lang.String CLASSNAME
The name of this command.
See Also:
Constant Field Values
Constructor Detail

ContractImportApprovedVersionCmdImpl

public ContractImportApprovedVersionCmdImpl()
Method Detail

getContractState

public java.lang.Integer getContractState()
Returns the state of the new created contract.
Returns:
the state of the new created contract.

getUrl

public java.lang.String getUrl()
Deprecated.  
Gets the redirection URL to be called when the command completes successfully.
Returns:
the redirect URL

importContract

public void importContract(org.w3c.dom.Element argContractElement,
                           java.lang.Integer contractState)
                    throws ECException
Deprecated.  
Import a contract based on the contract element
Parameters:
contractState - the state of the contract
Throws:
ECException
See Also:
validateContract(), TradingAgreementImportBaseCmdImpl.saveContract(Element contractElement, boolean actionFlag)

performExecute

public void performExecute()
                    throws ECException
Imports the Approved or Active contract based on the information in contract XML file.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_FINDER_EXCEPTION if the FinderException occurred. Raised with message _ERR_REMOTE_EXCEPTION if the RemoteException occurred. Raised with message _ERR_NAMING_EXCEPTION if the NamingException occurred. Raised with message _ERR_CREATE_EXCEPTION if the CreateException occurred. Raised with message _ERR_SQL_EXCEPTION if the SQLException occurred.
See Also:
deployContract(), AddContractNLDescriptionCmdImpl.performExecute(), AddStoreNLDescriptionCmdImpl#performExecute(), TradingAgreementImportBaseCmdImpl.saveContract(Element contractElement, boolean actionFlag), ImportDTDContractApprovedVersionCmdImpl.performExecute(), AbstratECTargetableCommand#performExecute()

setContractXMLFileName

public void setContractXMLFileName(java.lang.String contractFileName)
Sets the contract XML file name.
Specified by:
setContractXMLFileName in interface ContractImportApprovedVersionCmd
Parameters:
contractFileName - the name of the contract XML file

setRequestProperties

public void setRequestProperties(TypedProperty aRequestProperties)
                          throws ECApplicationException
Sets the request properties.
Specified by:
setRequestProperties in interface ControllerCommand
Overrides:
setRequestProperties in class ControllerCommandImpl
Parameters:
aRequestProperties - the request properties The mandatory name-value pairs are fileName, URL. The optional name-value pairs are XSD, targetStoreId, validate, path. if the XSD parameter is set to true, it means the XML file is based on XSD. Otherwise it is DTD based. The default value for the XSD parameter is false. The validate parameter indicates if the XML parser will validate the XML file against XSD/DTD. true - validate, false - do not validate. The default value of the validate parameter is true. If the importing contract is an Active contract, the targetStoreId is a required parameter. The path parameter indicates the paths of dtd or XML schema files. The default value of the path is specified in the WebSphere Commerce instance XML file.
Throws:
ECApplicationException - Raised with message _ERR_MISSING_CMD_PARAMETER when any one of the required url parameters is missing.
See Also:
ControllerCommand.setRequestProperties(TypedProperty)

setContractXML

public void setContractXML(java.io.InputStream contractXML)
Sets the contract XML instance.
Specified by:
setContractXML in interface ContractImportApprovedVersionCmd
Parameters:
contractXML - an InputStream object contains the contract XML instance

setRootElement

public void setRootElement(org.w3c.dom.Element rootDocElm)
Sets the root Element of the contract XML file.
Specified by:
setRootElement in interface ContractImportApprovedVersionCmd
Parameters:
rootDocElm - the document Element object of the contract XML

setStoreId

public void setStoreId(java.lang.Integer storeId)
Sets the ID of the store which the contract will be deployed to.
Specified by:
setStoreId in interface ContractImportApprovedVersionCmd
Parameters:
storeId - the store ID.

setUrl

public void setUrl(java.lang.String astrUrl)
Sets the redirect url to be called when the command completes successfully.
Specified by:
setUrl in interface ContractImportApprovedVersionCmd
Parameters:
astrUrl - the redirect url string

setXMLEntityPath

public void setXMLEntityPath(java.lang.String path)
Sets the XML entity path.
Specified by:
setXMLEntityPath in interface ContractImportApprovedVersionCmd
Parameters:
path - the path where can find the DTD or XML Schema file(s)

setXSDFlag

public void setXSDFlag(boolean xsdFlag)
Sets the XSD flag to indicate the XML instance file is based on XSD or DTD.
Specified by:
setXSDFlag in interface ContractImportApprovedVersionCmd
Overrides:
setXSDFlag in class TradingAgreementImportBaseCmdImpl
Parameters:
xsdFlag - XSD flag, true for XSD, false for DTD

validateParameters

public void validateParameters()
                        throws ECException
This is where parameter checking is done. This method does the following checks 1. if the file and the XSD file can be found 2. if the XML file is valid (if the validation is set to true) 3. if the contract is in right state for this command. The contract should be either in Approved or Active state
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_MISSING_CMD_PARAMETER if the targetStoreId parmeter was missing from the url for an Active contract. Raised with message _ERR_FILE_NOT_FOUND if the XML file or XSD file cannot be found. Raised with message _ERR_PARSE_XML_FILE if an error occurred when the XML parser parses the XML file. Raised with message _ERR_GENRIC_PARSE_XML_FILE if an IO error occurred. Raised with message _ERR_WRONG_CONTRACT_STATE if the contract is not in Approved or Active state. Raised with message _ERR_MISSING_CONTRACT_NAME if the contract name is empty string in the XML file. Raised with message _ERR_WRONG_ACCOUNT_OWNER_INFO if an error occurred when retrieving the account owner id. Raised with message _ERR_ACCOUNT_DOES_NOT_EXIST if an error occurred when retrieving the account based the account name and account owner id. Raised with message _ERR_WRONG_CONTRACT_OWNER_MEMBER_INFO if an error occurred when retrieving the contract owner id. Raised with message _ERR_DUPLICATED_CONTRACT_NAME if there is a contract existed with the same name, owner, and origin. Raised with message _ERR_CONTRACT_REFERENCE_NUMBER_NOT_REQUIRED if the contract referenceNumber attribute is provided in the XML file for Contract element. Raised with message _ERR_MISSING_XML_INSTANCE_FOR_CONTRACT_IMPORT if there is not any XML instance object for this command Raised with message _ERR_XML_DOCUMENT_NULL if there is not Document object in the XML instance. Raised with message _ERR_MISSING_CONTRACT_OR_CONTRACT_DESC_ELEMENT if neither of the contract and contract national lanaguage description element is in XML instance.
See Also:
AbstratECTargetableCommand#validateParameters()