<?xml version="1.0" encoding="UTF-8"?>
<process xmlns:bean="http://bean.boe.com/" xmlns:bpel="http://bpel.boe.com/" targetNamespace="http://bpel.boe.com/bpelj/" name="PDAWebUserLogin.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
        <partnerLink name="EventInfoUtil" partnerLinkType="bean:EventInfoUtil" />
        <partnerLink name="UserProfileServiceImpl" partnerLinkType="bean:UserProfileServiceImpl" />
        <partnerLink name="UserProfileServiceUtil" partnerLinkType="bean:UserProfileServiceUtil" />
    </partnerLinks>
    <variables>
        <variable name="error" messageType="java.lang.Exception"></variable>
        <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="jsonStr" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/JSONSTR')" />
        <variable name="message" messageType="org.jdom.Document"></variable>
        <variable name="oldWorkStationName" messageType="java.lang.String"></variable>
        <variable name="packingState" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALPACKING/PACKINGSTATE')" />
        <variable name="password" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/PASSWORD')" />
        <variable name="PDASender" messageType="java.lang.String"></variable>
        <variable name="PDAUserLogin" messageType="org.jdom.Document"></variable>
        <variable name="reasonCode" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/MATERIALPACKING/REASONCODE')" />
        <variable name="ReceiveAct" messageType="java.lang.String"></variable>
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('message', '//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="result" messageType="java.lang.String"></variable>
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="sitename" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/USERPROFILE/SITENAME')" />
        <variable name="userId" messageType="java.lang.String" expression="getXmlData('message', '//Message/Body/USERID')" />
        <variable name="userList" messageType="java.util.List"></variable>
    </variables>
    <faultHandlers name="faultHandlers" bounds="554,32,260,614">
        <catchAll name="catchAll" type="catchAll" bounds="33,37,196,550">
            <invoke name="TransactionUtil rollbackTransaction" type="invokebean" description="public void rollbackTransaction()" bounds="28,9,141,105" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="rollbackTransaction" operationDesc="public void rollbackTransaction()" ignoreThrow="false" fork="false" />
            <invoke name="ESBService sendErrorBySender" type="invokebean" description="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" bounds="28,135,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendErrorBySender" operationDesc="public void sendErrorBySender(java.lang.String replySubject, org.jdom.Document doc, java.lang.String lanuage, java.lang.Exception e, java.lang.String senderName)" 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 constant="" type="java.lang.String" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="PDASender" type="java.lang.String" />
            </invoke>
            <invoke name="ESBService makeErrorMessageLog" type="invokebean" description="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" bounds="31,275,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="makeErrorMessageLog" operationDesc="public java.lang.String makeErrorMessageLog(org.jdom.Document doc, java.lang.Exception e, java.lang.String language)" ignoreThrow="false" fork="false">
                <source idx="0" terminal="5,A" />
                <input variable="message" type="org.jdom.Document" />
                <input variable="error" type="java.lang.Exception" />
                <input constant="" type="java.lang.String" />
            </invoke>
            <terminate name="terminate" bounds="32,401,141,65">
                <source idx="0" terminal="5,A" />
            </terminate>
        </catchAll>
    </faultHandlers>
    <sequence>
        <receive name="PDAWebUserLogin" 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="EventInfoUtil makeEventInfo" type="invokebean" description="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" bounds="74,257,141,105" partnerLink="EventInfoUtil" partnerLinkType="EventInfoUtil" operation="makeEventInfo" operationDesc="public static com.cim.idm.framework.data.EventInfo makeEventInfo(java.lang.String eventName, java.lang.String eventUser, java.lang.String eventComment, java.lang.String reasonCodeType, java.lang.String reasonCode)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input constant="PDAUserLogin" type="java.lang.String" />
            <input variable="eventUser" type="java.lang.String" />
            <input variable="eventComment" type="java.lang.String" />
            <input constant="" type="java.lang.String" />
            <input variable="reasonCode" type="java.lang.String" />
            <output variable="eventInfo" />
        </invoke>
        <invoke name="UserProfileServiceImpl PDAUserLoggedIn" 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,392,346,102" partnerLink="UserProfileServiceImpl" partnerLinkType="UserProfileServiceImpl" operation="PDAUserLoggedIn" operationDesc="public java.lang.String PDAUserLoggedIn(java.lang.String userId, java.lang.String password)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
            <input variable="password" type="java.lang.String" />
            <output variable="userId" />
            <fault faultName="catchAll" variable="error" />
        </invoke>
        <invoke name="UserProfileServiceUtil getUserInfo" type="invokebean" description="public java.lang.String getUserInfo(java.lang.String userId)" bounds="68,524,152,102" partnerLink="UserProfileServiceUtil" partnerLinkType="UserProfileServiceUtil" operation="getUserInfo" operationDesc="public java.lang.String getUserInfo(java.lang.String userId)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
            <output variable="result" />
        </invoke>
        <invoke name="UserProfileServiceUtil createUserProfileElement" type="invokebean" description="public org.jdom.Element createUserProfileElement(java.lang.String userId)" bounds="249,551,141,105" partnerLink="UserProfileServiceUtil" partnerLinkType="UserProfileServiceUtil" operation="createUserProfileElement" operationDesc="public org.jdom.Element createUserProfileElement(java.lang.String userId)" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
            <output variable="returnElement" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="74,656,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(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, java.lang.String senderName)" bounds="74,791,141,105" partnerLink="ESBService" partnerLinkType="ESBService" operation="sendReplyBySender" operationDesc="public void sendReplyBySender(java.lang.String replySubject, org.jdom.Document doc, org.jdom.Element element, java.lang.String senderName)" 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>

