<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<core:process xmlns:core="http://www.enactor.com/core" xmlns:ns6="tools" xmlns:ns7="http://maven.apache.org/POM/4.0.0" 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">
    <core:processID>Pos/LoadProductAtStartup</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>2047</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:action>
        <core:defaultNextStateID></core:defaultNextStateID>
        <core:actionID>CreateProductKey</core:actionID>
        <core:name></core:name>
        <core:className>com.enactor.coreUI.actions.CreateEntityKeyAction</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>518</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>178</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.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.Key">
                    <core:interfaceName>com.enactor.core.entities.IEntityKey</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>InitialiseProductKey</core:toActionID>
            <core:condition></core:condition>
            <core:outcome>Success</core:outcome>
        </core:outcomeLink>
    </core:action>
    <core:assignAction>
        <core:defaultNextStateID></core:defaultNextStateID>
        <core:actionID>InitialiseProductKey</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>740</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>178</value>
            </entry>
        </core:uiHints>
        <core:param value="GHENGIS_KHAN" name="enactor.mfc.ProductId">
            <core:interfaceName>java.lang.String</core:interfaceName>
        </core:param>
        <core:metaData>
            <core:inputs>
                <core:input required="true" name="enactor.mfc.ProductKey">
                    <core:interfaceName>com.enactor.mfc.product.IProductKey</core:interfaceName>
                </core:input>
                <core:input required="true" name="enactor.mfc.ProductId">
                    <core:interfaceName>java.lang.String</core:interfaceName>
                </core:input>
            </core:inputs>
            <core:outputs>
                <core:output required="true" name="enactor.mfc.ProductKey">
                    <core:interfaceName>com.enactor.mfc.product.IProductKey</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>LoadProduct</core:toActionID>
            <core:condition></core:condition>
            <core:outcome>Success</core:outcome>
        </core:outcomeLink>
        <core:dataAssignment toExpression="productKey.productId" fromExpression="productId"/>
    </core:assignAction>
    <core:action>
        <core:defaultNextStateID></core:defaultNextStateID>
        <core:actionID>LoadProduct</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>2047</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.xloc</key>
                <value>957</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>178</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: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: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:action>
    <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>1211</value>
            </entry>
            <entry>
                <key>com.enactor.tools.editor.process.yloc</key>
                <value>79</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: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>2047</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>178</value>
            </entry>
        </core:uiHints>
        <core:metaData>
            <handledEvents>
                <handledEvent name="StateEntered"/>
            </handledEvents>
            <stateDataTypes>
                <stateDataType required="true" name="enactor.mfc.ProductKey">
                    <core:interfaceName>com.enactor.mfc.product.IProductKey</core:interfaceName>
                </stateDataType>
                <stateDataType required="true" name="enactor.mfc.Product">
                    <core:interfaceName>com.enactor.mfc.product.IProduct</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>LoadProduct</core:actionID>
                <core:mappings>
                    <core:processMappings/>
                    <core:stateMappings>
                        <core:mappings>
                            <core:sourceDataType required="true" name="enactor.mfc.ProductKey">
                                <core:interfaceName>com.enactor.mfc.product.IProductKey</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:stateMappings>
                </core:mappings>
            </core:actionMapping>
        </core:actionInputMappings>
        <core:actionOutputMappings>
            <core:actionMapping>
                <core:actionID>CreateProductKey</core:actionID>
                <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:targetDataType required="true" name="enactor.mfc.ProductKey">
                                <core:interfaceName>com.enactor.mfc.product.IProductKey</core:interfaceName>
                            </core:targetDataType>
                        </core:mappings>
                    </core:stateMappings>
                </core:mappings>
            </core:actionMapping>
            <core:actionMapping>
                <core:actionID>LoadProduct</core:actionID>
                <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: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.Product">
                                <core:interfaceName>com.enactor.mfc.product.IProduct</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>CreateProductKey</core:toActionID>
            <core:condition></core:condition>
            <core:event>StateEntered</core:event>
        </core:eventLink>
    </core:state>
    <core:stateTransitions/>
</core:process>
