The configuration XML file contains descriptions for each drawer
type and for each currency that is supported by the branch. Each branch has
its own XML file for easy maintenance. The BTT ElementFactory is used to read
and process the tags in the XML file.
The following is a sample configuration
XML file named brach001.xml:
<branch001.xml>
<com.ibm.btt.bc.cm.BranchCashDrawerManager id="branch001"
branchId="branch001">
<ref Injection="rulesProvider" refId="rulesProvider" />
<ref Injection="daoFactory" refId="memoryDAOFactory" />
</com.ibm.btt.bc.cm.BranchCashDrawerManager>
<com.ibm.btt.bc.cm.rule.impl.BasicRulesProvider
id="rulesProvider">
<list Injection="cashDrawerCreateSpecs">
<ref refId="createSpec01" />
<ref refId="createSpec02" />
</list>
<list Injection="transactionRules">
<ref refId="depositTxn" />
<ref refId="withdrawTxn" />
</list>
</com.ibm.btt.bc.cm.rule.impl.BasicRulesProvider>
<com.ibm.btt.bc.cm.dao.mem.MemDAOFactory id="memoryDAOFactory" />
<com.ibm.btt.bc.cm.rule.CashDrawerCreateSpec id="createSpec01"
currency="CNY" type="STD" scale="2" >
<list Injection="binTypes">
<string value="TRANSIT" />
<string value="ON_US" />
</list>
<list Injection="traySpecs">
<string value="WRK" />
<string value="RS1" />
<string value="RS2" />
</list>
<list Injection="totalTypes">
<string value="CASH_IN" />
<string value="CASH_OUT" />
<string value="CHECK_BATCH" />
<string value="HOLDOVER_CHECK_BATCH" />
<string value="TRANSIT" />
<string value="ON_US_CHECK" />
<string value="WITHDRAWAL" />
<string value="DEPOSIT" />
<string value="TX_DEBIT" />
<string value="TX_CREDIT" />
</list>
<list Injection="denominationTypes">
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="1" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="5" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="10" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="10" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="20" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="50" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="50" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="100" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="100" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="200" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="500" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="1000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="2000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="5000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="10000" />
</list>
</com.ibm.btt.bc.cm.rule.CashDrawerCreateSpec>
<com.ibm.btt.bc.cm.rule.CashDrawerCreateSpec id="createSpec02"
currency="AUD" type="STD" scale="2" >
<list Injection="binTypes">
<string value="TRANSIT" />
<string value="ON_US" />
</list>
<list Injection="traySpecs">
<string value="WRK" />
<string value="RS1" />
<string value="RS2" />
</list>
<list Injection="totalTypes">
<string value="CASH_IN" />
<string value="CASH_OUT" />
<string value="CHECK_BATCH" />
<string value="DEPOSIT" />
<string value="HOLDOVER_CHECK_BATCH" />
<string value="TRANSIT" />
<string value="ON_US_CHECK" />
</list>
<list Injection="denominationTypes">
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="1" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="5" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="10" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="10" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="20" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="50" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="50" />
<com.ibm.btt.bc.cm.DenoAmount type="C" unitValue="100" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="100" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="200" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="500" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="1000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="2000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="5000" />
<com.ibm.btt.bc.cm.DenoAmount type="N" unitValue="10000" />
</list>
</com.ibm.btt.bc.cm.rule.CashDrawerCreateSpec>
<com.ibm.btt.bc.cm.rule.TransactionRule id="depositTxn"
txnCode="DEPOSIT">
<list Injection="totalRules">
<ref refId="depositRule" />
<ref refId="cashInRule" />
</list>
</com.ibm.btt.bc.cm.rule.TransactionRule>
<com.ibm.btt.bc.cm.rule.TransactionRule id="withdrawTxn"
txnCode="WITHDRAW">
<list Injection="totalRules">
<ref refId="withdrawRule" />
<ref refId="cashOutRule" />
</list>
</com.ibm.btt.bc.cm.rule.TransactionRule>
<com.ibm.btt.bc.cm.rule.TotalingRule id="cashInRule"
action="INCREMENT" targetTotal="CASH_IN">
</com.ibm.btt.bc.cm.rule.TotalingRule>
<com.ibm.btt.bc.cm.rule.TotalingRule id="depositRule"
action="INCREMENT" targetTotal="DEPOSIT">
</com.ibm.btt.bc.cm.rule.TotalingRule>
<com.ibm.btt.bc.cm.rule.TotalingRule id="cashOutRule"
action="INCREMENT" targetTotal="CASH_OUT">
</com.ibm.btt.bc.cm.rule.TotalingRule>
<com.ibm.btt.bc.cm.rule.TotalingRule id="withdrawRule"
action="INCREMENT" targetTotal="WITHDRAWAL">
</com.ibm.btt.bc.cm.rule.TotalingRule>
</branch001.xml>