com.ibm.commerce.marketing.facade.server.commands

Class ProcessActivityProcessWinnerActionCmdImpl

  • All Implemented Interfaces:
    AbstractProcessNounActionCmd, ProcessActivityActionCmd, 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 ProcessActivityProcessWinnerActionCmdImpl
    extends AbstractProcessCustomActionUsingBusinessObjectMediatorCmdImpl
    implements ProcessActivityActionCmd
    This command is used to process the winner of a marketing activity experiment. A new activity is created with the experiment branch removed, and only the winning test element path remains in the activity flow. The winner is set as the 'winner=true' name value pair on the winning test element path before this command is called. The existing activity is set as a previous version of the new activity. The existing activity must be inactive in order to process the winning path.
    See Also:
    Serialized Form
    • Constructor Detail

      • ProcessActivityProcessWinnerActionCmdImpl

        public ProcessActivityProcessWinnerActionCmdImpl()
    • Method Detail

      • performExecute

        public void performExecute()
                            throws java.lang.Exception
        This method is used to process the winner of a marketing activity experiment. An new activity is created with the experiment branch removed, and only the winning test element path remains in the activity flow. The winner is set as the 'winner=true' name value pair on the winning test element path. The new activity is given a name based on the following rules:
        1. If the winning path has a name, then the new name will be: "Activity Name - Path Name".
        2. If the winning path does not have a name, then the new name will be "Activity Name - Experiment Name".
        3. If the experiment does not have a name, then the new name will be "Activity Name".
        4. If the new name determined from (1,2,3) already exists in the database, then the new name will be: "Name (1)".
        5. If "Name (1)" exists, then the new name will be: "Name (2)".
        6. If "Name (2)" exists, then the new name will be: "Name (3)".
        7. If the "Name (xxx)" is longer than 64 characters, then the "Name" will be truncated at the end and by the number of characters in " (xxx)"
        Specified by:
        performExecute in interface com.ibm.websphere.command.TargetableCommand
        Specified by:
        performExecute in class com.ibm.websphere.command.TargetableCommandImpl
        Throws:
        java.lang.Exception