diff options
author | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-16 20:48:45 -0400 |
---|---|---|
committer | Gunther6070 <haydenhartman10@yahoo.com> | 2025-04-16 20:48:45 -0400 |
commit | b4e9341dcd26f983cb7ec55330deed84bbc2f553 (patch) | |
tree | 707443b706181d2f7c7a1c9901e1e05d9c264cae | |
parent | ca614fa34bf228c418ade8f7c47e3e7428f942b6 (diff) | |
download | JellySolutions-b4e9341dcd26f983cb7ec55330deed84bbc2f553.tar.gz JellySolutions-b4e9341dcd26f983cb7ec55330deed84bbc2f553.tar.bz2 JellySolutions-b4e9341dcd26f983cb7ec55330deed84bbc2f553.zip |
Added new uml to viewmodel and model sections
-rw-r--r-- | docs/DesignDoc.md | 4 | ||||
-rw-r--r-- | docs/u-fund-model.drawio.png | bin | 0 -> 173754 bytes | |||
-rw-r--r-- | docs/u-fund-model.drawio.xml | 103 | ||||
-rw-r--r-- | docs/u-fund-viewmodel.drawio.png | bin | 0 -> 149547 bytes | |||
-rw-r--r-- | docs/u-fund-viewmodel.drawio.xml | 134 |
5 files changed, 239 insertions, 2 deletions
diff --git a/docs/DesignDoc.md b/docs/DesignDoc.md index c1b76fe..0d288fe 100644 --- a/docs/DesignDoc.md +++ b/docs/DesignDoc.md @@ -248,7 +248,7 @@ Requests are sent from the view tier and handled by controllers. For example, wh > _At appropriate places as part of this narrative provide **one** or more updated and **properly labeled** > static models (UML class diagrams) with some details such as associations (connections) between classes, and critical attributes and methods. (**Be sure** to revisit the Static **UML Review Sheet** to ensure your class diagrams are using correct format and syntax.)_ > - + ### Model Tier @@ -273,7 +273,7 @@ In our model tier we have a Need class, a User class, and a UserAuth class. The > _At appropriate places as part of this narrative provide **one** or more updated and **properly labeled** > static models (UML class diagrams) with some details such as associations (connections) between classes, and critical attributes and methods. (**Be sure** to revisit the Static **UML Review Sheet** to ensure your class diagrams are using correct format and syntax.)_ - + ## OO Design Principles diff --git a/docs/u-fund-model.drawio.png b/docs/u-fund-model.drawio.png Binary files differnew file mode 100644 index 0000000..3d6d6b9 --- /dev/null +++ b/docs/u-fund-model.drawio.png diff --git a/docs/u-fund-model.drawio.xml b/docs/u-fund-model.drawio.xml new file mode 100644 index 0000000..69138d4 --- /dev/null +++ b/docs/u-fund-model.drawio.xml @@ -0,0 +1,103 @@ +<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="3484" dy="1652" 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" /> + <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="-750" y="750" 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="-472" y="687.5" width="286" height="267" 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="-401.5" y="190" 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="-880" y="180" 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="-410.5" y="1310" width="293" height="320" as="geometry" /> + </mxCell> + <mxCell id="node14" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserAuth</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserAuth(String, String, LocalDateTime): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">~ key: String<br/>~ username: String<br/>~ expiration: LocalDateTime</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ generate(String): UserAuth</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> expiration: LocalDateTime<br/> key: String<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="-237" y="1011" width="282" height="179" as="geometry" /> + </mxCell> + <mxCell id="node1" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>UserAuthDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ addUserAuth(UserAuth): void<br/>+ removeUserAuth(String): void<br/>+ getUserAuth(String): UserAuth</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="-930" y="1040.5" width="218" height="120" as="geometry" /> + </mxCell> + <mxCell id="node3" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserAuthFIleDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserAuthFIleDAO(ObjectMapper, String): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- save(): void<br/>- load(): void<br/>+ addUserAuth(UserAuth): void<br/>+ getUserAuth(String): UserAuth<br/>+ removeUserAuth(String): void</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="-650" y="1018.5" width="283" height="164" as="geometry" /> + </mxCell> + <mxCell id="node4" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;interface&gt;&gt;</i><br/><b>UserDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ updateUser(User): User<br/>+ deleteUser(String): boolean<br/>+ getUser(String): User<br/>+ addUser(User): User</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> users: User[]<br/> userCount: int</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="-1070" y="1387" width="203" height="150" as="geometry" /> + </mxCell> + <mxCell id="node0" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserFileDAO</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserFileDAO(String, ObjectMapper): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">- users: Map&lt;String, User&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ addUser(User): User<br/>+ deleteUser(String): boolean<br/>+ updateUser(User): User<br/>- save(): void<br/>+ getUser(String): User<br/>- load(): void</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> users: User[]<br/> userCount: int</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="-770" y="1339" width="257" height="246" 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="1.5" y="1400.25" width="194" height="139.5" 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;" 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.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="-329" y="603" /> + <mxPoint x="-586" y="603" /> + </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;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="-314" y="412" /> + <mxPoint x="-350" y="412" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="edge16" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.319;exitDx=0;exitDy=0;entryX=0.000;entryY=0.653;entryDx=0;entryDy=0;" parent="1" source="node9" target="node19" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <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;" parent="1" source="node10" target="node18" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points" /> + <mxPoint x="-78.5" y="1380" as="sourcePoint" /> + <mxPoint x="-28.5" y="1440" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="edge21" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="node3" target="node14" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-350" y="1100" /> + </Array> + <mxPoint x="-290" y="1080" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="label126" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge21" vertex="1" connectable="0"> + <mxGeometry x="-456" y="1091" 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="edge6" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThin;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.005;entryY=0.466;entryDx=0;entryDy=0;entryPerimeter=0;startFill=1;exitX=1;exitY=0.488;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="node0" target="node10" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points" /> + <mxPoint x="-490" y="1459" as="sourcePoint" /> + </mxGeometry> + </mxCell> + <mxCell id="edge1" 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="node0" target="node4" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points" /> + </mxGeometry> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/docs/u-fund-viewmodel.drawio.png b/docs/u-fund-viewmodel.drawio.png Binary files differnew file mode 100644 index 0000000..d92098b --- /dev/null +++ b/docs/u-fund-viewmodel.drawio.png diff --git a/docs/u-fund-viewmodel.drawio.xml b/docs/u-fund-viewmodel.drawio.xml new file mode 100644 index 0000000..afd1d33 --- /dev/null +++ b/docs/u-fund-viewmodel.drawio.xml @@ -0,0 +1,134 @@ +<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="3757" dy="1271" 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" /> + <mxCell id="node5" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AuthController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ AuthController(AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ login(Map&lt;String, String&gt;): ResponseEntity&lt;String&gt;<br/>+ logout(String): 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="-1910" y="940" width="340" height="129" as="geometry" /> + </mxCell> + <mxCell id="node13" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AuthService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ AuthService(UserAuthDAO, UserService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ login(String, String): String<br/>+ keyIsValid(String): void<br/>+ keyHasAccessToCupboard(String): void<br/>+ keyHasAccessToUser(String, String): void<br/>+ logout(String): void</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="-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="501" height="235" 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="485" height="210" as="geometry" /> + </mxCell> + <mxCell id="node11" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserController(UserService, AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ deleteUser(String, String): ResponseEntity&lt;Object&gt;<br/>+ getUserCount(String): ResponseEntity&lt;Object&gt;<br/>+ createUser(Map&lt;String, String&gt;): ResponseEntity&lt;Object&gt;<br/>- of(Object[]): Object[]<br/>+ getUser(String, String): ResponseEntity&lt;Object&gt;<br/>+ updateUser(User, String, String): 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="-1898" y="1539" width="382" height="186" as="geometry" /> + </mxCell> + <mxCell id="node8" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserService(UserDAO, CupboardService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ updateUser(User, String): User<br/>+ deleteUser(String): boolean<br/>+ createUser(String, String): User<br/>+ getUser(String): User</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> userCount: int</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="-1326" y="1549" width="289" height="166" 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;entryX=0.000;entryY=0.399;entryDx=0;entryDy=0;" parent="1" target="node13" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-1570" y="1006" /> + <mxPoint x="-1510" y="1006" /> + </Array> + <mxPoint x="-1570" y="1006" as="sourcePoint" /> + </mxGeometry> + </mxCell> + <mxCell id="label48" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge8" vertex="1" connectable="0"> + <mxGeometry x="-1560" y="980" as="geometry" /> + </mxCell> + <mxCell id="label52" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge8" vertex="1" connectable="0"> + <mxGeometry x="-1360" y="990" as="geometry" /> + </mxCell> + <mxCell id="edge14" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.425;exitY=1.000;exitDx=0;exitDy=0;entryX=0.382;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node13" target="node8" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points" /> + </mxGeometry> + </mxCell> + <mxCell id="label84" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge14" vertex="1" connectable="0"> + <mxGeometry x="-1211" y="1090" as="geometry" /> + </mxCell> + <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;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" /> + <mxPoint x="-1239" y="885" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="label108" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge18" vertex="1" connectable="0"> + <mxGeometry x="-1525" y="632" as="geometry" /> + </mxCell> + <mxCell id="label112" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge18" vertex="1" connectable="0"> + <mxGeometry x="-1260" y="900" as="geometry" /> + </mxCell> + <mxCell id="edge17" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.528;exitDx=0;exitDy=0;entryX=0.000;entryY=0.531;entryDx=0;entryDy=0;" parent="1" source="node12" target="node16" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points" /> + </mxGeometry> + </mxCell> + <mxCell id="label102" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge17" vertex="1" connectable="0"> + <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="-1210" y="520" 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;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" /> + <mxPoint x="-1194" y="773" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="label132" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge22" vertex="1" connectable="0"> + <mxGeometry x="-989" y="630" as="geometry" /> + </mxCell> + <mxCell id="label136" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge22" vertex="1" connectable="0"> + <mxGeometry x="-1205" y="870" as="geometry" /> + </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;" parent="1" source="node11" target="node13" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-1521" y="1052" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="label42" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge7" vertex="1" connectable="0"> + <mxGeometry x="-1532" y="1510" as="geometry" /> + </mxCell> + <mxCell id="label46" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge7" vertex="1" connectable="0"> + <mxGeometry x="-1360" y="1060" as="geometry" /> + </mxCell> + <mxCell id="edge13" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.515;exitDx=0;exitDy=0;" parent="1" source="node11" target="node8" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="-1370" y="1635" /> + <mxPoint x="-1370" y="1635" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="label78" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge13" vertex="1" connectable="0"> + <mxGeometry x="-1495" y="1614" as="geometry" /> + </mxCell> + <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="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" /> + <mxPoint x="-963" y="1286" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="label72" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge12" vertex="1" connectable="0"> + <mxGeometry x="-1192" y="1524" as="geometry" /> + </mxCell> + <mxCell id="label76" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge12" vertex="1" connectable="0"> + <mxGeometry x="-950" y="621" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> |