<?xml version="1.0" encoding="euc-kr"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="PDAVersionCheck.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="PDAVersionCheckUtil" partnerLinkType="bean:PDAVersionCheckUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="AccessFlag" messageType="java.lang.String"></variable>
        <variable name="CompareResult" messageType="java.lang.String"></variable>
        <variable name="DBVersion" messageType="java.lang.String"></variable>
        <variable name="EnumName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/ENUMDEFVALUE/ENUMNAME')" />
        <variable name="eventComment" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/EVENTCOMMENT')" />
        <variable name="eventInfo" messageType="com.cim.idm.framework.data.EventInfo"></variable>
        <variable name="eventUser" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/EVENTUSER')" />
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="oldWorkStationName" messageType="java.lang.String"></variable>
        <variable name="PDASender" messageType="java.lang.String"></variable>
        <variable name="PDAUserLogin" messageType="org.jdom.Document"></variable>
        <variable name="PDAVersion" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/ENUMDEFVALUE/ENUMVALUE')" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="Y" messageType="java.lang.String"></variable>
    </variables>
    <sequence>
        <receive name="PDAVersionCheck" bounds="70,30,149,62">
            <input variable="message" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="74,122,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="PDAVersionCheckUtil PDADBVersion" type="invokebean" description="public void login(String userId, String password, String uiName, String workStationName, String oldWorkStationName)&#xD;&#xA;&#x9;&#x9;throws kr.co.aim.nanotrack.generic.exception.InvalidStateTransitionSignal, kr.co.aim.nanotrack.generic.exception.FrameworkErrorSignal, kr.co.aim.nanotrack.generic.exception.NotFoundSignal, kr.co.aim.nanotrack.generic.exception.DuplicateNameSignal, java.lang.Exception" bounds="-29,257,346,102" partnerLink="PDAVersionCheckUtil" partnerLinkType="PDAVersionCheckUtil" operation="PDADBVersion" operationDesc="public java.lang.String PDADBVersion(java.lang.String EnumName)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="EnumName" type="java.lang.String" />
            <output variable="DBVersion" />
        </invoke>
        <invoke name="PDAVersionCheckUtil compareVersion" type="invokebean" description="public java.lang.String compareVersion(java.lang.String version1, java.lang.String version2)" bounds="68,389,152,102" partnerLink="PDAVersionCheckUtil" partnerLinkType="PDAVersionCheckUtil" operation="compareVersion" operationDesc="public java.lang.String compareVersion(java.lang.String version1, java.lang.String version2)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="PDAVersion" type="java.lang.String" />
            <input variable="DBVersion" type="java.lang.String" />
            <output variable="CompareResult" />
        </invoke>
        <switch name="switch" bounds="128,521,33,33" type="switch">
            <source idx="0" terminal="5,A" />
            <switchstart name="switchstart" type="switchstart" bounds="89,600,110,49">
                <source idx="0" terminal="5,A" />
            </switchstart>
            <case name="case" type="case" condition="getVariable('CompareResult') = &quot;&gt;&quot;" bounds="114,679,60,19">
                <source idx="0" terminal="5,A" />
                <invoke name="PDAVersionCheckUtil accessFlag" type="invokebean" description="public void accessFlag(java.lang.String flag)" bounds="74,728,141,105" partnerLink="PDAVersionCheckUtil" partnerLinkType="PDAVersionCheckUtil" operation="accessFlag" operationDesc="public void accessFlag(java.lang.String flag)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input constant="Y" type="java.lang.String" />
                </invoke>
            </case>
            <case name="case" type="case" condition="getVariable('CompareResult') = &quot;&lt;&quot;" bounds="407,679,60,19">
                <source idx="0" terminal="5,A" />
                <invoke name="PDAVersionCheckUtil accessFlag" type="invokebean" description="public void accessFlag(java.lang.String flag)" bounds="367,728,141,105" partnerLink="PDAVersionCheckUtil" partnerLinkType="PDAVersionCheckUtil" operation="accessFlag" operationDesc="public void accessFlag(java.lang.String flag)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input constant="N" type="java.lang.String" />
                </invoke>
            </case>
            <otherwise name="otherwise" type="otherwise" bounds="598,679,88,19">
                <source idx="0" terminal="5,A" />
                <invoke name="PDAVersionCheckUtil accessFlag" type="invokebean" description="public void accessFlag(java.lang.String flag)" bounds="572,728,141,105" partnerLink="PDAVersionCheckUtil" partnerLinkType="PDAVersionCheckUtil" operation="accessFlag" operationDesc="public void accessFlag(java.lang.String flag)" ignoreThrow="false" fork="false">
                    <source idx="0" terminal="5,A" />
                    <input constant="Y" type="java.lang.String" />
                </invoke>
            </otherwise>
            <switchend name="switchend" type="switchend" bounds="89,853,110,49">
                <source idx="0" terminal="5,A" />
                <source idx="1" terminal="5,A" />
                <source idx="2" terminal="5,A" />
            </switchend>
        </switch>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,932,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(String replySubject, org.jdom.Document doc, org.jdom.Element element, String senderName)&#xD;&#xA;&#x9;&#x9;throws java.lang.Exception" bounds="-4,1067,296,102" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(String replySubject, org.jdom.Document doc, org.jdom.Element element, String senderName)&#xA;&#x9;&#x9;throws java.lang.Exception" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="replySubjectName" type="java.lang.String" />
            <input variable="message" type="org.jdom.Document" />
            <input variable="returnElement" type="org.jdom.Element" />
            <input constant="PDASender" type="java.lang.String" />
        </invoke>
    </sequence>
</process>

