This commit is contained in:
2025-09-30 22:06:10 -04:00
parent 030d1425e8
commit 425a7206d6
10 changed files with 17119 additions and 251 deletions

View File

@@ -1,260 +1,197 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.42.4 (0)
-->
<!-- Title: Reservation System &#45; Account Load Pages: 1 -->
<svg width="1610pt" height="757pt"
viewBox="0.00 0.00 1610.00 757.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 753)">
<title>Reservation System &#45; Account Load</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-753 1606,-753 1606,4 -4,4"/>
<text text-anchor="middle" x="801" y="-7.4" font-family="Arial" font-size="12.00">Reservation System &#45; Account Loading</text>
<g id="clust1" class="cluster">
<title>cluster_reservationsystem</title>
<polygon fill="lightgrey" stroke="lightgrey" points="326,-304 326,-608 688,-608 688,-304 326,-304"/>
<text text-anchor="middle" x="507" y="-594.4" font-family="Arial" font-size="12.00">lodge.reservationsystem</text>
<?xml version="1.0" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="993pt" height="654pt" viewBox="0.00 0.00 992.53 654">
<g id="graph0" class="graph" transform="translate(4,650) scale(1)" data-name="Reservation System - Account Load">
<polygon fill="white" stroke="none" points="-4,4 -4,-650 988.53,-650 988.53,4 -4,4"/>
<text text-anchor="middle" x="492.27" y="-8.2" font-family="Times New Roman" font-size="14">Reservation System - Account Loading</text>
<g id="clust1" class="cluster" data-name="cluster_reservationsystem">
<polygon fill="lightgrey" stroke="lightgrey" points="8,-316.4 8,-638 348,-638 348,-316.4 8,-316.4"/>
<text text-anchor="middle" x="178" y="-621.4" font-family="Times New Roman" font-size="14">lodge.reservationsystem</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_datamodel</title>
<polygon fill="lightblue" stroke="lightblue" points="696,-29 696,-428 1418,-428 1418,-29 696,-29"/>
<text text-anchor="middle" x="1057" y="-414.4" font-family="Arial" font-size="12.00">lodge.datamodel</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_test</title>
<polygon fill="honeydew" stroke="honeydew" points="8,-510 8,-741 318,-741 318,-510 8,-510"/>
<text text-anchor="middle" x="163" y="-727.4" font-family="Arial" font-size="12.00">lodge (Test)</text>
<g id="clust2" class="cluster" data-name="cluster_datamodel">
<polygon fill="lightblue" stroke="lightblue" points="356,-32.8 356,-450.2 901,-450.2 901,-32.8 356,-32.8"/>
<text text-anchor="middle" x="628.5" y="-433.6" font-family="Times New Roman" font-size="14">lodge.datamodel</text>
</g>
<!-- AccomodationManager -->
<g id="node1" class="node">
<title>AccomodationManager</title>
<polygon fill="lightyellow" stroke="black" points="333.5,-496.5 333.5,-578.5 680.5,-578.5 680.5,-496.5 333.5,-496.5"/>
<text text-anchor="middle" x="507" y="-566.5" font-family="Arial" font-size="10.00">AccomodationManager</text>
<polyline fill="none" stroke="black" points="333.5,-559.5 680.5,-559.5 "/>
<text text-anchor="start" x="341.5" y="-547.5" font-family="Arial" font-size="10.00">+ AccomodationManager(home: String)</text>
<text text-anchor="start" x="341.5" y="-536.5" font-family="Arial" font-size="10.00">+ newAccount(phone: String, addr: Address, email: EmailAddress): Account</text>
<text text-anchor="start" x="341.5" y="-525.5" font-family="Arial" font-size="10.00">+ AddAccount(acct: Account)</text>
<text text-anchor="start" x="341.5" y="-514.5" font-family="Arial" font-size="10.00">+ UpdateAccount(acct: Account)</text>
<text text-anchor="start" x="341.5" y="-503.5" font-family="Arial" font-size="10.00">+ showAccountList()</text>
<g id="node1" class="node" pointer-events="visible" data-name="AccomodationManager">
<polygon fill="lightyellow" stroke="black" points="15.69,-516.7 15.69,-604.7 340.31,-604.7 340.31,-516.7 15.69,-516.7"/>
<text text-anchor="middle" x="178" y="-591.7" font-family="Times New Roman" font-size="10.00">AccomodationManager</text>
<polyline fill="none" stroke="black" points="15.69,-584.7 340.31,-584.7"/>
<text text-anchor="start" x="23.69" y="-571.7" font-family="Times New Roman" font-size="10.00">+ AccomodationManager(home: String)</text>
<text text-anchor="start" x="23.69" y="-559.7" font-family="Times New Roman" font-size="10.00">+ newAccount(phone: String, addr: Address, email: EmailAddress): Account</text>
<text text-anchor="start" x="23.69" y="-547.7" font-family="Times New Roman" font-size="10.00">+ AddAccount(acct: Account)</text>
<text text-anchor="start" x="23.69" y="-535.7" font-family="Times New Roman" font-size="10.00">+ UpdateAccount(acct: Account)</text>
<text text-anchor="start" x="23.69" y="-523.7" font-family="Times New Roman" font-size="10.00">+ showAccountList()</text>
</g>
<!-- DataRepository -->
<g id="node2" class="node">
<title>DataRepository</title>
<polygon fill="lightyellow" stroke="black" points="442.5,-312.5 442.5,-413.5 611.5,-413.5 611.5,-312.5 442.5,-312.5"/>
<text text-anchor="middle" x="527" y="-401.5" font-family="Arial" font-size="10.00">DataRepository (Singleton)</text>
<polyline fill="none" stroke="black" points="442.5,-394.5 611.5,-394.5 "/>
<text text-anchor="start" x="450.5" y="-382.5" font-family="Arial" font-size="10.00">&#45; directoryPath: String</text>
<text text-anchor="start" x="450.5" y="-371.5" font-family="Arial" font-size="10.00">&#45; instance: DataRepository</text>
<polyline fill="none" stroke="black" points="442.5,-364.5 611.5,-364.5 "/>
<text text-anchor="start" x="450.5" y="-352.5" font-family="Arial" font-size="10.00">+ getInstance(): DataRepository</text>
<text text-anchor="start" x="450.5" y="-341.5" font-family="Arial" font-size="10.00">+ setDataStoreRoot(path: String)</text>
<text text-anchor="start" x="450.5" y="-330.5" font-family="Arial" font-size="10.00">+ getPath(): String</text>
<text text-anchor="start" x="450.5" y="-319.5" font-family="Arial" font-size="10.00">+ LoadAccount(file: Path): Account</text>
<g id="node2" class="node" pointer-events="visible" data-name="DataRepository">
<polygon fill="lightyellow" stroke="black" points="179.62,-324.9 179.62,-432.9 340.38,-432.9 340.38,-324.9 179.62,-324.9"/>
<text text-anchor="middle" x="260" y="-419.9" font-family="Times New Roman" font-size="10.00">DataRepository (Singleton)</text>
<polyline fill="none" stroke="black" points="179.62,-412.9 340.38,-412.9"/>
<text text-anchor="start" x="187.62" y="-399.9" font-family="Times New Roman" font-size="10.00">- directoryPath: String</text>
<text text-anchor="start" x="187.62" y="-387.9" font-family="Times New Roman" font-size="10.00">- instance: DataRepository</text>
<polyline fill="none" stroke="black" points="179.62,-380.9 340.38,-380.9"/>
<text text-anchor="start" x="187.62" y="-367.9" font-family="Times New Roman" font-size="10.00">+ getInstance(): DataRepository</text>
<text text-anchor="start" x="187.62" y="-355.9" font-family="Times New Roman" font-size="10.00">+ setDataStoreRoot(path: String)</text>
<text text-anchor="start" x="187.62" y="-343.9" font-family="Times New Roman" font-size="10.00">+ getPath(): String</text>
<text text-anchor="start" x="187.62" y="-331.9" font-family="Times New Roman" font-size="10.00">+ LoadAccount(file: Path): Account</text>
</g>
<!-- AccomodationManager&#45;&gt;DataRepository -->
<g id="edge7" class="edge">
<title>AccomodationManager&#45;&gt;DataRepository</title>
<path fill="none" stroke="black" d="M527,-496.15C527,-496.15 527,-423.72 527,-423.72"/>
<polygon fill="black" stroke="black" points="530.5,-423.72 527,-413.72 523.5,-423.72 530.5,-423.72"/>
<text text-anchor="middle" x="527" y="-452.8" font-family="Arial" font-size="9.00">uses</text>
<g id="edge2" class="edge" data-name="AccomodationManager-&gt;DataRepository">
<path fill="none" stroke="black" d="M259.97,-517.15C259.97,-517.15 259.97,-444.33 259.97,-444.33"/>
<polygon fill="black" stroke="black" points="263.47,-444.33 259.97,-434.33 256.47,-444.33 263.47,-444.33"/>
<text text-anchor="middle" x="228.51" y="-472.1" font-family="Arial" font-size="9.00">uses</text>
</g>
<!-- Account -->
<g id="node3" class="node">
<title>Account</title>
<polygon fill="lightyellow" stroke="black" points="704,-158.5 704,-229.5 1010,-229.5 1010,-158.5 704,-158.5"/>
<text text-anchor="middle" x="857" y="-217.5" font-family="Arial" font-size="10.00">Account</text>
<polyline fill="none" stroke="black" points="704,-210.5 1010,-210.5 "/>
<text text-anchor="start" x="712" y="-198.5" font-family="Arial" font-size="10.00">+ Account()</text>
<text text-anchor="start" x="712" y="-187.5" font-family="Arial" font-size="10.00">+ Account(phone: String, mailAddr: Address, email: EmailAddress)</text>
<text text-anchor="start" x="712" y="-176.5" font-family="Arial" font-size="10.00">+ Write(acct: Account)</text>
<text text-anchor="start" x="712" y="-165.5" font-family="Arial" font-size="10.00">+ checkValid()</text>
<g id="node3" class="node" pointer-events="visible" data-name="Account">
<polygon fill="lightyellow" stroke="black" points="364.32,-165.1 364.32,-241.1 653.68,-241.1 653.68,-165.1 364.32,-165.1"/>
<text text-anchor="middle" x="509" y="-228.1" font-family="Times New Roman" font-size="10.00">Account</text>
<polyline fill="none" stroke="black" points="364.32,-221.1 653.68,-221.1"/>
<text text-anchor="start" x="372.32" y="-208.1" font-family="Times New Roman" font-size="10.00">+ Account()</text>
<text text-anchor="start" x="372.32" y="-196.1" font-family="Times New Roman" font-size="10.00">+ Account(phone: String, mailAddr: Address, email: EmailAddress)</text>
<text text-anchor="start" x="372.32" y="-184.1" font-family="Times New Roman" font-size="10.00">+ Write(acct: Account)</text>
<text text-anchor="start" x="372.32" y="-172.1" font-family="Times New Roman" font-size="10.00">+ checkValid()</text>
</g>
<!-- AccomodationManager&#45;&gt;Account -->
<g id="edge8" class="edge">
<title>AccomodationManager&#45;&gt;Account</title>
<path fill="none" stroke="black" d="M634.5,-496.39C634.5,-410.09 634.5,-218 634.5,-218 634.5,-218 693.99,-218 693.99,-218"/>
<polygon fill="black" stroke="black" points="693.99,-221.5 703.99,-218 693.99,-214.5 693.99,-221.5"/>
<text text-anchor="middle" x="1073" y="-360.8" font-family="Arial" font-size="9.00">creates/updates</text>
<g id="edge3" class="edge" data-name="AccomodationManager-&gt;Account">
<path fill="none" stroke="black" d="M97.65,-516.93C97.65,-419.81 97.65,-194.8 97.65,-194.8 97.65,-194.8 353.04,-194.8 353.04,-194.8"/>
<polygon fill="black" stroke="black" points="353.04,-198.3 363.04,-194.8 353.04,-191.3 353.04,-198.3"/>
<text text-anchor="middle" x="580.02" y="-376.2" font-family="Arial" font-size="9.00">creates/updates</text>
</g>
<!-- AccountList -->
<g id="node4" class="node">
<title>AccountList</title>
<polygon fill="lightyellow" stroke="black" points="704,-327.5 704,-398.5 896,-398.5 896,-327.5 704,-327.5"/>
<text text-anchor="middle" x="800" y="-386.5" font-family="Arial" font-size="10.00">AccountList</text>
<polyline fill="none" stroke="black" points="704,-379.5 896,-379.5 "/>
<text text-anchor="start" x="712" y="-367.5" font-family="Arial" font-size="10.00">+ add(acct: Account)</text>
<text text-anchor="start" x="712" y="-356.5" font-family="Arial" font-size="10.00">+ save(acct: Account)</text>
<text text-anchor="start" x="712" y="-345.5" font-family="Arial" font-size="10.00">+ find(account_number: String): Account</text>
<text text-anchor="start" x="712" y="-334.5" font-family="Arial" font-size="10.00">+ showAccountList()</text>
<g id="node4" class="node" pointer-events="visible" data-name="AccountList">
<polygon fill="lightyellow" stroke="black" points="363.78,-340.9 363.78,-416.9 546.22,-416.9 546.22,-340.9 363.78,-340.9"/>
<text text-anchor="middle" x="455" y="-403.9" font-family="Times New Roman" font-size="10.00">AccountList</text>
<polyline fill="none" stroke="black" points="363.78,-396.9 546.22,-396.9"/>
<text text-anchor="start" x="371.78" y="-383.9" font-family="Times New Roman" font-size="10.00">+ add(acct: Account)</text>
<text text-anchor="start" x="371.78" y="-371.9" font-family="Times New Roman" font-size="10.00">+ save(acct: Account)</text>
<text text-anchor="start" x="371.78" y="-359.9" font-family="Times New Roman" font-size="10.00">+ find(account_number: String): Account</text>
<text text-anchor="start" x="371.78" y="-347.9" font-family="Times New Roman" font-size="10.00">+ showAccountList()</text>
</g>
<!-- AccomodationManager&#45;&gt;AccountList -->
<g id="edge6" class="edge">
<title>AccomodationManager&#45;&gt;AccountList</title>
<path fill="none" stroke="black" d="M657.5,-496.15C657.5,-444.54 657.5,-363 657.5,-363 657.5,-363 691.77,-363 691.77,-363"/>
<polygon fill="black" stroke="black" points="691.77,-363 697.77,-359 703.77,-363 697.77,-367 691.77,-363"/>
<text text-anchor="middle" x="745" y="-452.8" font-family="Arial" font-size="9.00">manages 1</text>
<g id="edge1" class="edge" data-name="AccomodationManager-&gt;AccountList">
<path fill="none" stroke="black" d="M339.93,-545.8C400.55,-545.8 455,-545.8 455,-545.8 455,-545.8 455,-428.77 455,-428.77"/>
<polygon fill="black" stroke="black" points="455,-428.77 451,-422.77 455,-416.77 459,-422.77 455,-428.77"/>
<text text-anchor="middle" x="392.26" y="-472.1" font-family="Arial" font-size="9.00">manages 1</text>
</g>
<!-- Exception -->
<g id="node11" class="node">
<title>Exception</title>
<polygon fill="lightyellow" stroke="black" points="258,-345 258,-381 318,-381 318,-345 258,-345"/>
<text text-anchor="middle" x="288" y="-360.5" font-family="Arial" font-size="10.00">Exception</text>
<g id="node9" class="node" pointer-events="visible" data-name="Exception">
<polygon fill="lightyellow" stroke="black" points="908.73,-360.9 908.73,-396.9 965.27,-396.9 965.27,-360.9 908.73,-360.9"/>
<text text-anchor="middle" x="937" y="-375.9" font-family="Times New Roman" font-size="10.00">Exception</text>
</g>
<!-- AccomodationManager&#45;&gt;Exception -->
<g id="edge14" class="edge">
<title>AccomodationManager&#45;&gt;Exception</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M333.34,-507C321.27,-507 313.75,-507 313.75,-507 313.75,-507 313.75,-391.24 313.75,-391.24"/>
<polygon fill="red" stroke="red" points="313.75,-381.24 318.25,-391.24 313.75,-386.24 313.75,-391.24 313.75,-391.24 313.75,-391.24 313.75,-386.24 309.25,-391.24 313.75,-381.24 313.75,-381.24"/>
<text text-anchor="middle" x="312.5" y="-452.8" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
<g id="edge9" class="edge" data-name="AccomodationManager-&gt;Exception">
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M339.89,-574.8C562.8,-574.8 937,-574.8 937,-574.8 937,-574.8 937,-406.63 937,-406.63"/>
<polygon fill="red" stroke="red" points="937,-396.63 941.5,-406.63 937,-401.63 937,-406.63 937,-406.63 937,-406.63 937,-401.63 932.5,-406.63 937,-396.63 937,-396.63"/>
<text text-anchor="middle" x="960.77" y="-472.1" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g>
<!-- DataRepository&#45;&gt;Account -->
<g id="edge13" class="edge">
<title>DataRepository&#45;&gt;Account</title>
<path fill="none" stroke="black" d="M599.5,-312.46C599.5,-266.56 599.5,-206 599.5,-206 599.5,-206 693.86,-206 693.86,-206"/>
<polygon fill="black" stroke="black" points="693.86,-209.5 703.86,-206 693.86,-202.5 693.86,-209.5"/>
<text text-anchor="middle" x="609.5" y="-268.8" font-family="Arial" font-size="9.00">loads</text>
<g id="edge8" class="edge" data-name="DataRepository-&gt;Account">
<path fill="none" stroke="black" d="M332.44,-324.92C332.44,-280.84 332.44,-225.8 332.44,-225.8 332.44,-225.8 352.9,-225.8 352.9,-225.8"/>
<polygon fill="black" stroke="black" points="352.9,-229.3 362.9,-225.8 352.9,-222.3 352.9,-229.3"/>
<text text-anchor="middle" x="323.76" y="-280.3" font-family="Arial" font-size="9.00">loads</text>
</g>
<!-- IOException -->
<g id="node12" class="node">
<title>IOException</title>
<polygon fill="lightyellow" stroke="black" points="504.5,-38.5 504.5,-74.5 575.5,-74.5 575.5,-38.5 504.5,-38.5"/>
<text text-anchor="middle" x="540" y="-54" font-family="Arial" font-size="10.00">IOException</text>
<g id="node10" class="node" pointer-events="visible" data-name="IOException">
<polygon fill="lightyellow" stroke="black" points="249.45,-43.3 249.45,-79.3 316.55,-79.3 316.55,-43.3 249.45,-43.3"/>
<text text-anchor="middle" x="283" y="-58.3" font-family="Times New Roman" font-size="10.00">IOException</text>
</g>
<!-- DataRepository&#45;&gt;IOException -->
<g id="edge18" class="edge">
<title>DataRepository&#45;&gt;IOException</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M528.17,-312.39C528.17,-312.39 528.17,-84.62 528.17,-84.62"/>
<polygon fill="red" stroke="red" points="528.17,-74.62 532.67,-84.62 528.17,-79.62 528.17,-84.62 528.17,-84.62 528.17,-84.62 528.17,-79.62 523.67,-84.62 528.17,-74.62 528.17,-74.62"/>
<text text-anchor="middle" x="508.5" y="-191.8" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
<g id="edge13" class="edge" data-name="DataRepository-&gt;IOException">
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M271.82,-325.02C271.82,-325.02 271.82,-89.21 271.82,-89.21"/>
<polygon fill="red" stroke="red" points="271.82,-79.21 276.32,-89.21 271.82,-84.21 271.82,-89.21 271.82,-89.21 271.82,-89.21 271.82,-84.21 267.32,-89.21 271.82,-79.21 271.82,-79.21"/>
<text text-anchor="middle" x="303.77" y="-200.4" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g>
<!-- Account&#45;&gt;DataRepository -->
<g id="edge12" class="edge">
<title>Account&#45;&gt;DataRepository</title>
<path fill="none" stroke="black" d="M703.75,-194C643.07,-194 587.5,-194 587.5,-194 587.5,-194 587.5,-302.29 587.5,-302.29"/>
<polygon fill="black" stroke="black" points="584,-302.29 587.5,-312.29 591,-302.29 584,-302.29"/>
<text text-anchor="middle" x="739" y="-268.8" font-family="Arial" font-size="9.00">uses for persistence</text>
<g id="edge7" class="edge" data-name="Account-&gt;DataRepository">
<path fill="none" stroke="black" d="M364.53,-210.8C341.18,-210.8 324.49,-210.8 324.49,-210.8 324.49,-210.8 324.49,-313.74 324.49,-313.74"/>
<polygon fill="black" stroke="black" points="320.99,-313.74 324.49,-323.74 327.99,-313.74 320.99,-313.74"/>
<text text-anchor="middle" x="394.27" y="-280.3" font-family="Arial" font-size="9.00">uses for persistence</text>
</g>
<!-- Address -->
<g id="node5" class="node">
<title>Address</title>
<polygon fill="lightyellow" stroke="black" points="904,-37.5 904,-75.5 1190,-75.5 1190,-37.5 904,-37.5"/>
<text text-anchor="middle" x="1047" y="-63.5" font-family="Arial" font-size="10.00">Address</text>
<polyline fill="none" stroke="black" points="904,-56.5 1190,-56.5 "/>
<text text-anchor="start" x="912" y="-44.5" font-family="Arial" font-size="10.00">+ Address(street: String, city: String, state: String, zip: String)</text>
<g id="node5" class="node" pointer-events="visible" data-name="Address">
<polygon fill="lightyellow" stroke="black" points="628.66,-41.3 628.66,-81.3 893.34,-81.3 893.34,-41.3 628.66,-41.3"/>
<text text-anchor="middle" x="761" y="-68.3" font-family="Times New Roman" font-size="10.00">Address</text>
<polyline fill="none" stroke="black" points="628.66,-61.3 893.34,-61.3"/>
<text text-anchor="start" x="636.66" y="-48.3" font-family="Times New Roman" font-size="10.00">+ Address(street: String, city: String, state: String, zip: String)</text>
</g>
<!-- Account&#45;&gt;Address -->
<g id="edge10" class="edge">
<title>Account&#45;&gt;Address</title>
<path fill="none" stroke="black" d="M957,-158.23C957,-158.23 957,-85.58 957,-85.58"/>
<polygon fill="black" stroke="black" points="960.5,-85.58 957,-75.58 953.5,-85.58 960.5,-85.58"/>
<text text-anchor="middle" x="1019" y="-114.8" font-family="Arial" font-size="9.00">has mailing</text>
<g id="edge5" class="edge" data-name="Account-&gt;Address">
<path fill="none" stroke="black" d="M641.17,-165.1C641.17,-165.1 641.17,-92.57 641.17,-92.57"/>
<polygon fill="black" stroke="black" points="644.67,-92.57 641.17,-82.57 637.67,-92.57 644.67,-92.57"/>
<text text-anchor="middle" x="712.76" y="-120.5" font-family="Arial" font-size="9.00">has mailing</text>
</g>
<!-- EmailAddress -->
<g id="node6" class="node">
<title>EmailAddress</title>
<polygon fill="lightyellow" stroke="black" points="1262.5,-37.5 1262.5,-75.5 1409.5,-75.5 1409.5,-37.5 1262.5,-37.5"/>
<text text-anchor="middle" x="1336" y="-63.5" font-family="Arial" font-size="10.00">EmailAddress</text>
<polyline fill="none" stroke="black" points="1262.5,-56.5 1409.5,-56.5 "/>
<text text-anchor="start" x="1270.5" y="-44.5" font-family="Arial" font-size="10.00">+ EmailAddress(email: String)</text>
<g id="node6" class="node" pointer-events="visible" data-name="EmailAddress">
<polygon fill="lightyellow" stroke="black" points="364.3,-41.3 364.3,-81.3 503.7,-81.3 503.7,-41.3 364.3,-41.3"/>
<text text-anchor="middle" x="434" y="-68.3" font-family="Times New Roman" font-size="10.00">EmailAddress</text>
<polyline fill="none" stroke="black" points="364.3,-61.3 503.7,-61.3"/>
<text text-anchor="start" x="372.3" y="-48.3" font-family="Times New Roman" font-size="10.00">+ EmailAddress(email: String)</text>
</g>
<!-- Account&#45;&gt;EmailAddress -->
<g id="edge11" class="edge">
<title>Account&#45;&gt;EmailAddress</title>
<path fill="none" stroke="black" d="M1010.24,-166C1142.19,-166 1311.5,-166 1311.5,-166 1311.5,-166 1311.5,-85.57 1311.5,-85.57"/>
<polygon fill="black" stroke="black" points="1315,-85.57 1311.5,-75.57 1308,-85.57 1315,-85.57"/>
<text text-anchor="middle" x="1262" y="-114.8" font-family="Arial" font-size="9.00">has</text>
<g id="edge6" class="edge" data-name="Account-&gt;EmailAddress">
<path fill="none" stroke="black" d="M434.01,-165.1C434.01,-165.1 434.01,-92.57 434.01,-92.57"/>
<polygon fill="black" stroke="black" points="437.51,-92.57 434.01,-82.57 430.51,-92.57 437.51,-92.57"/>
<text text-anchor="middle" x="468.26" y="-120.5" font-family="Arial" font-size="9.00">has</text>
</g>
<!-- IllegalArgumentException -->
<g id="node8" class="node">
<title>IllegalArgumentException</title>
<polygon fill="lightyellow" stroke="black" points="704,-38.5 704,-74.5 832,-74.5 832,-38.5 704,-38.5"/>
<text text-anchor="middle" x="768" y="-54" font-family="Arial" font-size="10.00">IllegalArgumentException</text>
<g id="node8" class="node" pointer-events="visible" data-name="IllegalArgumentException">
<polygon fill="lightyellow" stroke="black" points="504.68,-43.3 504.68,-79.3 627.32,-79.3 627.32,-43.3 504.68,-43.3"/>
<text text-anchor="middle" x="566" y="-58.3" font-family="Times New Roman" font-size="10.00">IllegalArgumentException</text>
</g>
<!-- Account&#45;&gt;IllegalArgumentException -->
<g id="edge16" class="edge">
<title>Account&#45;&gt;IllegalArgumentException</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M768,-158.23C768,-158.23 768,-84.82 768,-84.82"/>
<polygon fill="red" stroke="red" points="768,-74.82 772.5,-84.82 768,-79.82 768,-84.82 768,-84.82 768,-84.82 768,-79.82 763.5,-84.82 768,-74.82 768,-74.82"/>
<text text-anchor="middle" x="841.5" y="-114.8" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
<g id="edge11" class="edge" data-name="Account-&gt;IllegalArgumentException">
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M566,-165.1C566,-165.1 566,-89.13 566,-89.13"/>
<polygon fill="red" stroke="red" points="566,-79.13 570.5,-89.13 566,-84.13 566,-89.13 566,-89.13 566,-89.13 566,-84.13 561.5,-89.13 566,-79.13 566,-79.13"/>
<text text-anchor="middle" x="560.77" y="-120.5" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g>
<!-- Account&#45;&gt;IOException -->
<g id="edge17" class="edge">
<title>Account&#45;&gt;IOException</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M703.97,-170C627.83,-170 551.83,-170 551.83,-170 551.83,-170 551.83,-84.74 551.83,-84.74"/>
<polygon fill="red" stroke="red" points="551.83,-74.74 556.33,-84.74 551.83,-79.74 551.83,-84.74 551.83,-84.74 551.83,-84.74 551.83,-79.74 547.33,-84.74 551.83,-74.74 551.83,-74.74"/>
<text text-anchor="middle" x="668.5" y="-114.8" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
<g id="edge12" class="edge" data-name="Account-&gt;IOException">
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M364.52,-179.8C325.66,-179.8 294.18,-179.8 294.18,-179.8 294.18,-179.8 294.18,-89.3 294.18,-89.3"/>
<polygon fill="red" stroke="red" points="294.18,-79.3 298.68,-89.3 294.18,-84.3 294.18,-89.3 294.18,-89.3 294.18,-89.3 294.18,-84.3 289.68,-89.3 294.18,-79.3 294.18,-79.3"/>
<text text-anchor="middle" x="356.77" y="-120.5" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g>
<!-- AccountList&#45;&gt;Account -->
<g id="edge9" class="edge">
<title>AccountList&#45;&gt;Account</title>
<path fill="none" stroke="black" d="M800,-327.16C800,-327.16 800,-241.79 800,-241.79"/>
<polygon fill="none" stroke="black" points="800,-241.79 796,-235.79 800,-229.79 804,-235.79 800,-241.79"/>
<text text-anchor="middle" x="864" y="-268.8" font-family="Arial" font-size="9.00">0..*</text>
<g id="edge4" class="edge" data-name="AccountList-&gt;Account">
<path fill="none" stroke="black" d="M455.27,-341.19C455.27,-341.19 455.27,-253.05 455.27,-253.05"/>
<polygon fill="none" stroke="black" points="455.27,-253.05 451.27,-247.05 455.27,-241.05 459.27,-247.05 455.27,-253.05"/>
<text text-anchor="middle" x="466.75" y="-280.3" font-family="Arial" font-size="9.00">0..*</text>
</g>
<!-- DuplicateObjectException -->
<g id="node7" class="node">
<title>DuplicateObjectException</title>
<polygon fill="lightyellow" stroke="black" points="1082,-176 1082,-212 1212,-212 1212,-176 1082,-176"/>
<text text-anchor="middle" x="1147" y="-191.5" font-family="Arial" font-size="10.00">DuplicateObjectException</text>
<g id="node7" class="node" pointer-events="visible" data-name="DuplicateObjectException">
<polygon fill="lightyellow" stroke="black" points="654.97,-185.1 654.97,-221.1 777.03,-221.1 777.03,-185.1 654.97,-185.1"/>
<text text-anchor="middle" x="716" y="-200.1" font-family="Times New Roman" font-size="10.00">DuplicateObjectException</text>
</g>
<!-- AccountList&#45;&gt;DuplicateObjectException -->
<g id="edge15" class="edge">
<title>AccountList&#45;&gt;DuplicateObjectException</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M896.2,-363C998.89,-363 1147,-363 1147,-363 1147,-363 1147,-222.09 1147,-222.09"/>
<polygon fill="red" stroke="red" points="1147,-212.09 1151.5,-222.09 1147,-217.09 1147,-222.09 1147,-222.09 1147,-222.09 1147,-217.09 1142.5,-222.09 1147,-212.09 1147,-212.09"/>
<text text-anchor="middle" x="973.5" y="-268.8" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g>
<!-- TestAccountLoad -->
<g id="node9" class="node">
<title>TestAccountLoad</title>
<polygon fill="lightyellow" stroke="black" points="16.5,-662.5 16.5,-711.5 309.5,-711.5 309.5,-662.5 16.5,-662.5"/>
<text text-anchor="middle" x="163" y="-699.5" font-family="Arial" font-size="10.00">TestAccountLoad</text>
<polyline fill="none" stroke="black" points="16.5,-692.5 309.5,-692.5 "/>
<text text-anchor="start" x="24.5" y="-680.5" font-family="Arial" font-size="10.00">+ main(args: String[])</text>
<text text-anchor="start" x="24.5" y="-669.5" font-family="Arial" font-size="10.00">&#45; Test_AddAccount(mgr: AccomodationManager, acct: Account)</text>
</g>
<!-- TestAccountLoad&#45;&gt;AccomodationManager -->
<g id="edge1" class="edge">
<title>TestAccountLoad&#45;&gt;AccomodationManager</title>
<path fill="none" stroke="black" d="M283.75,-662.34C283.75,-627.49 283.75,-568 283.75,-568 283.75,-568 323.3,-568 323.3,-568"/>
<polygon fill="black" stroke="black" points="323.3,-571.5 333.3,-568 323.3,-564.5 323.3,-571.5"/>
<text text-anchor="middle" x="403" y="-618.8" font-family="Arial" font-size="9.00">uses</text>
</g>
<!-- TestAccountLoad&#45;&gt;Account -->
<g id="edge2" class="edge">
<title>TestAccountLoad&#45;&gt;Account</title>
<path fill="none" stroke="black" d="M237,-662.3C237,-560.91 237,-182 237,-182 237,-182 693.74,-182 693.74,-182"/>
<polygon fill="black" stroke="black" points="693.74,-185.5 703.74,-182 693.74,-178.5 693.74,-185.5"/>
<text text-anchor="middle" x="1225" y="-452.8" font-family="Arial" font-size="9.00">uses</text>
</g>
<!-- TestAccountLoad&#45;&gt;Address -->
<g id="edge3" class="edge">
<title>TestAccountLoad&#45;&gt;Address</title>
<path fill="none" stroke="black" d="M309.8,-678C560.89,-678 1046,-678 1046,-678 1046,-678 1046,-85.78 1046,-85.78"/>
<polygon fill="black" stroke="black" points="1049.5,-85.78 1046,-75.78 1042.5,-85.78 1049.5,-85.78"/>
<text text-anchor="middle" x="1411.5" y="-360.8" font-family="Arial" font-size="9.00">creates</text>
</g>
<!-- TestAccountLoad&#45;&gt;EmailAddress -->
<g id="edge4" class="edge">
<title>TestAccountLoad&#45;&gt;EmailAddress</title>
<path fill="none" stroke="black" d="M309.54,-695C629.15,-695 1360.5,-695 1360.5,-695 1360.5,-695 1360.5,-85.61 1360.5,-85.61"/>
<polygon fill="black" stroke="black" points="1364,-85.61 1360.5,-75.61 1357,-85.61 1364,-85.61"/>
<text text-anchor="middle" x="1586.5" y="-360.8" font-family="Arial" font-size="9.00">creates</text>
</g>
<!-- TestAccountLoad_getRepositoryConfig -->
<g id="node10" class="node">
<title>TestAccountLoad_getRepositoryConfig</title>
<polygon fill="lightyellow" stroke="black" points="110,-518.5 110,-556.5 216,-556.5 216,-518.5 110,-518.5"/>
<text text-anchor="middle" x="163" y="-544.5" font-family="Arial" font-size="10.00">getRepositoryConfig</text>
<polyline fill="none" stroke="black" points="110,-537.5 216,-537.5 "/>
<text text-anchor="start" x="118" y="-525.5" font-family="Arial" font-size="10.00">+ getPath(): String</text>
</g>
<!-- TestAccountLoad&#45;&gt;TestAccountLoad_getRepositoryConfig -->
<g id="edge5" class="edge">
<title>TestAccountLoad&#45;&gt;TestAccountLoad_getRepositoryConfig</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M163,-662.31C163,-662.31 163,-566.52 163,-566.52"/>
<polygon fill="black" stroke="black" points="163,-556.52 167.5,-566.52 163,-561.52 163,-566.52 163,-566.52 163,-566.52 163,-561.52 158.5,-566.52 163,-556.52 163,-556.52"/>
<text text-anchor="middle" x="182.5" y="-618.8" font-family="Arial" font-size="9.00">has inner</text>
</g>
</g>
</svg>
<g id="edge10" class="edge" data-name="AccountList-&gt;DuplicateObjectException">
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M545.92,-349.8C621.24,-349.8 716,-349.8 716,-349.8 716,-349.8 716,-231.09 716,-231.09"/>
<polygon fill="red" stroke="red" points="716,-221.09 720.5,-231.09 716,-226.09 716,-231.09 716,-231.09 716,-231.09 716,-226.09 711.5,-231.09 716,-221.09 716,-221.09"/>
<text text-anchor="middle" x="508.77" y="-280.3" font-family="Arial" font-size="9.00">&lt;&lt;throws&gt;&gt;</text>
</g></g>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB