<?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="ChangeUserPassword.bpel">
    <partnerLinks>
        <partnerLink name="bpelj" partnerLinkType="bpel:bpelj" />
        <partnerLink name="TransactionUtil" partnerLinkType="bean:TransactionUtil" />
        <partnerLink name="UserProfileServiceImpl" partnerLinkType="bean:UserProfileServiceImpl" />
        <partnerLink name="UserProfileServiceUtil" partnerLinkType="bean:UserProfileServiceUtil" />
        <partnerLink name="ESBService" partnerLinkType="bean:ESBService" />
    </partnerLinks>
    <variables>
        <variable name="ChangeUserPassword" messageType="org.jdom.Document"></variable>
        <variable name="language" messageType="java.lang.String" expression="getXmlData('ChangeUserPassword', '//Message/Body/LANGUAGE')" />
        <variable name="newPassword" messageType="java.lang.String" expression="getXmlData('ChangeUserPassword', '//Message/Body/NEWPASSWORD')" />
        <variable name="oldPassword" messageType="java.lang.String" expression="getXmlData('ChangeUserPassword', '//Message/Body/OLDPASSWORD')" />
        <variable name="replySubjectName" messageType="java.lang.String" expression="getXmlData('ChangeUserPassword','//Message/Header/ORIGINALSOURCESUBJECTNAME')" />
        <variable name="returnElement" messageType="org.jdom.Element"></variable>
        <variable name="userId" messageType="java.lang.String" expression="getXmlData('ChangeUserPassword', '//Message/Body/USERID')" />
    </variables>
    <sequence>
        <receive name="ChangeUserPassword" bounds="70,30,140,75">
            <input variable="ChangeUserPassword" type="org.jdom.Document" />
        </receive>
        <invoke name="TransactionUtil beginTransaction" type="invokebean" description="public void beginTransaction()" bounds="70,135,140,102" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="beginTransaction" operationDesc="public void beginTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
        <invoke name="UserProfileServiceImpl verifyUser" type="invokebean" description="public void verifyUser(String userId)&#xA;&#x9;&#x9;throws java.lang.Exception" bounds="70,267,140,102" partnerLink="UserProfileServiceImpl" partnerLinkType="UserProfileServiceImpl" operation="verifyUser" operationDesc="public void verifyUser(String userId)&#xA;&#x9;&#x9;throws java.lang.Exception" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
        </invoke>
        <invoke name="UserProfileServiceImpl changePassword" type="invokebean" description="public void changePassword(String userId, String oldPassword, String newPassword)&#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" bounds="41,399,199,102" partnerLink="UserProfileServiceImpl" partnerLinkType="UserProfileServiceImpl" operation="changePassword" operationDesc="public void changePassword(String userId, String oldPassword, String newPassword)&#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" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
            <input variable="oldPassword" type="java.lang.String" />
            <input variable="newPassword" type="java.lang.String" />
        </invoke>
        <invoke name="UserProfileServiceUtil createUserProfileElement" type="invokebean" description="public org.jdom.Element createUserProfileElement(String userId)&#xA;&#x9;&#x9;throws kr.co.aim.nanotrack.generic.exception.FrameworkErrorSignal, kr.co.aim.nanotrack.generic.exception.NotFoundSignal" bounds="64,531,152,102" partnerLink="UserProfileServiceUtil" partnerLinkType="UserProfileServiceUtil" operation="createUserProfileElement" operationDesc="public org.jdom.Element createUserProfileElement(String userId)&#xA;&#x9;&#x9;throws kr.co.aim.nanotrack.generic.exception.FrameworkErrorSignal, kr.co.aim.nanotrack.generic.exception.NotFoundSignal" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
            <input variable="userId" type="java.lang.String" />
            <output variable="returnElement" />
        </invoke>
        <invoke name="ESBService sendReplyBySender" type="invokebean" description="public void sendReplyBySender(String replySubject, org.jdom.Document doc, org.jdom.Element element, String senderName)&#xA;&#x9;&#x9;throws java.lang.Exception" bounds="-39,663,359,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="ChangeUserPassword" type="org.jdom.Document" />
            <input variable="returnElement" type="org.jdom.Element" />
            <input constant="OICSender" type="java.lang.String" />
        </invoke>
        <invoke name="TransactionUtil commitTransaction" type="invokebean" description="public void commitTransaction()" bounds="70,795,140,102" partnerLink="TransactionUtil" partnerLinkType="TransactionUtil" operation="commitTransaction" operationDesc="public void commitTransaction()" ignoreThrow="false" fork="false">
            <source idx="0" terminal="5,A" />
        </invoke>
    </sequence>
</process>

