changes
This commit is contained in:
Binary file not shown.
BIN
sdd/test_code1.png
Normal file
BIN
sdd/test_code1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
BIN
sdd/ui-idea2.pptx
Normal file
BIN
sdd/ui-idea2.pptx
Normal file
Binary file not shown.
16949
sdd/ui-idea2.svg
Normal file
16949
sdd/ui-idea2.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 508 KiB |
@@ -33,7 +33,7 @@ public final class TestAccountLoad {
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
// Configure data repository
|
||||
AccomodationManager mgr = new AccomodationManager(getRepositoryConfig.getPath());
|
||||
AccomodationManager mgr = new AccomodationManager(AccomodationManager.getRepositoryConfig.getPath());
|
||||
|
||||
// 3. Add new account object to the list managed by Manager (if account object
|
||||
// already exists on add action with the same account number, it is considered
|
||||
@@ -49,12 +49,4 @@ public final class TestAccountLoad {
|
||||
mgr.showAccountList();
|
||||
System.out.println("Program Completed.");
|
||||
}
|
||||
|
||||
public final static class getRepositoryConfig {
|
||||
public final static String getPath() {
|
||||
String home = System.getenv("HOME") != null ? System.getenv("HOME")
|
||||
: System.getenv("HOMEDRIVE") + System.getenv("HOMEPATH");
|
||||
return home.replace('\\', '/') + "/workspace/reservationsystem/src/resources";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public final class TestReservations {
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
// Configure data repository
|
||||
AccomodationManager mgr = new AccomodationManager(getRepositoryConfig.getPath());
|
||||
AccomodationManager mgr = new AccomodationManager(AccomodationManager.getRepositoryConfig.getPath());
|
||||
|
||||
// 1. Get the list of loaded accounts from Manager
|
||||
mgr.loadAll();
|
||||
@@ -149,12 +149,4 @@ public final class TestReservations {
|
||||
|
||||
System.out.println("Program Completed.");
|
||||
}
|
||||
|
||||
public final static class getRepositoryConfig {
|
||||
public final static String getPath() {
|
||||
String home = System.getenv("HOME") != null ? System.getenv("HOME")
|
||||
: System.getenv("HOMEDRIVE") + System.getenv("HOMEPATH");
|
||||
return home.replace('\\', '/') + "/workspace/reservationsystem/src/resources";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,6 @@ public final class AccomodationManager {
|
||||
};
|
||||
|
||||
public AccomodationManager(String home) {
|
||||
|
||||
setDataStoreRoot(home);
|
||||
};
|
||||
|
||||
@@ -36,11 +35,15 @@ public final class AccomodationManager {
|
||||
DataRepository.setDataStoreRoot(home);
|
||||
}
|
||||
|
||||
String getDataStoreRoot(){
|
||||
return DataRepository.getPath();
|
||||
}
|
||||
|
||||
public final void loadAll()
|
||||
throws IOException, IllegalArgumentException, IllegalOperationException, DuplicateObjectException {
|
||||
accounts.clear();
|
||||
// walk directories
|
||||
Path rootDir = Paths.get(DataRepository.getPath());
|
||||
Path rootDir = Paths.get(getDataStoreRoot());
|
||||
DataRepository.WalkFileSystemTree(this, rootDir);
|
||||
System.out.println(String.format("%s LoadAll Accounts %d", "Deserializing", accounts.size()));
|
||||
}
|
||||
@@ -125,4 +128,12 @@ public final class AccomodationManager {
|
||||
System.out.println(String.format("Account %s", acct.getAccount_number()));
|
||||
}
|
||||
}
|
||||
|
||||
public final static class getRepositoryConfig {
|
||||
public final static String getPath() {
|
||||
String home = System.getenv("HOME") != null ? System.getenv("HOME")
|
||||
: System.getenv("HOMEDRIVE") + System.getenv("HOMEPATH");
|
||||
return home.replace('\\', '/') + "/workspace/reservationsystem/src/resources";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
{ "Account":{"account_number": "A45098176","phone_number": "701-456-7890","mailing_address": { "Address":{"street": "10 wilco ave","city": "wilco","state": "WY","zip": "82801"}},"email_address": { "EmailAddress":{"email": "wilco@wyommin.net"}},"reservations":[{"CabinReservation":{"reservation_number":"R0535276622"}},{"HouseReservation":{"reservation_number":"R0499811708"}}]}}
|
||||
{ "Account":{"account_number": "A45098176","phone_number": "701-456-7890","mailing_address": { "Address":{"street": "10 wilco ave","city": "wilco","state": "WY","zip": "82801"}},"email_address": { "EmailAddress":{"email": "wilco@wyommin.net"}},"reservations":[]}}
|
||||
@@ -3,10 +3,10 @@ digraph "Reservation System - Account Load" {
|
||||
graph [
|
||||
rankdir="TB",
|
||||
splines=ortho,
|
||||
nodesep=1.0,
|
||||
nodesep=0.0,
|
||||
ranksep=1.0,
|
||||
fontname="Arial",
|
||||
fontsize=12,
|
||||
fontname="Times New Roman",
|
||||
fontsize=14,
|
||||
label="Reservation System - Account Loading"
|
||||
];
|
||||
|
||||
@@ -15,7 +15,7 @@ digraph "Reservation System - Account Load" {
|
||||
shape=record,
|
||||
style=filled,
|
||||
fillcolor=lightyellow,
|
||||
fontname="Arial",
|
||||
fontname="Times New Roman",
|
||||
fontsize=10
|
||||
];
|
||||
edge [
|
||||
@@ -46,20 +46,7 @@ digraph "Reservation System - Account Load" {
|
||||
IllegalArgumentException [label="<<exception>>\nIllegalArgumentException"];
|
||||
}
|
||||
|
||||
subgraph cluster_test {
|
||||
label="lodge (Test)";
|
||||
style=filled;
|
||||
color=honeydew;
|
||||
TestAccountLoad [label="{TestAccountLoad|+ main(args: String[])\l- Test_AddAccount(mgr: AccomodationManager, acct: Account)\l}"];
|
||||
TestAccountLoad_getRepositoryConfig [label="{getRepositoryConfig|+ getPath(): String\l}"];
|
||||
}
|
||||
|
||||
// Class Relationships
|
||||
TestAccountLoad -> AccomodationManager [label="uses"];
|
||||
TestAccountLoad -> Account [label="uses"];
|
||||
TestAccountLoad -> Address [label="creates"];
|
||||
TestAccountLoad -> EmailAddress [label="creates"];
|
||||
TestAccountLoad -> TestAccountLoad_getRepositoryConfig [style=dashed, arrowhead=open, label="has inner"];
|
||||
|
||||
AccomodationManager -> AccountList [arrowhead=diamond,label="manages 1"];
|
||||
AccomodationManager -> DataRepository [label="uses"];
|
||||
|
||||
@@ -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 - 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 - 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 - 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">- directoryPath: String</text>
|
||||
<text text-anchor="start" x="450.5" y="-371.5" font-family="Arial" font-size="10.00">- 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->DataRepository -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>AccomodationManager->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->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->Account -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>AccomodationManager->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->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->AccountList -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>AccomodationManager->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->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->Exception -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>AccomodationManager->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"><<throws>></text>
|
||||
<g id="edge9" class="edge" data-name="AccomodationManager->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"><<throws>></text>
|
||||
</g>
|
||||
<!-- DataRepository->Account -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>DataRepository->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->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->IOException -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>DataRepository->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"><<throws>></text>
|
||||
<g id="edge13" class="edge" data-name="DataRepository->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"><<throws>></text>
|
||||
</g>
|
||||
<!-- Account->DataRepository -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Account->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->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->Address -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Account->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->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->EmailAddress -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Account->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->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->IllegalArgumentException -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Account->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"><<throws>></text>
|
||||
<g id="edge11" class="edge" data-name="Account->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"><<throws>></text>
|
||||
</g>
|
||||
<!-- Account->IOException -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Account->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"><<throws>></text>
|
||||
<g id="edge12" class="edge" data-name="Account->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"><<throws>></text>
|
||||
</g>
|
||||
<!-- AccountList->Account -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>AccountList->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->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->DuplicateObjectException -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>AccountList->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"><<throws>></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">- Test_AddAccount(mgr: AccomodationManager, acct: Account)</text>
|
||||
</g>
|
||||
<!-- TestAccountLoad->AccomodationManager -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>TestAccountLoad->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->Account -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>TestAccountLoad->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->Address -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>TestAccountLoad->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->EmailAddress -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>TestAccountLoad->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->TestAccountLoad_getRepositoryConfig -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>TestAccountLoad->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>
|
||||
<g id="edge10" class="edge" data-name="AccountList->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"><<throws>></text>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user