<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Batch>

<retail:processDetail xmlns:core="http://www.enactor.com/core" xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803" xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803" xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803" xmlns:ns13="http://www.enactor.com/retail/restaurantTableStatus/service" xmlns:ns14="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service" xmlns:ns4="http://www.enactor.com/addressLookup/service" xmlns:ns5="http://www.enactor.com/crm/customerLoyalty/service" xmlns:ns6="http://www.enactor.com/crm" xmlns:ns7="http://www.enactor.com/retail/storedRetailTransaction/service" xmlns:retail="http://www.enactor.com/retail" xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref" xmlns:tools="http://www.enactor.com/tools" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <core:extensionId>ExportAndBroadcastFilteredData</core:extensionId>
    <core:extensionPoint>ExportAndBroadcastFilteredData</core:extensionPoint>
    <core:applyBeforePackages/>
    <core:extensionOverrides/>
    
    <retail:processDetailId>ExportAndBroadcastFilteredData</retail:processDetailId>
    <retail:description>
        <core:string variant="" language="en" country="GB">ExportAndBroadcastFilteredData</core:string>
    </retail:description>
    <retail:processTypeId>CX_PROCESS</retail:processTypeId>
    <retail:applicationProcessId>EstateDirector/FilteredDataBroadcast/ExportAndBroadcastFilteredData</retail:applicationProcessId>
    <retail:originalProcessId>EstateDirector/FilteredDataBroadcast/ExportAndBroadcastFilteredData</retail:originalProcessId>
    <retail:processDef xsi:type="core:UIProcessDef">
        <core:processID>EstateDirector/FilteredDataBroadcast/ExportAndBroadcastFilteredData</core:processID>
        <core:version>1.0</core:version>
        <core:name></core:name>
        <core:defaultMessageBaseName></core:defaultMessageBaseName>
        <core:firstStateID>State</core:firstStateID>
        <core:className></core:className>
        <core:uiHints>
            <entry>
                <key>com.enactor.tools.editor.process.style</key>
                <value>4095</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.xloc</key>
                <value>8</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>8</value>
            </entry>
        </core:uiHints>
        <core:metaData>
            <core:inputs>
                <core:input required="true" name="EnactorHomeDir">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.Broadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </core:input>
            </core:inputs>
            <core:outputs>
                <core:output required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </core:output>
            </core:outputs>
            <stateDataTypes>
                <stateDataType required="true" name="enactor.commonUI.OldFilename">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.commonUI.ZipFileName">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="EnactorHomeDir">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.Broadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.UpdateId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.FileRepositoryUrl">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.fileRepository.LocalPath">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.fileRepository.RepositoryPath">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </stateDataType>
            </stateDataTypes>
        </core:metaData>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetZipFileName</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2047</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>451</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>130</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.CollationDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.commonUI.ZipFileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignOldFilName</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="zipFileName" fromExpression="concat(strings:substring(collationDirectory, strings:lastIndexOf(collationDirectory, '/') + 1, length(collationDirectory)), '.zip')"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ZipFilesToTemporaryDirectory</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.file.actions.ZipDirectoryAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1224</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>145</value>
                </entry>
            </core:uiHints>
            <core:param value="true" required="false" name="enactor.commonUI.DeleteFiles">
                <core:interfaceName>java.lang.Boolean</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.SourceDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.DeleteFiles">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.ZipFileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.commonUI.ZipFileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Call Extension Point</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>DeleteDirectoryAction</core:actionID>
            <core:name>DeleteDirectoryAction</core:name>
            <core:className>com.enactor.commonUI.file.actions.DeleteDirectoryAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1891</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>362</value>
                </entry>
            </core:uiHints>
            <core:param value="true" name="enactor.commonUI.DeleteFiles">
                <core:interfaceName>java.lang.Boolean</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.SourceDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.DeleteFiles">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignUpdateIdToObjectResponse</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>End Process Success</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>949</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2172</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>54</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Success</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Retry</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2179</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>178</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Retry</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>EndProcess:Fail</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2170</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>265</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:outcome>Fail</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetFileName</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1710</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>504</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.OldFilename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.fileRepository.RepositoryPath">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.fileRepository.LocalPath">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>UploadToFileRepository</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="repositoryPath" fromExpression="concatenate('Broadcasts/',updateId,'FilteredProducts.zip')"/>
            <core:dataAssignment toExpression="localPath" fromExpression="oldFilename"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>UploadToFileRepository</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.file.repository.FileUploadAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1934</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>615</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.fileRepository.LocalPath">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.fileRepository.File">
                        <core:interfaceName>java.io.File</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.fileRepository.Path">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>FileRepository:LogFailedToUplodFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>DeleteDirectoryAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>FileRepository:LogFailedToUplodFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2143</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>734</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="FAILED_TO_UPLOAD" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>FileRepository:Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>FileRepository:Fail</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2171</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>432</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:outcome>Fail</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:executeProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Call Extension Point</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UICallExtensionPointProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1550</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>88</value>
                </entry>
            </core:uiHints>
            <core:param value="TargetBroadcastDataBroadcastProcessor" name="enactor.coreUI.ExtensionPointId"/>
            <core:param value="${ProcessConnections.DefinitionId}" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ExtensionPointId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ScheduledJob">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Retry"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.CallExtensionPoint</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Retry</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Retry</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>End Process Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>EndProcess:Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>4</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetFileName</core:toActionID>
                <core:condition>notEmpty(process.fileRepositoryUrl)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:executeProcessId>EstateDirector/FilteredDataBroadcast/TargetBroadcastDataBroadcastProcessor</core:executeProcessId>
        </core:executeProcessAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetFileRepositoryUrl</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>942</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>134</value>
                </entry>
            </core:uiHints>
            <core:param value="#{getConfigValue('FileRepository.URL.Base', null)}" name="enactor.coreProcessing.FileRepositoryUrl">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.FileRepositoryUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.FileRepositoryUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ZipFilesToTemporaryDirectory</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignUpdateIdToObjectResponse</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1879</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>-24</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>End Process Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="object" fromExpression="updateId"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignOldFilName</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2047</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>701</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>130</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="EnactorHomeDir">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.commonUI.OldFilename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetFileRepositoryUrl</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="oldFilename" fromExpression="concat(enactorHomeDir, '/FilteredProducts.zip')"/>
        </core:assignAction>
        <core:state>
            <core:url></core:url>
            <core:stateID>State</core:stateID>
            <core:name></core:name>
            <core:className></core:className>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>45</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>220</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>124</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <handledEvents>
                    <handledEvent name="StateEntered"/>
                </handledEvents>
                <stateDataTypes/>
            </core:metaData>
            <core:typeId>enactor.types.BasicState</core:typeId>
            <core:singleInstance>false</core:singleInstance>
            <core:respondToViewEvents>false</core:respondToViewEvents>
            <core:actionInputMappings>
                <core:actionMapping>
                    <core:actionID>ZipFilesToTemporaryDirectory</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.commonUI.ZipFileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.commonUI.ZipFileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.commonUI.SourceDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SetZipFileName</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.CollationDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>DeleteDirectoryAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.commonUI.SourceDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>UploadToFileRepository</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.fileRepository.LocalPath">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.fileRepository.LocalPath">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.fileRepository.RepositoryPath">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.fileRepository.Path">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.fileRepository.File">
                                    <core:interfaceName>java.io.File</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>FileRepository:LogFailedToUplodFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.referenceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Call Extension Point</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcast.broadcastDetails</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CallTargetBroadcastDataBroadcastProcessor</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcast.broadcastDetails</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionInputMappings>
            <core:actionOutputMappings/>
            <core:eventLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetZipFileName</core:toActionID>
                <core:condition></core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
        </core:state>
        <core:stateTransitions/>
    </retail:processDef>
    <retail:deviceTypeId>ESTATE_MANAGER</retail:deviceTypeId>
</retail:processDetail>

<retail:processDetail xmlns:core="http://www.enactor.com/core" xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803" xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803" xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803" xmlns:ns10="http://www.enactor.com/addressLookup/service" xmlns:ns13="http://www.enactor.com/retail/restaurantTableStatus/service" xmlns:ns14="http://www.enactor.com/crm/customerLoyalty/service" xmlns:ns4="http://www.enactor.com/crm" xmlns:ns8="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service" xmlns:ns9="http://www.enactor.com/retail/storedRetailTransaction/service" xmlns:orders="http://www.enactor.com/orders" xmlns:retail="http://www.enactor.com/retail" xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref" xmlns:tools="http://www.enactor.com/tools" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <core:extensionId>LimitedBroadcastExtension</core:extensionId>
    <core:extensionPoint>LimitedBroadcastExtension</core:extensionPoint>
    <core:applyBeforePackages/>
    <core:extensionOverrides/>
    
    <retail:processDetailId>LimitedBroadcastExtension</retail:processDetailId>
    <retail:description>
        <core:string variant="" language="en" country="GB">LimitedBroadcastExtension</core:string>
    </retail:description>
    <retail:processTypeId>CX_PROCESS</retail:processTypeId>
    <retail:applicationProcessId>EstateDirector/FilteredDataBroadcast/FilteredDataBroadcastProcessor</retail:applicationProcessId>
    <retail:originalProcessId>EstateDirector/FilteredDataBroadcast/FilteredDataBroadcastProcessor</retail:originalProcessId>
    <retail:processDef xsi:type="core:UIProcessDef">
        <core:processID>EstateDirector/FilteredDataBroadcast/FilteredDataBroadcastProcessor</core:processID>
        <core:version>1.0</core:version>
        <core:name></core:name>
        <core:defaultMessageBaseName></core:defaultMessageBaseName>
        <core:firstStateID>State</core:firstStateID>
        <core:className></core:className>
        <core:uiHints>
            <entry>
                <key>com.enactor.tools.editor.process.style</key>
                <value>57</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.xloc</key>
                <value>-215</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>46</value>
            </entry>
        </core:uiHints>
        <core:metaData>
            <core:inputs>
                <core:input required="true" name="MMGGroupKeyList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.mfc.processDetail.ProcessDetail">
                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetail</core:interfaceName>
                </core:input>
                <core:input required="true" name="ProductGroupKeyList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </core:input>
                <core:input required="true" name="SelectionCriteria">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="ProductGroupKey">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="GroupKey">
                    <core:interfaceName>com.enactor.core.group.IGroupKey</core:interfaceName>
                </core:input>
                <core:input required="true" name="MaxRecordCount">
                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                </core:input>
                <core:input required="true" name="FileSize">
                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                </core:input>
                <core:input name="ListID">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.mfc.Location">
                    <core:interfaceName>com.enactor.mfc.location.ILocation</core:interfaceName>
                </core:input>
                <core:input required="true" name="MMGGroupKey">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="EntityList">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="PredefinedBroadcastID">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </core:input>
            </core:inputs>
            <core:outputs>
                <core:output required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </core:output>
            </core:outputs>
            <stateDataTypes>
                <stateDataType required="true" name="SelectionCriteria">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.DataBroadcastDetails">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ParameterList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.processDetail.ProcessDetailKey">
                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetailKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.ScheduledJobKey">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ProductList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType name="ProductIdList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ProductListList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="EntityListList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ProductListListCriteria">
                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="EntityList">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="PredefinedBroadcastID">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="MMGGroupKey">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType name="enactor.coreUI.List">
                    <core:interfaceName>com.enactor.core.group.IGroupKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreUI.ListCriteria">
                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.Location">
                    <core:interfaceName>com.enactor.mfc.location.ILocation</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreUI.Iterator">
                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                </stateDataType>
                <stateDataType name="ProductIterator">
                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="GroupKey">
                    <core:interfaceName>com.enactor.core.group.IGroupKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.Broadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ProductGroupKey">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreProcessing.ItemsAffected">
                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                </stateDataType>
                <stateDataType name="ListID">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="EnactorHomeDir">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="MMGGroupKeyList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="ProductGroupKeyList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="GroupKeyList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="GroupKeyItemList">
                    <core:interfaceName>java.util.List</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="MaxRecordCount">
                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="FileSize">
                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreProcessing.JobId">
                    <core:interfaceName>java.lang.Long</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.processDetail.ProcessDetail">
                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetail</core:interfaceName>
                </stateDataType>
            </stateDataTypes>
        </core:metaData>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>End Process Success</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>949</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6047</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>235</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Success</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreatebroadcastKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>244</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>285</value>
                </entry>
            </core:uiHints>
            <core:param value="predefinedBroadcastKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetBroadcastKeyProperties</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SaveScheduledJob</core:toActionID>
                <core:condition>isEmpty(process.scheduledJob)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ExportXMLFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.ExportXMLFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3374</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>156</value>
                </entry>
            </core:uiHints>
            <core:param value="product" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.MaxEntities">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.IterationsForListenerUpdate">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.TransformKeyPrefix">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.TransformSource">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportProductPriceXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddProductListIdFilter</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.AddListFilterAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1617</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>845</value>
                </entry>
            </core:uiHints>
            <core:param value="ProductListId" name="enactor.coreUI.FilterId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EQUALS" name="enactor.coreUI.ComparisonOperator">
                <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
            </core:param>
            <core:param value="MatchTextValueFilter" required="false" name="enactor.coreUI.FilterType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Maintenance/ProductListMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="productList" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/mfc" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.FilterType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ComparisonOperator">
                        <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.DefaultValue">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LoadList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LoadList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.LoadPagedListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1815</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>845</value>
                </entry>
            </core:uiHints>
            <core:param value="productList" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/mfc" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="listAllWithProduct" name="enactor.coreUI.ListName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ListName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateProductIdListAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddProductIdFilter</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.AddListFilterAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2858</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>809</value>
                </entry>
            </core:uiHints>
            <core:param value="ProductId" name="enactor.coreUI.FilterId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="IN" name="enactor.coreUI.ComparisonOperator">
                <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
            </core:param>
            <core:param value="TextValueFilter" name="enactor.coreUI.FilterType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.FilterType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ComparisonOperator">
                        <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ValueArray">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetProductListIterator</core:actionID>
            <core:name>GetIteratorAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.GetIteratorAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2221</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>845</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterable">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateProductList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>IterateProductList</core:actionID>
            <core:name>IterateAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.IterateAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2439</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>842</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Completed"/>
                    <core:outcome name="Next"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddToListAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddProductIdFilter</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Completed</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateProductIdListAction</core:actionID>
            <core:name>CreateListAction</core:name>
            <core:className>com.enactor.coreUI.actions.CreateListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2999</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2015</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>846</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetProductListIterator</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddToListAction</core:actionID>
            <core:name>AddToListAction</core:name>
            <core:className>com.enactor.commonUI.list.processes.AddToListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2660</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>829</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Value">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateProductList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateProductListCriteria</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateObjectAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1080</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>277</value>
                </entry>
            </core:uiHints>
            <core:param value="com.enactor.core.servers.ListCriteria" name="enactor.coreUI.ObjectClassname">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.ObjectClassname">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateCriteriaJunction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ExportProductPriceXMLFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.ExportXMLFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3580</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>151</value>
                </entry>
            </core:uiHints>
            <core:param value="productPrice" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/mfc" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.MaxEntities">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportProductMediaXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ExportProductMediaXMLFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.ExportXMLFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3776</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>149</value>
                </entry>
            </core:uiHints>
            <core:param value="productMedia" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.MaxEntities">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportSellingCodesXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ExportSellingCodesXMLFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.ExportXMLFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4014</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>149</value>
                </entry>
            </core:uiHints>
            <core:param value="sellingCode" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.MaxEntities">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssigntoEntityList</core:toActionID>
                <core:condition>notEmpty(process.entityList)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CheckCollationDirectoryExists</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignEntityDistributionKeys</core:toActionID>
                <core:condition>isEmpty(process.entityList) &amp;&amp; notEmpty(process.dataBroadcastDetails.entityDistributionKeys)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssigntoEntityList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4517</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>275</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="EntityList">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="EntityListList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetEnityListIterator</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="entityListList" fromExpression="toList(strings:splitCommaDelimitedString(entityList))"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetEnityListIterator</core:actionID>
            <core:name>GetIteratorAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.GetIteratorAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4746</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>273</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterable">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateEntityList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>IterateEntityList</core:actionID>
            <core:name>IterateAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.IterateAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4990</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>275</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Completed"/>
                    <core:outcome name="Next"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CheckCollationDirectoryExists</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Completed</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportEntityXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignEntityDistributionDetailId</core:toActionID>
                <core:condition>isEmpty(process.entityList) &amp;&amp; notEmpty(process.dataBroadcastDetails.entityDistributionKeys)</core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ExportEntityXMLFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.ExportXMLFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5219</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>278</value>
                </entry>
            </core:uiHints>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.MaxEntities">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateEntityList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetBroadcastKeyProperties</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>465</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>284</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="PredefinedBroadcastID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Load Predefined Broadcast</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="predefinedBroadcastKey.predefinedBroadcastId" fromExpression="predefinedBroadcastID"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Load Predefined Broadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.LoadEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>676</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>283</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                    <core:output name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignExportDir</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssigntoCommaSepereatedMMGGroupKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1507</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>235</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="MMGGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="GroupKeyItemList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateProductIdListAction: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="groupKeyItemList" fromExpression="toList(strings:splitCommaDelimitedString(mMGGroupKey))"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssigntoCommaSepereatedProductGroupKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1475</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>614</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="ProductGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="GroupKeyItemList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateProductIdListAction: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="groupKeyItemList" fromExpression="toList(strings:splitCommaDelimitedString(productGroupKey))"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetGroupKeyIterator</core:actionID>
            <core:name>GetIteratorAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.GetIteratorAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2022</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>448</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterable">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateGroupKeyList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>IterateGroupKeyList</core:actionID>
            <core:name>IterateAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.IterateAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2219</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>448</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Completed"/>
                    <core:outcome name="Next"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateGroupKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddProductIdFilter: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Completed</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateGroupKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2455</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>396</value>
                </entry>
            </core:uiHints>
            <core:param value="groupKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignValuesToGroupKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignValuesToGroupKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2653</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>397</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="GroupKeyListItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="GroupKeyEntity">
                        <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="GroupKeyEntity">
                        <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddToGroupKeyListAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="groupKeyEntity.groupId" fromExpression="strings:getStringBefore(groupKeyListItem, ';', &quot;&quot;)"/>
            <core:dataAssignment toExpression="groupKeyEntity.groupHierarchyId" fromExpression="strings:getStringAfter(groupKeyListItem,';', &quot;&quot;)"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddMMGroupFilter</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.AddListFilterAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3054</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>389</value>
                </entry>
            </core:uiHints>
            <core:param value="MMGroupId" name="enactor.coreUI.FilterId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="DetailedDescriptionHierarchicalMMGroupListFilter" name="enactor.coreUI.FilterType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Pos/Product/ProductMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="groupId,groupHierarchyId" required="false" name="enactor.coreUI.FilterVariableNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.DefaultValue">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterVariableNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LoadProductList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>ProductGroupListFilter</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.AddListFilterAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3058</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>773</value>
                </entry>
            </core:uiHints>
            <core:param value="com.enactor.maintenance.resources.ProductMaintenanceMessages" required="false" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="ProductGroupId" name="enactor.coreUI.FilterId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="groupId,groupHierarchyId" name="enactor.coreUI.FilterVariableNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="HierarchicalProductGroupListFilter" name="enactor.coreUI.FilterType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="level" required="false" name="enactor.coreUI.ListIndentationLevelProperty">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="&amp;nbsp;&amp;nbsp;" required="false" name="enactor.coreUI.ListIndent">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.FilterType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.DefaultValue">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterVariableNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListIndentationLevelProperty">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListIndent">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LoadProductList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateGroupKeyListAction</core:actionID>
            <core:name>CreateListAction</core:name>
            <core:className>com.enactor.coreUI.actions.CreateListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2999</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1827</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>474</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetGroupKeyIterator</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddToGroupKeyListAction</core:actionID>
            <core:name>AddToListAction</core:name>
            <core:className>com.enactor.commonUI.list.processes.AddToListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2845</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>391</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Value">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddMMGroupFilter</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ProductGroupListFilter</core:toActionID>
                <core:condition>empty(process.mMGGroupKey)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CheckEntityList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UINullAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2983</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4240</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>282</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.NullAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssigntoEntityList</core:toActionID>
                <core:condition>notEmpty(process.entityList)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>End Process Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignEntityDistributionKeys</core:toActionID>
                <core:condition>isEmpty(process.entityList) &amp;&amp; notEmpty(process.dataBroadcastDetails.entityDistributionKeys)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CheckCollationDirectoryExists</core:actionID>
            <core:name>CheckFileAction</core:name>
            <core:className>com.enactor.commonUI.file.actions.CheckFileAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5476</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>278</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.FileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.commonUI.File">
                        <core:interfaceName>java.io.File</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="NotFound"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LogCollationFileNotFoundError</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>NotFound</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Call Extension Point</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LogCollationFileNotFoundError</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5475</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>509</value>
                </entry>
            </core:uiHints>
            <core:param value="COLLATION_FILE_NOT_FOUND" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/Exports/FileExportMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="0" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.RegionId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.FileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.mfc.LocationId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>EndProcess:Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Retry</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6049</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>356</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Retry</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>EndProcess:Fail</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6050</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>474</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:outcome>Fail</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateCriteriaJunction</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UINullAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2983</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1293</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>290</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.NullAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssigntoCommaSepereatedMMGGroupKey</core:toActionID>
                <core:condition>notEmpty(process.mMGGroupKey)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssigntoCommaSepereatedProductGroupKey</core:toActionID>
                <core:condition>empty(process.mMGGroupKey) &amp;&amp; notEmpty(process.productGroupKey)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddProductListIdFilter</core:toActionID>
                <core:condition>empty(process.mMGGroupKey) &amp;&amp; empty(process.productGroupKey) &amp;&amp; notEmpty(process.listID)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>4</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CheckEntityList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LoadProductList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.LoadPagedListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3252</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>654</value>
                </entry>
            </core:uiHints>
            <core:param value="product" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/mfc" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetProductListIterator: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetProductListIterator: GroupCriteria</core:actionID>
            <core:name>GetIteratorAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.GetIteratorAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3484</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>651</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterable">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateProductList: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>IterateProductList: GroupCriteria</core:actionID>
            <core:name>IterateAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.IterateAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3680</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>651</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Completed"/>
                    <core:outcome name="Next"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddToListAction: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignNullToListCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Completed</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddToListAction: GroupCriteria</core:actionID>
            <core:name>AddToListAction</core:name>
            <core:className>com.enactor.commonUI.list.processes.AddToListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3886</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>652</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Value">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateProductList: GroupCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddProductIdFilter: GroupCriteria</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.list.processes.AddListFilterAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>11</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4284</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>654</value>
                </entry>
            </core:uiHints>
            <core:param value="ProductId" name="enactor.coreUI.FilterId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="IN" name="enactor.coreUI.ComparisonOperator">
                <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
            </core:param>
            <core:param value="TextValueFilter" name="enactor.coreUI.FilterType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.FilterType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ComparisonOperator">
                        <core:interfaceName>com.enactor.core.listFilters.ComparisonOperators</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.FilterId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ValueArray">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignNullToListCriteria</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4082</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>654</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:unusedOutcomes>
                <core:outcome name="Success"/>
            </core:unusedOutcomes>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateGroupKeyList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="listCriteria" fromExpression="null"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignExportDir</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>875</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>283</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="MaxRecordCount">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="EnactorHomeDir">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="MaxRecordCount">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetDataBroadcastDetails</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="enactorHomeDir" fromExpression="concat(getConfigValue(&quot;Common.ApplicationHome&quot;, nullObject()), &quot;/Exports/FilteredProducts&quot;)"/>
            <core:dataAssignment toExpression="maxRecordCount" fromExpression="strings:toInteger(maxRecordCount,10000)"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateProductIdListAction: GroupCriteria</core:actionID>
            <core:name>CreateListAction</core:name>
            <core:className>com.enactor.coreUI.actions.CreateListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>19</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1628</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>474</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateGroupKeyListAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:executeProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Call Extension Point</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UICallExtensionPointProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5764</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>293</value>
                </entry>
            </core:uiHints>
            <core:param value="ExportAndBroadcastFilteredData" name="enactor.coreUI.ExtensionPointId"/>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="EnactorHomeDir">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ExtensionPointId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ScheduledJob">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Retry"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.CallExtensionPoint</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>EndProcess:Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Retry</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Retry</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>End Process Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:executeProcessId>EstateDirector/FilteredDataBroadcast/ExportAndBroadcastFilteredData</core:executeProcessId>
        </core:executeProcessAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SaveScheduledJob</core:actionID>
            <core:name>Save Purge Job</core:name>
            <core:className>com.enactor.coreProcessing.scheduledJob.actions.SaveDiaryEntryJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>63</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>245</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>516</value>
                </entry>
            </core:uiHints>
            <core:param value="EstateDirector/FilteredDataBroadcast/FilteredDataBroadcastProcessor" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="FilteredDataBroadcastProcessor" name="enactor.coreProcessing.JobReferenceId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.JobReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreatescheduledJobKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreatescheduledJobKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>188</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>747</value>
                </entry>
            </core:uiHints>
            <core:param value="scheduledJobKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreatesProcessDetailsKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Load ScheduledJob</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.LoadEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>570</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>559</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                    <core:output name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetBroadcastKeyProperties</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignJobID</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>710</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>816</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ScheduledJobKey">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.ScheduledJobKey">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Load ScheduledJob</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="scheduledJobKey.jobId" fromExpression="jobId"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreatesProcessDetailsKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>392</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>876</value>
                </entry>
            </core:uiHints>
            <core:param value="processDetailKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignProcessDetailsId</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignProcessDetailsId</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>563</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1062</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.mfc.processDetail.ProcessDetailKey">
                        <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetailKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.mfc.processDetail.ProcessDetailKey">
                        <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetailKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Load ProcessDetails</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="processDetailKey.processDetailId" fromExpression="&quot;LimitedBroadcastExtension&quot;"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Load ProcessDetails</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.LoadEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>770</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1159</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                    <core:output name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateParameterListAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateParameterListAction</core:actionID>
            <core:name>CreateListAction</core:name>
            <core:className>com.enactor.coreUI.actions.CreateListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>2999</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1014</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1231</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignParameterList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetParameterListIterator</core:actionID>
            <core:name>GetIteratorAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.GetIteratorAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1022</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>816</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterable">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateParameterList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignParameterList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>999</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1001</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.mfc.processDetail.ProcessDetail">
                        <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetail</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="ParameterList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="ParameterList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetParameterListIterator</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="parameterList" fromExpression="processDetail.parameters"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignInputParameters</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1275</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1034</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="ParameterDefItem">
                        <core:interfaceName>com.enactor.core.application.process.IParameterDef</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="ListID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="MMGGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="EntityList">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="PredefinedBroadcastID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="ProductGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="MaxRecordCount">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="PredefinedBroadcastID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="ProductGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="MMGGroupKey">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="ListID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="EntityList">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="MaxRecordCount">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>IterateParameterList</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="predefinedBroadcastID" fromExpression="parameterDefItem.name == &quot;PredefinedBroadcastID&quot; ? parameterDefItem.value : predefinedBroadcastID"/>
            <core:dataAssignment toExpression="maxRecordCount" fromExpression="parameterDefItem.name == &quot;MaxRecordCount&quot; ? parameterDefItem.value : maxRecordCount"/>
            <core:dataAssignment toExpression="productGroupKey" fromExpression="parameterDefItem.name == &quot;ProductGroupKey&quot; ? parameterDefItem.value : productGroupKey"/>
            <core:dataAssignment toExpression="mMGGroupKey" fromExpression="parameterDefItem.name == &quot;MMGGroupKey&quot; ? parameterDefItem.value : mMGGroupKey"/>
            <core:dataAssignment toExpression="listID" fromExpression="parameterDefItem.name == &quot;ListID&quot; ? parameterDefItem.value : listID"/>
            <core:dataAssignment toExpression="entityList" fromExpression="parameterDefItem.name == &quot;EntityList&quot; ? parameterDefItem.value : entityList"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>IterateParameterList</core:actionID>
            <core:name>IterateAction</core:name>
            <core:className>com.enactor.commonUI.iteration.actions.IterateAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1240</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>813</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Completed"/>
                    <core:outcome name="Next"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignJobID</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Completed</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignInputParameters</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Next</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignExceptionToObject</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>934</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>-22</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="PredefinedBroadcastID">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ScheduledJobKey">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="ParameterList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="ParameterDefItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>EndProcess:Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="object" fromExpression="exception"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignEntityDistributionKeys</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4710</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>541</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.DataBroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="EntityListList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="EntityListList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetEnityListIterator</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="entityListList" fromExpression="dataBroadcastDetails.entityDistributionKeys"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignEntityDistributionDetailId</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5197</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>513</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="EntityListItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="EntityListItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>ExportEntityXMLFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="entityListItem" fromExpression="strings:getStringAfter(entityListItem.entityDistributionDetailId,'}', &quot;&quot;)"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetDataBroadcastDetails</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>4095</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1017</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>457</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.DataBroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DataBroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateProductListCriteria</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="dataBroadcastDetails" fromExpression="dataBroadcastDetails == null ? broadcast.broadcastDetails : dataBroadcastDetails"/>
        </core:assignAction>
        <core:eventLink>
            <core:linkID>1</core:linkID>
            <core:toStateID></core:toStateID>
            <core:toActionID>AssignExceptionToObject</core:toActionID>
            <core:condition></core:condition>
            <core:event>Exception</core:event>
        </core:eventLink>
        <core:state>
            <core:url></core:url>
            <core:stateID>State</core:stateID>
            <core:name></core:name>
            <core:className></core:className>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>45</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>19</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>280</value>
                </entry>
            </core:uiHints>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="product" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <handledEvents>
                    <handledEvent name="StateEntered"/>
                </handledEvents>
                <stateDataTypes>
                    <stateDataType required="true" name="GroupKeyEntity">
                        <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="ParameterDefItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="ProductItem">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="GroupKeyListItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType name="EntityListItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.ProcessHandle">
                        <core:interfaceName>com.enactor.coreUI.processes.ProcessHandle</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.ListName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.maintenance.IteratorDeviceItem">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="ProductListitem">
                        <core:interfaceName>com.enactor.core.database.list.IKeyedListElement</core:interfaceName>
                    </stateDataType>
                </stateDataTypes>
            </core:metaData>
            <core:typeId>enactor.types.BasicState</core:typeId>
            <core:singleInstance>false</core:singleInstance>
            <core:respondToViewEvents>false</core:respondToViewEvents>
            <core:actionInputMappings>
                <core:actionMapping>
                    <core:actionID>AddMMGroupFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyEntity">
                                    <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.DefaultValue">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ExportXMLFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="MaxRecordCount">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.MaxEntities">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreProcessing.IterationsForListenerUpdate">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreProcessing.TransformSource">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreProcessing.TransformKeyPrefix">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddProductListIdFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductListListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="ListID">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.DefaultValue">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddProductIdFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ValueArray">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LoadList</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductListListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetProductListIterator</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductListList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterable">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductListitem">
                                    <core:interfaceName>com.enactor.core.database.list.IKeyedListElement</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Value">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>productListitem.data["P:productKey.productId"]</core:expression>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ExportProductPriceXMLFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="MaxRecordCount">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.MaxEntities">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ExportProductMediaXMLFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="MaxRecordCount">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.MaxEntities">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ExportSellingCodesXMLFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="MaxRecordCount">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.MaxEntities">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetEnityListIterator</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EntityListList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterable">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ExportEntityXMLFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="MaxRecordCount">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.MaxEntities">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="EntityListItem">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetGroupKeyIterator</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyItemList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterable">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToGroupKeyListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyEntity">
                                    <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Value">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ProductGroupListFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyEntity">
                                    <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.DefaultValue">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load Predefined Broadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CheckCollationDirectoryExists</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.FileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.commonUI.TargetDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetProductListIterator: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterable">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToListAction: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ProductItem">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Value">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>productItem.data["productId"]</core:expression>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddProductIdFilter: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ValueArray">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.EntityNamespace">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateProductList: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="ProductIterator">
                                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterator">
                                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogCollationFileNotFoundError</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.Location">
                                    <core:interfaceName>com.enactor.mfc.location.ILocation</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.LocationId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>location.locationId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.referenceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="EnactorHomeDir">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.FileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType required="true" name="enactor.coreProcessing.RegionId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ScheduledJob</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ProcessDetails</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.processDetail.ProcessDetailKey">
                                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetailKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetParameterListIterator</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="ParameterList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Iterable">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionInputMappings>
            <core:actionOutputMappings>
                <core:actionMapping>
                    <core:actionID>CreatebroadcastKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddMMGroupFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AssigntoCommaSepereatedMMGGroupKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="GroupKeyItemList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="GroupKeyItemList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateGroupKey</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="GroupKeyEntity">
                                    <core:interfaceName>com.enactor.core.group.GroupKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddProductListIdFilter</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ProductListListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LoadList</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ProductListList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateProductList</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.IteratorItem">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ProductListitem">
                                    <core:interfaceName>com.enactor.core.database.list.IKeyedListElement</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateProductIdListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateProductListCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.ListCriteria">
                                    <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateEntityList</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.IteratorItem">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="EntityListItem">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateGroupKeyList</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.IteratorItem">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="GroupKeyListItem">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateGroupKeyListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="GroupKeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToGroupKeyListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="GroupKeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load Predefined Broadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:sourceDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CheckCollationDirectoryExists</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.commonUI.File">
                                    <core:interfaceName>java.io.File</core:interfaceName>
                                </core:sourceDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LoadProductList</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ProductList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateProductIdListAction: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateProductList: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.IteratorItem">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ProductItem">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToListAction: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="ProductIdList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>GetProductListIterator: GroupCriteria</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Iterator">
                                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="ProductIterator">
                                    <core:interfaceName>java.util.Iterator</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreatescheduledJobKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ScheduledJob</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:sourceDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreatesProcessDetailsKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.processDetail.ProcessDetailKey">
                                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetailKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ProcessDetails</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.processDetail.ProcessDetail">
                                    <core:interfaceName>com.enactor.mfc.processDetail.IProcessDetail</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:sourceDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateParameterListAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ParameterList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>IterateParameterList</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.IteratorItem">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="ParameterDefItem">
                                    <core:interfaceName>com.enactor.core.application.process.IParameterDef</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
            </core:actionOutputMappings>
            <core:eventLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreatebroadcastKey</core:toActionID>
                <core:condition></core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
        </core:state>
        <core:stateTransitions/>
    </retail:processDef>
    <retail:param value="TestLimitedBroadcast" name="PredefinedBroadcastID">
        <core:interfaceName>java.lang.String</core:interfaceName>
    </retail:param>
    <retail:param value="DRONES;RETAIL,BOYS_TROUSERS;RETAIL,MENS_BAGS;RETAIL" name="MMGGroupKey">
        <core:interfaceName>java.lang.String</core:interfaceName>
    </retail:param>
    <retail:deviceTypeId>ESTATE_MANAGER</retail:deviceTypeId>
</retail:processDetail>


<retail:processDetail xmlns:core="http://www.enactor.com/core" xmlns:hta="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/api/200803" xmlns:htd="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/200803" xmlns:htt="http://docs.oasis-open.org/ns/bpel4people/ws-humantask/types/200803" xmlns:ns13="http://www.enactor.com/retail/restaurantTableStatus/service" xmlns:ns14="http://www.enactor.com/retail/storedRestaurantSaleTransaction/service" xmlns:ns4="http://www.enactor.com/addressLookup/service" xmlns:ns5="http://www.enactor.com/crm/customerLoyalty/service" xmlns:ns6="http://www.enactor.com/crm" xmlns:ns7="http://www.enactor.com/retail/storedRetailTransaction/service" xmlns:retail="http://www.enactor.com/retail" xmlns:sref="http://docs.oasis-open.org/wsbpel/2.0/serviceref" xmlns:tools="http://www.enactor.com/tools" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <core:extensionId>TargetBroadcastDataBroadcastProcessor</core:extensionId>
    <core:extensionPoint>TargetBroadcastDataBroadcastProcessor</core:extensionPoint>
    <core:applyBeforePackages/>
    <core:extensionOverrides/>
    
    <retail:processDetailId>TargetBroadcastDataBroadcastProcessor</retail:processDetailId>
    <retail:description>
        <core:string variant="" language="en" country="GB">TargetBroadcastDataBroadcastProcessor</core:string>
    </retail:description>
    <retail:processTypeId>CX_PROCESS</retail:processTypeId>
    <retail:applicationProcessId>EstateDirector/FilteredDataBroadcast/TargetBroadcastDataBroadcastProcessor</retail:applicationProcessId>
    <retail:originalProcessId>EstateDirector/FilteredDataBroadcast/TargetBroadcastDataBroadcastProcessor</retail:originalProcessId>
    <retail:processDef xsi:type="core:UIProcessDef">
        <core:processID>EstateDirector/FilteredDataBroadcast/TargetBroadcastDataBroadcastProcessor</core:processID>
        <core:version>1.0</core:version>
        <core:name>TargetBroadcastDataBroadcastProcessor</core:name>
        <core:defaultMessageBaseName></core:defaultMessageBaseName>
        <core:firstStateID>Start</core:firstStateID>
        <core:className></core:className>
        <core:uiHints>
            <entry>
                <key>com.enactor.tools.editor.process.style</key>
                <value>63</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.xloc</key>
                <value>-266</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>-33</value>
            </entry>
        </core:uiHints>
        <core:metaData>
            <core:inputs>
                <core:input required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
                <core:input name="enactor.coreProcessing.ChangeSetKey">
                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                </core:input>
                <core:input required="false" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </core:input>
                <core:input name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.coreProcessing.Broadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </core:input>
            </core:inputs>
            <core:outputs>
                <core:output required="true" name="enactor.coreProcessing.UpdateId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:output>
                <core:output required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </core:output>
            </core:outputs>
            <stateDataTypes>
                <stateDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.ExportTypeKey">
                    <core:interfaceName>com.enactor.coreProcessing.exportType.IExportTypeKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.ExportDetails">
                    <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.maintenance.Device">
                    <core:interfaceName>com.enactor.mfc.device.IDevice</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.DeviceKey">
                    <core:interfaceName>com.enactor.mfc.device.IDeviceKey</core:interfaceName>
                </stateDataType>
                <stateDataType name="enactor.coreProcessing.ChangeSetKey">
                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </stateDataType>
                <stateDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.IsPredefinedBroadcastLocked">
                    <core:interfaceName>java.lang.Boolean</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.BroadcastLockUser">
                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="Date">
                    <core:interfaceName>java.util.Date</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.Broadcast">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.commonUI.PortNumber">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.UpdatedUpToDate">
                    <core:interfaceName>java.util.Date</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.commonUI.IPAddress">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.CollationScheduledJob">
                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                    <core:interfaceName>java.util.Date</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.UpdateId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.DownloadUrl">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreUI.Object">
                    <core:interfaceName>java.lang.Object</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.commonUI.FileName">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
                <stateDataType required="false" name="enactor.coreProcessing.JobId">
                    <core:interfaceName>java.lang.Long</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.coreProcessing.SourceDirectory">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </stateDataType>
            </stateDataTypes>
        </core:metaData>
        <core:typeId>Process</core:typeId>
        <core:notes>
            <core:processNote>
                <core:noteId>Note0</core:noteId>
                <core:description>SetParameterizedDownloadURL will send a parameterized download URL so it will be resolved on the client side</core:description>
                <core:constraint>
                    <core:x>3948</core:x>
                    <core:y>1072</core:y>
                    <core:height>183</core:height>
                    <core:width>174</core:width>
                </core:constraint>
            </core:processNote>
        </core:notes>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Success</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5337</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>286</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Success</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Fail</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>53</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5341</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>107</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Fail</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>RecordNow</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>63</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2001</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>733</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="Date">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignHostNamePropertyFileValues</core:toActionID>
                <core:condition>!isConfigValueDefined('Broadcast.DefaultDownloadUrl') &amp;&amp; isConfigValueDefined('Broadcast.DefaultDownloadServerHostName')</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LookupHostName</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignDownloadURL</core:toActionID>
                <core:condition>isConfigValueDefined('Broadcast.DefaultDownloadUrl')</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>4</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetParameterizedDownloadURL</core:toActionID>
                <core:condition>!isConfigValueDefined('Broadcast.DefaultDownloadUrl') &amp;&amp; !isConfigValueDefined('Broadcast.DefaultDownloadServerHostName') &amp;&amp; !isConfigValueDefined('Broadcast.DefaultDownloadServerPort') </core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="date" fromExpression="notEmpty(broadcast) &amp;&amp; notEmpty(broadcast.dateTimeBroadcast) ? broadcast.dateTimeBroadcast : now()"/>
            <core:dataAssignment toExpression="updateId" fromExpression="notEmpty(broadcast) &amp;&amp; notEmpty(broadcast.broadcastId) ? broadcast.broadcastId : strings:getUUID()"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LoadLastBroadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.broadcast.actions.LoadLastBroadcastAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1518</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>520</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="com.enactor.coreProcessing.broadcast.Broadcast.PredefinedBroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="NoSuchRecord"/>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetUpdatedSinceToLastBroadcast</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetUpdatedSinceToSuppliedDate</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>NoSuchRecord</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignExceptionToObject</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Exception</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetUpdatedSinceToLastBroadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1777</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>479</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.LastBroadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.LastBroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetUpdatedSinceToNewBroadCastDetails</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="updatedSinceDate" fromExpression="instanceOf(lastBroadcastDetails, 'com.enactor.coreProcessing.broadcast.IDataBroadcastDetails') &amp;&amp; notEmpty(lastBroadcastDetails.changesSinceDateTime) &amp;&amp; (enumEquals(lastBroadcast.status, 'FAILED') || enumEquals(lastBroadcast.status, 'COLLATING_FAILED') || enumEquals(lastBroadcast.status, 'EXPORT_FAILED'))? lastBroadcastDetails.changesSinceDateTime : lastBroadcast.dateTimeBroadcast"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetUpdatedSinceToSuppliedDate</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1766</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>720</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>RecordNow</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="updatedSinceDate" fromExpression="broadcastDetails.changesSinceDateTime"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignDefaultValues</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>951</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2651</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1074</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output required="true" name="enactor.commonUI.PortNumber">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LogUsedDefaultPortToExportFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="portNumber" fromExpression="&quot;8080&quot;"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LogUsedDefaultHostNameToExportFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2420</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>996</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="USED_DEFAULT_HOST_NAME" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignDefaultValues</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignPortPropertyFileValues</core:toActionID>
                <core:condition>isConfigValueDefined('Broadcast.DefaultDownloadServerPort')</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LogUsedDefaultPortToExportFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2854</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1023</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="USED_DEFAULT_PORT" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetDownloadURLFromHost</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LookupHostName</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.net.actions.LookupHostnameAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>951</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2227</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>985</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output name="enactor.commonUI.IPAddress">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LogUsedDefaultHostNameToExportFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LogFailureAndTidyUp</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Exception</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignHostNamePropertyFileValues</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2219</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>744</value>
                </entry>
            </core:uiHints>
            <core:param value="${Broadcast.DefaultDownloadServerHostName}" name="DefaultDownloadServerHostName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="DefaultDownloadServerHostName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.commonUI.IPAddress">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignDefaultValues</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignPortPropertyFileValues</core:toActionID>
                <core:condition>isConfigValueDefined('Broadcast.DefaultDownloadServerPort')</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="iPAddress" fromExpression="defaultDownloadServerHostName"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignPortPropertyFileValues</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2642</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>845</value>
                </entry>
            </core:uiHints>
            <core:param value="${Broadcast.DefaultDownloadServerPort}" name="DefaultDownloadServerPort">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="DefaultDownloadServerPort">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.commonUI.PortNumber">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetDownloadURLFromHost</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="portNumber" fromExpression="defaultDownloadServerPort"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignDownloadURL</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2220</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>466</value>
                </entry>
            </core:uiHints>
            <core:param value="${Broadcast.DefaultDownloadUrl}" name="enactor.coreProcessing.DownloadUrl">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID>Process</core:toStateID>
                <core:toActionID></core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignDefaultDownloadURL</core:toActionID>
                <core:condition>strings:isEmpty(process.downloadUrl)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="downloadUrl" fromExpression="downloadUrl"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetDownloadURLFromHost</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3055</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>795</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.IPAddress">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.BroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.PortNumber">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID>Process</core:toStateID>
                <core:toActionID></core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateDeviceKey</core:toActionID>
                <core:condition>isEmpty(process.downloadUrl)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="downloadUrl" fromExpression="http://#{iPAddress}:#{portNumber}/WebCore/BroadcastFileDownloadServlet?broadcast_id=#{broadcastId}"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetChangeSetList</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.broadcast.actions.GetChangeSetListAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4423</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>813</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.LastBroadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                    <core:output name="enactor.coreProcessing.KeyList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetDirectoryNames</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LogFailureAndTidyUp</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2473</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>394</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="BROADCAST_FAILED" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.LoggingLocale">
                        <core:interfaceName>java.util.Locale</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.Message">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>NONE</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Create Broadcast Lock Key</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.CreateAndSetEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>-42</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>702</value>
                </entry>
            </core:uiHints>
            <core:param value="broadcastLockKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="broadcastId" name="enactor.coreUI.DynamicParameterNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.DynamicParameterNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="broadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="InvalidType"/>
                </core:outcomes>
            </core:metaData>
            <core:unusedOutcomes>
                <core:outcome name="InvalidType"/>
            </core:unusedOutcomes>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Create Broadcast Lock User</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Create Broadcast Lock User</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>202</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>703</value>
                </entry>
            </core:uiHints>
            <core:param value="user" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:comment>Don't set a user ID because we don't want to find the SYSTEM user's lock.</core:comment>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Check For Broadcast Lock</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Set Broadcast Lock User ID</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>676</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1054</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.mfc.BroadcastLockUser">
                        <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.mfc.BroadcastLockUser">
                        <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:comment>Set an arbitrary user ID.</core:comment>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Set Broadcast Lock</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="broadcastLockUser.userId" fromExpression="'SYSTEM'"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Check For Broadcast Lock</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.CheckForLockAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>465</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>699</value>
                </entry>
            </core:uiHints>
            <core:param value="14400000" name="enactor.coreUI.LockTimeout">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.User">
                        <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.LockTimeout">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.commonUI.Locked">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Locked"/>
                    <core:outcome name="Unlocked"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_NEW_SESSION</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Set Broadcast Lock User ID</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Unlocked</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Log Broadcast Already Running</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Locked</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Log Broadcast Already Running</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Log Broadcast Already Running</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>677</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>700</value>
                </entry>
            </core:uiHints>
            <core:param value="2" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="BROADCAST_LOCK_FOUND" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.BroadcastName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Set Retry Limit and Delay</core:toActionID>
                <core:condition>process.isPredefinedBroadcastLocked</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Set Broadcast Lock</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.LockEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>943</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>921</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>987</value>
                </entry>
            </core:uiHints>
            <core:param value="14400000" name="enactor.coreUI.LockTimeout">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.LockTimeout">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.User">
                        <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_NEW_SESSION</core:sessionManagementType>
            </core:metaData>
            <core:comment>Release lock automatically after 4 hours.</core:comment>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Log Set Broadcast Lock Failure</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Mode Switch</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Log Set Broadcast Lock Failure</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1146</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>933</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="FAILED_TO_SET_BROADCAST_LOCK" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.BroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Mode Switch</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Mode Switch</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UINullAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1373</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>816</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.NullAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LoadLastBroadcast</core:toActionID>
                <core:condition>process.broadcastDetails.changesSinceDateTime == null &amp;&amp; !process.broadcastDetails.deleteExistingData</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetUpdatedSinceToSuppliedDate</core:toActionID>
                <core:condition>process.broadcastDetails.changesSinceDateTime != null</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>RecordNow</core:toActionID>
                <core:condition>(process.broadcastDetails.changesSinceDateTime == null &amp;&amp; process.broadcastDetails.deleteExistingData) || !empty(process.broadcastDetails.changeSetId)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Clear Broadcast Lock 1</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.UnlockEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>935</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4894</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>298</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.User">
                        <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_NEW_SESSION</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:endProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Retry</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIEndProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5328</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>456</value>
                </entry>
            </core:uiHints>
            <core:metaData/>
            <core:typeId>enactor.types.EndProcess</core:typeId>
            <core:outcome>Retry</core:outcome>
            <core:defaultProcessId></core:defaultProcessId>
        </core:endProcessAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetUpdatedSinceToNewBroadCastDetails</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>2005</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>479</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>RecordNow</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="broadcastDetails.changesSinceDateTime" fromExpression="updatedSinceDate"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Set Retry Limit and Delay</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1376</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>977</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreProcessing.ScheduledJob">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="false" name="enactor.coreProcessing.ScheduledJob">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Retry</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="scheduledJob.retryLimit" fromExpression="10"/>
            <core:dataAssignment toExpression="scheduledJob.retryDelay" fromExpression="300000"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LoadDeviceAction</core:actionID>
            <core:name>LoadEntityAction</core:name>
            <core:className>com.enactor.commonUI.entities.processes.LoadEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3468</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1053</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>DownloadURLRequiredWithDeviceFailure</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>DownloadURLRequiredWithoutDeviceFailure</core:toActionID>
                <core:condition>isEmpty(process.device.deviceId)</core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateDeviceKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.CreateAndSetEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>935</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3259</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1006</value>
                </entry>
            </core:uiHints>
            <core:param value="deviceKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/retail" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="deviceId" name="enactor.coreUI.DynamicParameterNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.DynamicParameterNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="deviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="InvalidType"/>
                </core:outcomes>
            </core:metaData>
            <core:unusedOutcomes>
                <core:outcome name="InvalidType"/>
            </core:unusedOutcomes>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LoadDeviceAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>DownloadURLRequiredWithoutDeviceFailure</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>InvalidType</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>DownloadURLRequiredWithDeviceFailure</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3701</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1037</value>
                </entry>
            </core:uiHints>
            <core:param value="0" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="DOWNLOAD_URL_REQUIRED_WITH_DEVICE" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.LoggingLocale">
                        <core:interfaceName>java.util.Locale</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.Message">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>NONE</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>DownloadURLRequiredWithoutDeviceFailure</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3703</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>727</value>
                </entry>
            </core:uiHints>
            <core:param value="0" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="DOWNLOAD_URL_REQUIRED_WITHOUT_DEVICE" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.LoggingLocale">
                        <core:interfaceName>java.util.Locale</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.Message">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>NONE</core:sessionManagementType>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetParameterizedDownloadURL</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3950</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>826</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.commonUI.BroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID>Process</core:toStateID>
                <core:toActionID></core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="downloadUrl" fromExpression="@{Broadcast.DefaultDownloadUrl}?broadcast_id=#{broadcastId}"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignExceptionToObject</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>1622</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>196</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="object" fromExpression="exception"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SaveDataBroadcastSubJobAction</core:actionID>
            <core:name>SaveDataBroadcastSubJobAction</core:name>
            <core:className>com.enactor.coreProcessing.scheduledJob.actions.SaveDataBroadcastSubJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6566</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>538</value>
                </entry>
            </core:uiHints>
            <core:param value="EstateDirector/DataBroadcast/ProcessBroadcastNotifications" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Downloads" name="enactor.commonUI.TargetDirectory">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Not/A/Directory" name="enactor.commonUI.TempDirectory">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="DataBroadcast_Notifications" name="enactor.coreProcessing.JobReferenceId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastLockKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.TempDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.mfc.BroadcastLockUserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ExportDetails">
                        <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.ChangeSetKeyList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.commonUI.ZipFileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.PredefinedBroadcastKey">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.ChangeSetKey">
                        <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.QueuedByUserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.RunAtDeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.JobReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.ParentJobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetStatus:SendingToRecipients</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignbroadcastNotificationExceptionToObject</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetDirectoryNames</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4395</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1129</value>
                </entry>
            </core:uiHints>
            <core:param value="${Common.ApplicationHome}" name="enactorHome">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Downloads" name="enactor.commonUI.TargetDirectory">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactorHome">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DownloadDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateExportDetailsEntity</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="downloadDirectory" fromExpression="concatenate(enactorHome,  '/', targetDirectory)"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateExportDetailsEntity</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4461</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1572</value>
                </entry>
            </core:uiHints>
            <core:param value="entityExportDetails" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateExportTypeKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateExportTypeKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4681</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1317</value>
                </entry>
            </core:uiHints>
            <core:param value="exportTypeKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>InitialiseExportDetails</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>InitialiseExportDetails</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4768</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1586</value>
                </entry>
            </core:uiHints>
            <core:param value="${Common.ApplicationHome}" name="enactorHome">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactorHome">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ExportDetails">
                        <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ExportTypeKey">
                        <core:interfaceName>com.enactor.coreProcessing.exportType.IExportTypeKey</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.FileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.ExportDetails">
                        <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.coreProcessing.ExportTypeKey">
                        <core:interfaceName>com.enactor.coreProcessing.exportType.IExportTypeKey</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.coreProcessing.SourceDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                    <core:output required="true" name="enactor.commonUI.FileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateAndSetBroadcast</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="exportTypeKey.exportTypeId" fromExpression="broadcastDetails.broadcastType"/>
            <core:dataAssignment toExpression="fileName" fromExpression="concatenate(updateId, 'FilteredProducts.zip')"/>
            <core:dataAssignment toExpression="sourceDirectory" fromExpression="notEmpty(broadcastDetails.broadcastSourceFolder) ? broadcastDetails.broadcastSourceFolder : concatenate(enactorHome,  '/', 'CollationDir')"/>
            <core:dataAssignment toExpression="exportDetails.exportTypeKey" fromExpression="exportTypeKey"/>
            <core:dataAssignment toExpression="exportDetails.entityDistributionKeys" fromExpression="broadcastDetails.entityDistributionKeys"/>
            <core:dataAssignment toExpression="exportDetails.targets" fromExpression="broadcastDetails.topics"/>
            <core:dataAssignment toExpression="exportDetails.deleteExistingData" fromExpression="broadcastDetails.deleteExistingData"/>
            <core:dataAssignment toExpression="exportDetails.selectedEntityDistributionKeysMap" fromExpression="broadcastDetails.selectedEntityDistributionKeysMap"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AddToMapAction</core:actionID>
            <core:name>AddToMapAction</core:name>
            <core:className>com.enactor.commonUI.list.processes.AddToMapAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5050</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1584</value>
                </entry>
            </core:uiHints>
            <core:param value="#{strings:toString(enumValue('com.enactor.coreProcessing.broadcast.BroadcastProgressTypeEnum', 'COLLATION'))}" name="enactor.coreUI.Key">
                <core:interfaceName>java.lang.Object</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.MergeMap">
                        <core:interfaceName>java.lang.Boolean</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.TimeoutMS">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Map">
                        <core:interfaceName>java.util.Map</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.Value">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.MapType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Map">
                        <core:interfaceName>java.util.Map</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>UpdateBroadCastDetails</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>UpdateBroadCastDetails</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5269</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1570</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.ScheduledJobMap">
                        <core:interfaceName>java.util.Map</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.ScheduledJob">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>UpdateBroadcast</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="broadcastDetails.scheduledJobKeyMap" fromExpression="scheduledJobMap"/>
            <core:dataAssignment toExpression="broadcastDetails.scheduledJobKey" fromExpression="scheduledJob.key"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>UpdateBroadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5306</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1277</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:output>
                    <core:output name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>UpdateDataBroadcastScheduledJobAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="broadcast.broadcastDetails" fromExpression="broadcastDetails"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>UpdateDataBroadcastScheduledJobAction</core:actionID>
            <core:name>UpdateDataBroadcastScheduledJobAction</core:name>
            <core:className>com.enactor.coreProcessing.scheduledJob.actions.UpdateDataBroadcastScheduledJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5504</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1561</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.BroadcastDetails">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastDetails</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SaveBroadcast</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SaveBroadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.SaveEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5719</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1594</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>NONE</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>MarkJobSucess</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateAndSetBroadcast</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.CreateAndSetEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4921</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1206</value>
                </entry>
            </core:uiHints>
            <core:param value="broadcast" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/coreProcessing" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="com.enactor.coreProcessing.broadcast.Broadcast.Id,com.enactor.coreProcessing.broadcast.Broadcast.DateTimeBroadcast,com.enactor.coreProcessing.broadcast.Broadcast.UserId,com.enactor.coreProcessing.broadcast.Broadcast.LastUpdated,com.enactor.coreProcessing.broadcast.Broadcast.BroadcastId,com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails,com.enactor.coreProcessing.broadcast.Broadcast.ItemsAffected,com.enactor.coreProcessing.broadcast.Broadcast.UpdateSequenceNumber,com.enactor.coreProcessing.broadcast.Broadcast.AuthorisingUserId,com.enactor.coreProcessing.broadcast.Broadcast.PredefinedBroadcastId," name="enactor.coreUI.DynamicParameterNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.PredefinedBroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.LastUpdated">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.ItemsAffected">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.AuthorisingUserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DynamicParameterNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.DateTimeBroadcast">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="com.enactor.coreProcessing.broadcast.Broadcast.UpdateSequenceNumber">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.Broadcast</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="InvalidType"/>
                </core:outcomes>
            </core:metaData>
            <core:comment>Creates an entity from the namespace and local name.</core:comment>
            <core:typeId>Action</core:typeId>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AddToMapAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>LogFailedToExportFile</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>InvalidType</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>LogFailedToExportFile</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.logging.actions.WriteApplicationProcessLogAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3911</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>80</value>
                </entry>
            </core:uiHints>
            <core:param value="1" name="enactor.commonUI.logging.LogEntryType">
                <core:interfaceName>java.lang.Integer</core:interfaceName>
            </core:param>
            <core:param value="FAILED_TO_EXPORT" name="enactor.coreUI.MessageId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/DataBroadcasterMessages" name="enactor.coreUI.MessageBasename">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJob" name="enactor.commonUI.logging.EntryType">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.commonUI.logging.LogEntryType">
                        <core:interfaceName>java.lang.Integer</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.UserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.MessageBasename">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.logging.EntryType">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.ProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:executeProcessAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SetStatus:SendingToRecipients</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UICallProcessAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6085</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>443</value>
                </entry>
            </core:uiHints>
            <core:param value="SENDING_TO_RECIPIENTS" name="enactor.coreProcessing.BroadcastJobStatus">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.BroadcastJobStatus">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.Broadcast">
                        <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="Fail"/>
                    <core:outcome name="Cancel"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.CallProcess</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Success</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Fail</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>3</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Cancel</core:outcome>
            </core:outcomeLink>
            <core:executeProcessId>EstateDirector/DataBroadcast/UpdateBroadcastStatus</core:executeProcessId>
        </core:executeProcessAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>GetRunAtDateTime</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6912</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1274</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:outputs>
                    <core:output required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreateScheduledJobProgress</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="runAtDateTime" fromExpression="now()"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreateScheduledJobProgress</core:actionID>
            <core:name>CreateAndSetEntityAction</core:name>
            <core:className>com.enactor.commonUI.entities.processes.CreateAndSetEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>7052</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>865</value>
                </entry>
            </core:uiHints>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJobId" name="enactor.coreUI.DynamicParameterNames">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="scheduledJobProgress" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="scheduledJobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityQName">
                        <core:interfaceName>javax.xml.namespace.QName</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.DynamicParameterNames">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="InvalidType"/>
                </core:outcomes>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SaveScheduledJobProgress</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignSchedueledJobExceptionToObject</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>InvalidType</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SaveScheduledJobProgress</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.SaveEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>959</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6808</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>870</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_NEW_SESSION</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SaveDataBroadcastSubJobAction</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>SaveSourceCollationFileJob</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.fileExporter.actions.SaveSourceCollationFileJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5916</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1099</value>
                </entry>
            </core:uiHints>
            <core:param value="${Service.DeviceID}" name="enactor.coreProcessing.scheduledJob.RunAtDeviceId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="Downloads" name="enactor.commonUI.TargetDirectory">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="EstateDirector/DataBroadcast/ProcessSourceFolderCollationFile" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.SourceDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.DownloadDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.UpdateId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.FileName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.commonUI.TargetDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.scheduledJob.ExecuteProcessId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.QueuedByUserId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.RunAtDeviceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.JobReferenceId">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.scheduledJob.ParentJobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                    <core:outcome name="*"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreatescheduledJobKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:outcomeLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>CreatescheduledJobKey</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>*</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>CreatescheduledJobKey</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.CreateEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6500</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1667</value>
                </entry>
            </core:uiHints>
            <core:param value="scheduledJobKey" name="enactor.coreUI.EntityName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:param value="http://www.enactor.com/core" name="enactor.coreUI.EntityNamespace">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.EntityName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreUI.EntityNamespace">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>AssignJobID</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignJobID</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>27</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6716</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1654</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.JobId">
                        <core:interfaceName>java.lang.Long</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="enactor.coreProcessing.ScheduledJobKey">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.ScheduledJobKey">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Load ScheduledJob</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="scheduledJobKey.jobId" fromExpression="jobId"/>
        </core:assignAction>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>Load ScheduledJob</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.commonUI.entities.processes.LoadEntityAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6936</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1603</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output name="enactor.coreUI.Entity">
                        <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                    </core:output>
                    <core:output name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
                <core:sessionManagementType>MAKE_SESSION_IF_NO_CURRENT</core:sessionManagementType>
            </core:metaData>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>MarkCollationJobSucess</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>MarkCollationJobSucess</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.scheduledJob.actions.UpdateScheduledJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6908</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>1386</value>
                </entry>
            </core:uiHints>
            <core:param value="#{enumValue(&quot;com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus&quot;,&quot;SUCCESSFUL&quot;)}" name="enactor.coreProcessing.JobStatus">
                <core:interfaceName>com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus</core:interfaceName>
            </core:param>
            <core:param value="#{now()}" name="enactor.coreProcessing.DateTimeCompleted">
                <core:interfaceName>java.util.Date</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.JobStatus">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.DateTimeCompleted">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetRunAtDateTime</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:action>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>MarkJobSucess</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreProcessing.scheduledJob.actions.UpdateScheduledJobAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>47</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5742</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>900</value>
                </entry>
            </core:uiHints>
            <core:param value="#{enumValue(&quot;com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus&quot;,&quot;SUCCESSFUL&quot;)}" name="enactor.coreProcessing.JobStatus">
                <core:interfaceName>com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus</core:interfaceName>
            </core:param>
            <core:param value="#{now()}" name="enactor.coreProcessing.DateTimeCompleted">
                <core:interfaceName>java.util.Date</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="false" name="enactor.coreUI.Key">
                        <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                    </core:input>
                    <core:input required="false" name="enactor.coreProcessing.JobStatus">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJob.ScheduledJobStatus</core:interfaceName>
                    </core:input>
                    <core:input name="enactor.coreProcessing.DateTimeCompleted">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.BasicAction</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SaveSourceCollationFileJob</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
        </core:action>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignbroadcastNotificationExceptionToObject</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>5026</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>522</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="object" fromExpression="&quot;BROADCAST NOTIFICATION FAIL&quot; "/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignDefaultDownloadURL</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1023</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>3276</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>542</value>
                </entry>
            </core:uiHints>
            <core:param value="${Broadcast.DefaultDownloadServerHostName}" name="DefaultDownloadServerHostName">
                <core:interfaceName>java.lang.String</core:interfaceName>
            </core:param>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="DefaultDownloadServerHostName">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreProcessing.DownloadUrl">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID>Process</core:toStateID>
                <core:toActionID></core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="downloadUrl" fromExpression="http://#{defaultDownloadServerHostName}:39833/WebMessageService/BroadcastFileDownloadServlet"/>
        </core:assignAction>
        <core:assignAction>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:actionID>AssignSchedueledJobExceptionToObject</core:actionID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.actions.UIAssignAction</core:className>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>3007</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>6918</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>446</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <core:inputs>
                    <core:input required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:input>
                    <core:input required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </core:input>
                </core:inputs>
                <core:outputs>
                    <core:output required="true" name="enactor.coreUI.Object">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </core:output>
                </core:outputs>
                <core:outcomes>
                    <core:outcome name="Success"/>
                </core:outcomes>
            </core:metaData>
            <core:typeId>enactor.types.Assign</core:typeId>
            <core:outcomeLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Clear Broadcast Lock 1</core:toActionID>
                <core:condition></core:condition>
                <core:outcome>Success</core:outcome>
            </core:outcomeLink>
            <core:dataAssignment toExpression="object" fromExpression="&quot;schedulejobinprogress fail&quot; "/>
        </core:assignAction>
        <core:eventLink>
            <core:linkID>1</core:linkID>
            <core:toStateID></core:toStateID>
            <core:toActionID>AssignExceptionToObject</core:toActionID>
            <core:condition></core:condition>
            <core:event>Exception</core:event>
        </core:eventLink>
        <core:state>
            <core:url></core:url>
            <core:stateID>Process</core:stateID>
            <core:name></core:name>
            <core:className></core:className>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>999</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>4201</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>809</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <handledEvents>
                    <handledEvent name="StateEntered"/>
                </handledEvents>
                <stateDataTypes>
                    <stateDataType required="true" name="enactor.coreUI.ListCriteria">
                        <core:interfaceName>com.enactor.core.servers.IListCriteria</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreProcessing.ScheduledJobProgress">
                        <core:interfaceName>com.enactor.coreProcessing.scheduledJobProgress.IScheduledJobProgress</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.ScheduledJobMap">
                        <core:interfaceName>java.util.Map</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.IteratorItem">
                        <core:interfaceName>java.lang.Object</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.ListItem">
                        <core:interfaceName>com.enactor.core.database.list.IKeyedListElement</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.List">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreUI.Iterator">
                        <core:interfaceName>java.util.Iterator</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="false" name="enactor.coreProcessing.KeyList">
                        <core:interfaceName>java.util.List</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="true" name="enactor.coreProcessing.DownloadDirectory">
                        <core:interfaceName>java.lang.String</core:interfaceName>
                    </stateDataType>
                    <stateDataType required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                        <core:interfaceName>java.util.Date</core:interfaceName>
                    </stateDataType>
                </stateDataTypes>
            </core:metaData>
            <core:typeId>enactor.types.BasicState</core:typeId>
            <core:singleInstance>false</core:singleInstance>
            <core:respondToViewEvents>false</core:respondToViewEvents>
            <core:actionInputMappings>
                <core:actionMapping>
                    <core:actionID>Clear Broadcast Lock 1</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.User">
                                    <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>ProcessDataBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.DownloadUrl">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.DownloadUrl">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.ChangeSetKey">
                                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.ChangeSetKey">
                                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdatedSinceDate">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdatedUpToDate">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdatedUpToDate">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.KeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.ChangeSetKeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AssignExceptionToObject</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Object">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>MoveSourceFolderBroadcastFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.SourceDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.broadcastSourceFolder</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.DownloadDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.DownloadDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SaveDataBroadcastSubJobAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.DownloadUrl">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.DownloadUrl">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.scheduledJob.ParentJobId">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.commonUI.FileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.commonUI.ZipFileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.scheduledJob.QueuedByUserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.ChangeSetKey">
                                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.ChangeSetKey">
                                    <core:interfaceName>com.enactor.coreProcessing.changeSet.IChangeSetKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ExportDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ExportDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.BroadcastLockUserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastLockUser.userId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.scheduledJob.RunAtDeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessConnectionsDefinitionId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.KeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.ChangeSetKeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogWaitingForFileCollation</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.referenceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SaveBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateAndSetBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.DateTimeBroadcast">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.PredefinedBroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>predefinedBroadcastKey.predefinedBroadcastId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.UpdateSequenceNumber">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.LastUpdated">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.ItemsAffected">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.AuthorisingUserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogFailedToExportFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>#{valueOf(scheduledJob.jobId)}</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.broadcastType</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToMapAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Value">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.key</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Map">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.scheduledJobKeyMap</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.MapType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.TimeoutMS">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.MergeMap">
                                    <core:interfaceName>java.lang.Boolean</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>UpdateDataBroadcastScheduledJobAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.key</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>UpdateBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateScheduledJobProgress</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="scheduledJobId">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.EntityQName">
                                    <core:interfaceName>javax.xml.namespace.QName</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SaveScheduledJobProgress</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJobProgress">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJobProgress.IScheduledJobProgress</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SaveSourceCollationFileJob</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.scheduledJob.ParentJobId">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.commonUI.FileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.FileName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.scheduledJob.QueuedByUserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.SourceDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.SourceDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreProcessing.JobReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.scheduledJob.RunAtDateTime">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.DownloadDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.DownloadDirectory">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of AddToMapAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Value">
                                    <core:interfaceName>java.lang.Object</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.key</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Map">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.scheduledJobKeyMap</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.MapType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.TimeoutMS">
                                    <core:interfaceName>java.lang.Integer</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.MergeMap">
                                    <core:interfaceName>java.lang.Boolean</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of UpdateBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of UpdateDataBroadcastScheduledJobAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.key</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of SaveBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>MarkJobSucess</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.key</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AssignJobID</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.JobId">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.JobId">
                                    <core:interfaceName>java.lang.Long</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ScheduledJob</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>MarkCollationJobSucess</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.CollationScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>collationScheduledJob.key</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionInputMappings>
            <core:actionOutputMappings>
                <core:actionMapping>
                    <core:actionID>GetChangeSetList</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.KeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.KeyList">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.List">
                                    <core:interfaceName>java.util.List</core:interfaceName>
                                </core:sourceDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateExportDetailsEntity</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ExportDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.predefinedExport.exportDetails.IEntityExportDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateExportTypeKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ExportTypeKey">
                                    <core:interfaceName>com.enactor.coreProcessing.exportType.IExportTypeKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateAndSetBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.Broadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AddToMapAction</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Map">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ScheduledJobMap">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>UpdateDataBroadcastScheduledJobAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>UpdateBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateScheduledJobProgress</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.ScheduledJobProgress">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJobProgress.IScheduledJobProgress</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of AddToMapAction</core:actionID>
                    <core:mappings>
                        <core:processMappings/>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Map">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ScheduledJobMap">
                                    <core:interfaceName>java.util.Map</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of UpdateBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="com.enactor.coreProcessing.broadcast.Broadcast.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Copy of UpdateDataBroadcastScheduledJobAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreatescheduledJobKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>AssignJobID</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.ScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Load ScheduledJob</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.CollationScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.CollationScheduledJobKey">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJobKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionOutputMappings>
            <core:eventLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>SetDirectoryNames</core:toActionID>
                <core:condition></core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
            <core:eventLink>
                <core:linkID>2</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>GetChangeSetList</core:toActionID>
                <core:condition>isEmpty(process.changeSetKey)
                                        &amp;&amp;
                                        isEmpty(process.broadcastDetails.changeSetId)
                                        &amp;&amp;
                                        notEmpty(process.broadcastDetails.changeSetIdPattern)</core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
        </core:state>
        <core:state>
            <core:url></core:url>
            <core:stateID>Start</core:stateID>
            <core:name></core:name>
            <core:className>com.enactor.coreUI.states.UIBasicState</core:className>
            <core:defaultNextStateID></core:defaultNextStateID>
            <core:uiHints>
                <entry>
                    <key>com.enactor.tools.editor.process.style</key>
                    <value>1</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.xloc</key>
                    <value>-276</value>
                </entry>
                <entry>
                    <key>com.enactor.tools.editor.process.yloc</key>
                    <value>706</value>
                </entry>
            </core:uiHints>
            <core:metaData>
                <handledEvents>
                    <handledEvent name="StateEntered"/>
                </handledEvents>
                <stateDataTypes>
                    <stateDataType required="true" name="Exception">
                        <core:interfaceName>java.lang.Throwable</core:interfaceName>
                    </stateDataType>
                </stateDataTypes>
            </core:metaData>
            <core:typeId>enactor.types.BasicState</core:typeId>
            <core:singleInstance>false</core:singleInstance>
            <core:respondToViewEvents>false</core:respondToViewEvents>
            <core:actionInputMappings>
                <core:actionMapping>
                    <core:actionID>LoadLastBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="com.enactor.coreProcessing.broadcast.Broadcast.PredefinedBroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>predefinedBroadcastKey.predefinedBroadcastId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogUsedDefaultHostNameToExportFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>#{valueOf(scheduledJob.jobId)}</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.broadcastType</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogUsedDefaultPortToExportFile</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>#{valueOf(scheduledJob.jobId)}</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.broadcastType</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LogFailureAndTidyUp</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.LoggingLocale">
                                    <core:interfaceName>java.util.Locale</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.Message">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Create Broadcast Lock Key</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="broadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>predefinedBroadcastKey.predefinedBroadcastId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Check For Broadcast Lock</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.User">
                                    <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Log Broadcast Already Running</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>valueOf(scheduledJob.jobId)</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IDataBroadcastDetails</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.BroadcastName">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcastDetails.broadcastName</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Set Broadcast Lock</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.User">
                                    <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Log Set Broadcast Lock Failure</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>valueOf(scheduledJob.jobId)</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreProcessing.PredefinedBroadcastKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IPredefinedBroadcastKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreProcessing.BroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>predefinedBroadcastKey.predefinedBroadcastId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Clear Broadcast Lock 1</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.User">
                                    <core:interfaceName>com.enactor.core.signOn.ISignedOnUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SetUpdatedSinceToLastBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.LastBroadcastDetails">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>lastBroadcast.broadcastDetails</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SetDownloadURLFromHost</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.commonUI.PortNumber">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.PortNumber">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.commonUI.IPAddress">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.IPAddress">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.BroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcast.broadcastId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateDeviceKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="deviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LoadDeviceAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.mfc.DeviceKey">
                                    <core:interfaceName>com.enactor.mfc.device.IDeviceKey</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreUI.Key">
                                    <core:interfaceName>com.enactor.core.entities.IEntityKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>DownloadURLRequiredWithDeviceFailure</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.runAtDeviceId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.maintenance.Device">
                                    <core:interfaceName>com.enactor.mfc.device.IDevice</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.DeviceType">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>device.deviceType</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.Message">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.LoggingLocale">
                                    <core:interfaceName>java.util.Locale</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>DownloadURLRequiredWithoutDeviceFailure</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.UserId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.queuedByUserId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ProcessId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.executeProcessId</core:expression>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="false" name="enactor.coreProcessing.ScheduledJob">
                                    <core:interfaceName>com.enactor.coreProcessing.scheduledJob.IScheduledJob</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="enactor.coreUI.ReferenceId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>scheduledJob.jobId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType name="Exception">
                                    <core:interfaceName>java.lang.Throwable</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.Message">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:targetDataType name="enactor.coreUI.LoggingLocale">
                                    <core:interfaceName>java.util.Locale</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:stateMappings>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>SetParameterizedDownloadURL</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.commonUI.BroadcastId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                                <core:expression>broadcast.broadcastId</core:expression>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionInputMappings>
            <core:actionOutputMappings>
                <core:actionMapping>
                    <core:actionID>LoadLastBroadcast</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.Broadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.LastBroadcast">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcast</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>RecordNow</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdatedUpToDate">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="Date">
                                    <core:interfaceName>java.util.Date</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                            <core:mappings>
                                <core:sourceDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.UpdateId">
                                    <core:interfaceName>java.lang.String</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Create Broadcast Lock Key</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.BroadcastLockKey">
                                    <core:interfaceName>com.enactor.coreProcessing.broadcast.IBroadcastLockKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Create Broadcast Lock User</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.BroadcastLockUser">
                                    <core:interfaceName>com.enactor.mfc.user.IUser</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>Check For Broadcast Lock</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.commonUI.Locked">
                                    <core:interfaceName>java.lang.Boolean</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.coreProcessing.IsPredefinedBroadcastLocked">
                                    <core:interfaceName>java.lang.Boolean</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>CreateDeviceKey</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.mfc.DeviceKey">
                                    <core:interfaceName>com.enactor.mfc.device.IDeviceKey</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
                <core:actionMapping>
                    <core:actionID>LoadDeviceAction</core:actionID>
                    <core:mappings>
                        <core:processMappings>
                            <core:mappings>
                                <core:sourceDataType name="enactor.coreUI.Entity">
                                    <core:interfaceName>com.enactor.core.entities.IEntity</core:interfaceName>
                                </core:sourceDataType>
                                <core:targetDataType required="true" name="enactor.maintenance.Device">
                                    <core:interfaceName>com.enactor.mfc.device.IDevice</core:interfaceName>
                                </core:targetDataType>
                            </core:mappings>
                        </core:processMappings>
                        <core:stateMappings/>
                    </core:mappings>
                </core:actionMapping>
            </core:actionOutputMappings>
            <core:eventLink>
                <core:linkID>4</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Create Broadcast Lock Key</core:toActionID>
                <core:condition></core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
            <core:eventLink>
                <core:linkID>1</core:linkID>
                <core:toStateID></core:toStateID>
                <core:toActionID>Fail</core:toActionID>
                <core:condition>process.predefinedBroadcastKey == null</core:condition>
                <core:event>StateEntered</core:event>
            </core:eventLink>
        </core:state>
        <core:stateTransitions/>
    </retail:processDef>
    <retail:deviceTypeId>ESTATE_MANAGER</retail:deviceTypeId>
</retail:processDetail>

</Batch>