FurnitureManagement.xpdl をエディターで眺める

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://www.wfmc.org/2002/XPDL1.0" xmlns:xpdl="http://www.wfmc.org/2002/XPDL1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Id="FurnitureManagement" Name="備品管理" xsi:schemaLocation="http://www.wfmc.org/2002/XPDL1.0 http://wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd">
    <PackageHeader>
        <XPDLVersion>1.0</XPDLVersion>
        <Vendor>Together</Vendor>
        <Created>2005-08-18 17:07:30</Created>
    </PackageHeader>
    <RedefinableHeader PublicationStatus="UNDER_TEST"/>
    <ConformanceClass GraphConformance="NON_BLOCKED"/>
    <Participants>
        <Participant Id="FurnitureManagement_Par1" Name="備品管理担当">
            <ParticipantType Type="ROLE"/>
        </Participant>
    </Participants>
    <Applications>
        <Application Id="FurnitureManagement_App1" Name="OgnlInvoker"/>
    </Applications>
    <DataFields>
        <DataField Id="org.seasar.buri.dto.FurnitureItemDto" IsArray="FALSE">
            <DataType>
                <BasicType Type="STRING"/>
            </DataType>
            <ExtendedAttributes>
                <ExtendedAttribute Name="pkey" Value="furnitureID,furnitureID != 0"/>
                <ExtendedAttribute Name="insert" Value="FurnitureItemDao.insert(#data)"/>
                <ExtendedAttribute Name="update" Value="FurnitureItemDao.update(#data)"/>
                <ExtendedAttribute Name="select" Value="FurnitureItemDao.getFurnitureItem(#data.furnitureID)"/>
                <ExtendedAttribute Name="selectMany_NO" Value="FurnitureItemDao.getFurnitureItemByIds(#data)"/>
                <ExtendedAttribute Name="filterMany" Value="FurnitureItemDao.getByIdAndDto(#id,#findDto)"/>
            </ExtendedAttributes>
        </DataField>
    </DataFields>
    <WorkflowProcesses>
        <WorkflowProcess AccessLevel="PUBLIC" Id="FurnitureManagement_Wor1" Name="備品管理">
            <ProcessHeader DurationUnit="D">
                <Created>2005-08-18 17:11:41</Created>
            </ProcessHeader>
            <RedefinableHeader PublicationStatus="UNDER_TEST"/>
            <DataFields>
                <DataField Id="java.lang.Long" IsArray="FALSE">
                    <DataType>
                        <BasicType Type="STRING"/>
                    </DataType>
                    <ExtendedAttributes>
                        <ExtendedAttribute Name="preprocess" Value="FurnitureItemDao.getFurnitureItem(#data)"/>
                    </ExtendedAttributes>
                </DataField>
            </DataFields>
            <Activities>
                <Activity Id="FurnitureManagement_Wor1_Act1" Name="備品登録">
                    <Implementation>
                        <No/>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Automatic/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act2" Name="利用中">
                    <Implementation>
                        <No/>
                    </Implementation>
                        <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Manual/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act3" Name="償却期間終了">
                    <Implementation>
                        <No/>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Manual/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act4" Name="リース終了">
                    <Implementation>
                        <No/>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Manual/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act5" Name="返却済み">
                    <Implementation>
                        <No/>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Automatic/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act6" Name="廃棄処分済み">
                    <Implementation>
                        <No/>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Automatic/>
                    </FinishMode>
                </Activity>
                <Activity Id="FurnitureManagement_Wor1_Act7" Name="期間終了">
                    <Implementation>
                        <Tool Id="FurnitureManagement_App1" Type="APPLICATION">
                            <ExtendedAttributes>
                                <ExtendedAttribute Name="ognl" Value="InnerContext&#10;InnerContext.UserContext&#10;BuriDataDaoUtil&#10;#callPath&#10;//#data = BuriDataDaoUtil.getDtoFromDataKey(#callPath)"/>
                            </ExtendedAttributes>
                        </Tool>
                    </Implementation>
                    <Performer>FurnitureManagement_Par1</Performer>
                    <StartMode>
                        <Automatic/>
                    </StartMode>
                    <FinishMode>
                        <Automatic/>
                    </FinishMode>
                    <TransitionRestrictions>
                        <TransitionRestriction>
                            <Split Type="XOR">
                                <TransitionRefs>
                                    <TransitionRef Id="FurnitureManagement_Wor1_Tra2"/>
                                    <TransitionRef Id="FurnitureManagement_Wor1_Tra4"/>
                                </TransitionRefs>
                            </Split>
                        </TransitionRestriction>
                    </TransitionRestrictions>
                </Activity>
            </Activities>
            <Transitions>
                <Transition From="FurnitureManagement_Wor1_Act1" Id="FurnitureManagement_Wor1_Tra1" To="FurnitureManagement_Wor1_Act2"/>
                <Transition From="FurnitureManagement_Wor1_Act7" Id="FurnitureManagement_Wor1_Tra2" To="FurnitureManagement_Wor1_Act3">
                    <Condition Type="CONDITION">#data.isBuying() == true</Condition>
                </Transition>
                <Transition From="FurnitureManagement_Wor1_Act3" Id="FurnitureManagement_Wor1_Tra3" To="FurnitureManagement_Wor1_Act6"/>
                <Transition From="FurnitureManagement_Wor1_Act7" Id="FurnitureManagement_Wor1_Tra4" To="FurnitureManagement_Wor1_Act4">
                    <Condition Type="CONDITION">#data.isLease() == true</Condition>
                </Transition>
                <Transition From="FurnitureManagement_Wor1_Act4" Id="FurnitureManagement_Wor1_Tra5" To="FurnitureManagement_Wor1_Act5"/>
                <Transition From="FurnitureManagement_Wor1_Act2" Id="FurnitureManagement_Wor1_Tra14" To="FurnitureManagement_Wor1_Act7"/>
            </Transitions>
        </WorkflowProcess>
    </WorkflowProcesses>
</Package>

インデントつけて見やすくしてみた

Package 部分

<Package xmlns="http://www.wfmc.org/2002/XPDL1.0" xmlns:xpdl="http://www.wfmc.org/2002/XPDL1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Id="FurnitureManagement" Name="備品管理" xsi:schemaLocation="http://www.wfmc.org/2002/XPDL1.0 http://wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd">

ここで注目は

  • Id="FurnitureManagement"
  • Name="備品管理"

くらいかなー

PackageHeader 部分

    <PackageHeader>
        <XPDLVersion>1.0</XPDLVersion>
        <Vendor>Together</Vendor>
        <Created>2005-08-18 17:07:30</Created>
    </PackageHeader>

まぁ、そのまんまだね

RedefinableHeader 部分

    <RedefinableHeader PublicationStatus="UNDER_TEST"/>

用途が不明ー ※品質とかって意味かな?

ConformanceClass 部分

    <ConformanceClass GraphConformance="NON_BLOCKED"/>

用途が不明ー ※直訳するとグラフの適合性?

Participants 部分

    <Participants>
        <Participant Id="FurnitureManagement_Par1" Name="備品管理担当">
            <ParticipantType Type="ROLE"/>
        </Participant>
    </Participants>

Applications 部分

    <Applications>
        <Application Id="FurnitureManagement_App1" Name="OgnlInvoker"/>
    </Applications>

Workflow Variables 部分

    <DataFields>
        <DataField Id="org.seasar.buri.dto.FurnitureItemDto" IsArray="FALSE">
            <DataType>
                <BasicType Type="STRING"/>
            </DataType>
            <ExtendedAttributes>
                <ExtendedAttribute Name="pkey" Value="furnitureID,furnitureID != 0"/>
                <ExtendedAttribute Name="insert" Value="FurnitureItemDao.insert(#data)"/>
                <ExtendedAttribute Name="update" Value="FurnitureItemDao.update(#data)"/>
                <ExtendedAttribute Name="select" Value="FurnitureItemDao.getFurnitureItem(#data.furnitureID)"/>
                <ExtendedAttribute Name="selectMany_NO" Value="FurnitureItemDao.getFurnitureItemByIds(#data)"/>
                <ExtendedAttribute Name="filterMany" Value="FurnitureItemDao.getByIdAndDto(#id,#findDto)"/>
            </ExtendedAttributes>
        </DataField>
    </DataFields>

これ以降は WorkflowProcesses の部分だけどまた後で・・・