diff options
author | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-14 20:56:32 -0400 |
---|---|---|
committer | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-14 20:56:32 -0400 |
commit | 49250e60cf168ae9c5aab0e589a68b4c6c2bf800 (patch) | |
tree | 5abfc6044b2e851d537c43a914f921a1fe153768 | |
parent | 82240d78bbabc6b08115906810157d1dc2c8ac95 (diff) | |
download | JellySolutions-49250e60cf168ae9c5aab0e589a68b4c6c2bf800.tar.gz JellySolutions-49250e60cf168ae9c5aab0e589a68b4c6c2bf800.tar.bz2 JellySolutions-49250e60cf168ae9c5aab0e589a68b4c6c2bf800.zip |
Updated uml and Model tier in design doc
-rw-r--r-- | docs/DesignDoc.md | 12 | ||||
-rw-r--r-- | docs/u-fund.drawio.png | bin | 363762 -> 360143 bytes | |||
-rw-r--r-- | docs/u-fund.drawio.xml | 71 |
3 files changed, 40 insertions, 43 deletions
diff --git a/docs/DesignDoc.md b/docs/DesignDoc.md index 0aaaa4b..41f519a 100644 --- a/docs/DesignDoc.md +++ b/docs/DesignDoc.md @@ -94,7 +94,6 @@ Users are able to login to the Ufund, either as a manager or helper. They can cr - AS a Developer I want api keys to be removed when expired SO THAT hundreds of expired keys do not pile up. - As a user I want to put in my password so that my account is secure. - AS a user I WANT to see a simple signup page SO THAT I can easily create an account without confusion. - - ### Enhancements @@ -223,9 +222,9 @@ Controllers - UserController: Handles http requests to interact with users, calling to the userService Services - - authService: Handles logging in and out, as well as authenticating users when they try and visit pages. - - cupboardService: Handles all logic dealing with needs, verifying inputs and throwing errors. - - userService: Handles all logic dealing with users, verifying inputs and throwing errors. + - AuthService: Handles logging in and out, as well as authenticating users when they try and visit pages. + - CupboardService: Handles all logic dealing with needs, verifying inputs and throwing errors. + - UserService: Handles all logic dealing with users, verifying inputs and throwing errors. > _**[Sprint 4]** Provide a summary of this tier of your architecture. This > section will follow the same instructions that are given for the View @@ -242,7 +241,10 @@ Requests are sent from the view tier and handled by controllers. For example, wh > _**[Sprint 1]** List the classes supporting this tier and provide a description of there purpose._ -The Model Tier contains the classes responsible for handling and serving Need data. In the model subsection is our Need.java, which handles the Need class itself and provides helper functions to get and set Need data. The persistence subjection handles stored data, using Data Access Objects (DAOs). The Controller section connects the two previous ones, handling the transfer of Needs to persistent storage. +Models + - Need: A need contains information pertaining to donating, such as a goal and current donations, as well as additional information to provide specifics for each need + - User: A user represents a single account on our website, containing info like a username and a hashed password as well as other fields for specifics + - UserAuth: A user auth is created whenever a user logs into the website, associating a username to a key. UserAuths are used to verify if a user has access to a CRUD operation > _**[Sprint 2, 3 & 4]** Provide a summary of this tier of your architecture. This > section will follow the same instructions that are given for the View diff --git a/docs/u-fund.drawio.png b/docs/u-fund.drawio.png Binary files differindex e4a156a..b9655f1 100644 --- a/docs/u-fund.drawio.png +++ b/docs/u-fund.drawio.png diff --git a/docs/u-fund.drawio.xml b/docs/u-fund.drawio.xml index 8df8497..4095262 100644 --- a/docs/u-fund.drawio.xml +++ b/docs/u-fund.drawio.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2"> <diagram id="WOSjVCChJG0uuKkKcy1j" name="Page-1"> - <mxGraphModel dx="3443" dy="1448" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0"> + <mxGraphModel dx="3154" dy="1238" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> @@ -12,22 +12,22 @@ <mxGeometry x="-1337" y="930" width="285" height="190" as="geometry" /> </mxCell> <mxCell id="node12" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CupboardController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ CupboardController(CupboardService, AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ createNeed(Map&lt;String, Object&gt;, String): ResponseEntity&lt;Object&gt;<br/>+ deleteNeed(int, String): ResponseEntity&lt;Object&gt;<br/>- of(Object[]): Object[]<br/>+ getNeed(int): ResponseEntity&lt;Object&gt;<br/>+ checkoutNeeds(List&lt;Map&lt;String, Integer&gt;&gt;, String): ResponseEntity&lt;Object&gt;<br/>+ searchNeeds(String): ResponseEntity&lt;Object&gt;<br/>+ updateNeed(Need, int, String): ResponseEntity&lt;Object&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: ResponseEntity&lt;Object&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-1771" y="395" width="492" height="235" as="geometry" /> + <mxGeometry x="-1771" y="395" width="501" height="235" as="geometry" /> </mxCell> <mxCell id="node17" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>CupboardDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ deleteNeed(int): boolean<br/>+ getNeed(int): Need<br/>+ addNeed(Need): Need<br/>+ updateNeed(Need): Need</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: Need[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-676" y="440" width="192" height="142" as="geometry" /> + <mxGeometry x="-620" y="440" width="192" height="142" as="geometry" /> </mxCell> <mxCell id="node2" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CupboardFileDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ CupboardFileDAO(String, ObjectMapper): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- needs: Map&lt;Integer, Need&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ getNeed(int): Need<br/>+ addNeed(Need): Need<br/>- save(): void<br/>+ deleteNeed(int): boolean<br/>- load(): void<br/>- nextId(): int<br/>+ updateNeed(Need): Need</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: Need[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-342" y="383" width="286" height="267" as="geometry" /> + <mxGeometry x="-342" y="377.5" width="286" height="267" as="geometry" /> </mxCell> <mxCell id="node16" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CupboardService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ CupboardService(AuthService, CupboardDAO): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ checkoutNeed(int, double, String): void<br/>+ createNeed(String, String, String, double, GoalType, boolean, String): Need<br/>+ getNeed(int): Need<br/>+ deleteNeed(int): boolean<br/>+ searchNeeds(String): Need[]<br/>+ updateNeed(Need, int): Need</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: Need[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-1185" y="406" width="415" height="210" as="geometry" /> + <mxGeometry x="-1185" y="406" width="485" height="210" as="geometry" /> </mxCell> <mxCell id="node19" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;enumeration&gt;&gt;</i><br/><b>GoalType</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ GoalType(): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ valueOf(String): GoalType<br/>+ values(): GoalType[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-598" y="-180" width="193" height="136" as="geometry" /> + <mxGeometry x="-660" y="-120" width="193" height="136" as="geometry" /> </mxCell> <mxCell id="node9" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Need</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ Need(String, String, String, double, GoalType, boolean, String): <br/>+ Need(Need): <br/>+ Need(String, String, String, int, double, GoalType, boolean, String): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- name: String<br/>- type: GoalType<br/>- current: double<br/>- id: int<br/>- maxGoal: double<br/>- filterAttributes: String[]</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ toString(): String<br/>+ incrementCurrent(double): void</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> name: String<br/> id: int<br/> ID: int<br/> type: GoalType<br/> current: double<br/> maxGoal: double<br/> filterAttributes: String[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="-1173.5" y="-130" width="392" height="309" as="geometry" /> + <mxGeometry x="-1138.5" y="-130" width="392" height="309" as="geometry" /> </mxCell> <mxCell id="node10" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>User</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ User(String, int, List&lt;Integer&gt;, UserType): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- type: UserType<br/>- username: String<br/>- basket: List&lt;Integer&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ addToBasket(Need): void<br/>+ withoutPasswordHash(): User<br/>+ verifyPassword(String): boolean<br/>+ create(String, String): User<br/>+ removeBasketNeed(Integer): void<br/>+ toString(): String<br/>+ copyPassword(User): void</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> type: UserType<br/> basket: Integer[]<br/> username: String</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> <mxGeometry x="-272" y="1640" width="293" height="320" as="geometry" /> @@ -54,7 +54,7 @@ <mxGeometry x="-1326" y="1549" width="289" height="166" as="geometry" /> </mxCell> <mxCell id="node18" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;enumeration&gt;&gt;</i><br/><b>UserType</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserType(): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ valueOf(String): UserType<br/>+ values(): UserType[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1"> - <mxGeometry x="120" y="1750" width="194" height="139.5" as="geometry" /> + <mxGeometry x="140" y="1730.25" width="194" height="139.5" as="geometry" /> </mxCell> <mxCell id="edge8" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.331;exitDx=0;exitDy=0;entryX=0.000;entryY=0.399;entryDx=0;entryDy=0;" parent="1" source="node5" target="node13" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> @@ -93,7 +93,7 @@ <mxCell id="label88" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge14" vertex="1" connectable="0"> <mxGeometry x="-1230" y="1520" as="geometry" /> </mxCell> - <mxCell id="edge18" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0.342;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node12" target="node13" edge="1"> + <mxCell id="edge18" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.342;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node12" target="node13" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-1525" y="885" /> @@ -116,36 +116,34 @@ <mxGeometry x="-1270" y="502" as="geometry" /> </mxCell> <mxCell id="label106" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge17" vertex="1" connectable="0"> - <mxGeometry x="-1217" y="502" as="geometry" /> + <mxGeometry x="-1210" y="520" as="geometry" /> </mxCell> - <mxCell id="edge0" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;exitX=0.000;exitY=0.500;exitDx=0;exitDy=0;entryX=1.000;entryY=0.500;entryDx=0;entryDy=0;" parent="1" source="node2" target="node17" edge="1"> + <mxCell id="edge0" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;exitX=0.000;exitY=0.500;exitDx=0;exitDy=0;" parent="1" source="node2" target="node17" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points" /> </mxGeometry> </mxCell> - <mxCell id="edge5" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.576;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node2" target="node9" edge="1"> + <mxCell id="edge5" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="1" source="node2" target="node9" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-199" y="293" /> - <mxPoint x="-948" y="293" /> + <mxPoint x="-844" y="293" /> + <mxPoint x="-844" y="179" /> </Array> </mxGeometry> </mxCell> - <mxCell id="edge19" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.552;exitY=0.000;exitDx=0;exitDy=0;entryX=1.000;entryY=0.500;entryDx=0;entryDy=0;jumpStyle=none;startFill=1;" parent="1" source="node2" target="node9" edge="1"> + <mxCell id="edge19" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.552;exitY=0.000;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;jumpStyle=none;startFill=1;" parent="1" source="node2" target="node9" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> - <mxPoint x="-184" y="25" /> - <mxPoint x="-510" y="25" /> + <mxPoint x="-184" y="102" /> + <mxPoint x="-220" y="102" /> </Array> </mxGeometry> </mxCell> <mxCell id="label114" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge19" vertex="1" connectable="0"> - <mxGeometry x="-170" y="360" as="geometry" /> + <mxGeometry x="-170" y="350" as="geometry" /> </mxCell> - <mxCell id="label118" value="*" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge19" vertex="1" connectable="0"> - <mxGeometry x="-777" y="-40" as="geometry" /> - </mxCell> - <mxCell id="edge22" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0.500;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node16" target="node13" edge="1"> + <mxCell id="edge22" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.500;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node16" target="node13" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-978" y="773" /> @@ -165,10 +163,10 @@ </mxGeometry> </mxCell> <mxCell id="label90" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge15" vertex="1" connectable="0"> - <mxGeometry x="-760" y="511" as="geometry" /> + <mxGeometry x="-700" y="511" as="geometry" /> </mxCell> <mxCell id="label94" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge15" vertex="1" connectable="0"> - <mxGeometry x="-703" y="491" as="geometry" /> + <mxGeometry x="-630" y="480" as="geometry" /> </mxCell> <mxCell id="edge23" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.500;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node16" target="node9" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> @@ -180,22 +178,20 @@ <Array as="points" /> </mxGeometry> </mxCell> - <mxCell id="edge24" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.998;exitY=0.533;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="node10" target="node18" edge="1"> + <mxCell id="edge24" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;" parent="1" source="node10" target="node18" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <Array as="points"> - <mxPoint x="80" y="1816" /> - <mxPoint x="80" y="1820" /> - </Array> - <mxPoint x="110" y="1823" as="targetPoint" /> + <Array as="points" /> + <mxPoint x="60" y="1710" as="sourcePoint" /> + <mxPoint x="110" y="1770" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="label144" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge24" vertex="1" connectable="0"> - <mxGeometry x="30" y="1820" as="geometry" /> + <mxGeometry x="30" y="1800" as="geometry" /> </mxCell> <mxCell id="label148" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge24" vertex="1" connectable="0"> - <mxGeometry x="100" y="1790" as="geometry" /> + <mxGeometry x="120" y="1770" as="geometry" /> </mxCell> - <mxCell id="edge21" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0;entryY=0.596;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="node3" target="node14" edge="1"> + <mxCell id="edge21" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0;entryY=0.596;entryDx=0;entryDy=0;entryPerimeter=0;startFill=1;" parent="1" source="node3" target="node14" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-457" y="1117" /> @@ -209,18 +205,17 @@ <mxGeometry x="-456" y="1091" as="geometry" /> </mxCell> <mxCell id="label130" value="*" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge21" vertex="1" connectable="0"> - <mxGeometry x="-251" y="1103" as="geometry" /> + <mxGeometry x="-251" y="1120" as="geometry" /> </mxCell> <mxCell id="edge2" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=1;startArrow=none;endArrow=block;endSize=12;exitX=0.000;exitY=0.500;exitDx=0;exitDy=0;entryX=1.000;entryY=0.500;entryDx=0;entryDy=0;jumpStyle=none;" parent="1" source="node3" target="node1" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points" /> </mxGeometry> </mxCell> - <mxCell id="edge7" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.987;exitY=0.000;exitDx=0;exitDy=0;entryX=0.000;entryY=0.741;entryDx=0;entryDy=0;" parent="1" source="node11" target="node13" edge="1"> + <mxCell id="edge7" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.987;exitY=0.000;exitDx=0;exitDy=0;" parent="1" source="node11" target="node13" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> - <mxPoint x="-1521" y="1070" /> - <mxPoint x="-1337" y="1070" /> + <mxPoint x="-1521" y="1052" /> </Array> </mxGeometry> </mxCell> @@ -244,7 +239,7 @@ <mxCell id="label82" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge13" vertex="1" connectable="0"> <mxGeometry x="-1363" y="1636" as="geometry" /> </mxCell> - <mxCell id="edge6" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0.005;entryY=0.466;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="node0" target="node10" edge="1"> + <mxCell id="edge6" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=1.000;exitDx=0;exitDy=0;entryX=0.005;entryY=0.466;entryDx=0;entryDy=0;entryPerimeter=0;startFill=1;" parent="1" source="node0" target="node10" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-456" y="1790" /> @@ -266,7 +261,7 @@ <Array as="points" /> </mxGeometry> </mxCell> - <mxCell id="edge12" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;entryX=0.536;entryY=1.000;entryDx=0;entryDy=0;" parent="1" source="node8" target="node16" edge="1"> + <mxCell id="edge12" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;" parent="1" source="node8" target="node16" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <Array as="points"> <mxPoint x="-1181" y="1286" /> |