com.ibm.commerce.contract.commands

Class ContractAttachmentAddCmdImpl

  • java.lang.Object
    • com.ibm.websphere.command.CacheableCommandImpl
      • com.ibm.commerce.command.MeasuredCacheableCommandImpl
        • com.ibm.commerce.command.AbstractECTargetableCommand
          • com.ibm.commerce.command.ControllerCommandImpl
            • com.ibm.commerce.contract.commands.ContractAttachmentAddCmdImpl
  • All Implemented Interfaces:
    com.ibm.commerce.command.AccCommand, com.ibm.commerce.command.ControllerCommand, com.ibm.commerce.command.ECCommand, com.ibm.commerce.command.ECTargetableCommand, ContractAttachmentAddCmd, com.ibm.commerce.security.Protectable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command


    public class ContractAttachmentAddCmdImpl
    extends com.ibm.commerce.command.ControllerCommandImpl
    implements ContractAttachmentAddCmd
    This is the default implementation of the ContractAttachmentAddCmd controller command.

    Input parameters:

    Name Description
    contractId The contract ID. It is mandatory.
    url The uri for an attachment. It is mandatory.
    mimeType The mime type of the attachment. It is optional.
    mimeTypeEncoding The encoding of mime type of the attachment. It is optional.

    Output parameters:

    None.

    Behaviour:

    Adds an attachment to the contract. If the attachment does not exist, the command will add the attachment first (WebSphere Commerce Enterprise only).

    Access Beans used:

    • ContractAccessBean
    • TradingAttachmentRelationAccessBean
    • AttachmentAccessBean
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      com.ibm.commerce.accesscontrol.AccessVector getResources()
      Gets the access vector accessed by this command.
      void performExecute()
      Executes the business logic of this command implementation.
      void setMimeType(java.lang.String mimeType)
      Sets the MIME type of the attachment.
      void setMimeTypeEncoding(java.lang.String mimeTypeEncoding)
      Sets the MIME type encoding of the attachment.
      void setRequestProperties(com.ibm.commerce.datatype.TypedProperty aRequestProperties)
      Retrieves input parameters from the request properties.
      void setTradingId(java.lang.Long newInTradingId)
      Sets the ID of the trading agreement to which the attachment will be added.
      void setURI(java.lang.String newIstrURI)
      Sets URI of the attachment.
      void validateParameters()
      Validates the contract to check if it is in right state for this process.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • 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, checkResourcePermission, createCommandExecutionEvent, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getExceptionInvokeParameters, getObjectSize, getPostInvokeParameters, getPreInvokeParameters, getStoreId, getUser, getUserId, isReadyToCallExecute, reset, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
      • 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, getExceptionInvokeParameters, getPostInvokeParameters, getPreInvokeParameters, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
      • Methods inherited from interface com.ibm.commerce.security.Protectable

        fulfills, getOwner
    • Field Detail

      • CLASSNAME

        public static final java.lang.String CLASSNAME
        The full name of this class.
        See Also:
        Constant Field Values
      • COPYRIGHT

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

      • ContractAttachmentAddCmdImpl

        public ContractAttachmentAddCmdImpl()
        Constructor for ContractAttachmentAddCmdImpl.
    • Method Detail

      • getResources

        public com.ibm.commerce.accesscontrol.AccessVector getResources()
                                                                 throws com.ibm.commerce.exception.ECException
        Gets the access vector accessed by this command. The default implementation returns ContractAccessBean of the contract which the attachment will be added to.

        Specified by:
        getResources in interface com.ibm.commerce.command.ECCommand
        Overrides:
        getResources in class com.ibm.commerce.command.AbstractECTargetableCommand
        Returns:
        AccessVector - a vector of resource action pairs
        Throws:
        com.ibm.commerce.exception.ECException
        See Also:
        AbstractECTargetableCommand.getResources()
      • performExecute

        public void performExecute()
                            throws com.ibm.commerce.exception.ECException
        Executes the business logic of this command implementation. The method adds the attachment to the specified contract.
        Specified by:
        performExecute in interface com.ibm.commerce.command.ECCommand
        Overrides:
        performExecute in class com.ibm.commerce.command.AbstractECTargetableCommand
        Throws:
        com.ibm.commerce.exception.ECException - Raised with message _ERR_DUPLICATED_ATTACHMENT_URL if the relationship between the trading agreement and the specified attachment already exists.
        See Also:
        AbstractECTargetableCommand.performExecute()
      • setMimeType

        public void setMimeType(java.lang.String mimeType)
        Sets the MIME type of the attachment.
        Specified by:
        setMimeType in interface ContractAttachmentAddCmd
        Parameters:
        mimeType - the MIME type for the attachment
      • setMimeTypeEncoding

        public void setMimeTypeEncoding(java.lang.String mimeTypeEncoding)
        Sets the MIME type encoding of the attachment.
        Specified by:
        setMimeTypeEncoding in interface ContractAttachmentAddCmd
        Parameters:
        mimeTypeEncoding - the MIME type encoding of the attachment
      • setRequestProperties

        public void setRequestProperties(com.ibm.commerce.datatype.TypedProperty aRequestProperties)
                                  throws com.ibm.commerce.exception.ECApplicationException
        Retrieves input parameters from the request properties.
        Specified by:
        setRequestProperties in interface com.ibm.commerce.command.ControllerCommand
        Overrides:
        setRequestProperties in class com.ibm.commerce.command.ControllerCommandImpl
        Parameters:
        aRequestProperties - An TypedProperty object contains the input parameters. For this default implementation, contractId and url parameters are required.
        Throws:
        com.ibm.commerce.exception.ECApplicationException - Raised with message _ERR_MISSING_CMD_PARAMETER when contractId or url is missed from the URL. Raised with message _ERR_NUMBER_FORMAT_EXCEPTION if the parameter(s) provided from the URL do not match their types.
        See Also:
        ControllerCommandImpl.setRequestProperties(TypedProperty)
      • setTradingId

        public void setTradingId(java.lang.Long newInTradingId)
        Sets the ID of the trading agreement to which the attachment will be added.
        Specified by:
        setTradingId in interface ContractAttachmentAddCmd
        Parameters:
        newInTradingId - the ID of the trading agreement
      • setURI

        public void setURI(java.lang.String newIstrURI)
        Sets URI of the attachment.
        Specified by:
        setURI in interface ContractAttachmentAddCmd
        Parameters:
        newIstrURI - the attachment uri
      • validateParameters

        public void validateParameters()
                                throws com.ibm.commerce.exception.ECException
        Validates the contract to check if it is in right state for this process.
        Specified by:
        validateParameters in interface com.ibm.commerce.command.ECCommand
        Overrides:
        validateParameters in class com.ibm.commerce.command.AbstractECTargetableCommand
        Throws:
        com.ibm.commerce.exception.ECException - Raised with message _ERR_WRONG_CONTRACT_STATE if the contract is not in either Draft or Rejected state. Raised with message _ERR_CONTRACT_OBJECT_NOT_FOUND if the contract cannot be found. It is based on the provided contract ID. Raised with message _ERR_DIDNT_LOGON if the user did not logon to WebSphere Commerce.
        See Also:
        AbstractECTargetableCommand.validateParameters()