Skip to content
Commits on Source (2)
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" version="24.7.6">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1808" dy="892" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="urIvYeJzrR08YAwtRltr-0" value="groupe3.jeux_enfants" style="shape=folder;fontStyle=1;tabWidth=180;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="90" width="770" height="750" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-33" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-18">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="480" as="sourcePoint" />
<mxPoint x="620" y="550" as="targetPoint" />
<Array as="points">
<mxPoint x="730" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-1" value="" style="html=1;strokeColor=none;resizeWidth=1;resizeHeight=1;fillColor=none;part=1;connectable=0;allowArrows=0;deletable=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="120" width="710" height="730" as="geometry">
<mxPoint y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-5" value="MainWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="394" y="160.0026086956522" width="200" height="249.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-6" value="- activities: JPanel[]&lt;div&gt;- mainPanel: JPanel&lt;/div&gt;&lt;div&gt;- menuBar: JMenuBar&lt;/div&gt;&lt;div&gt;- menuActvities: JMenu&lt;/div&gt;&lt;div&gt;- menuItemDrawing: JMenuItem&lt;/div&gt;&lt;div&gt;- menuItemCalcul: JMenuItem&lt;/div&gt;&lt;div&gt;- menuItemQuestion: JMenuItem&lt;/div&gt;&lt;div&gt;- menuQuit: JMenuItem&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="26" width="200" height="134" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="160" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-8" value="- intiGui(): void&lt;div&gt;- initActivities(): void&lt;/div&gt;&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- changeActivity(): void&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="179.63636363636363" width="200" height="70.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-10" value="CalculWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="209.60206896551713" y="509.99767911818736" width="160" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-11" value="- resultat: int&lt;div&gt;- calculPanel: JPanel&lt;/div&gt;&lt;div&gt;- group1Panel: JPanel&lt;/div&gt;&lt;div&gt;- group2Panel: JPanel&lt;/div&gt;&lt;div&gt;- label: JLabel&lt;/div&gt;&lt;div&gt;- txtAnswer: JTextField&lt;/div&gt;&lt;div&gt;- btnVerify: JButton&lt;/div&gt;&lt;div&gt;- btnSolution: JButton&lt;/div&gt;&lt;div&gt;- btnNewCalcul: JButton&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="26" width="160" height="154" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-12" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="180" width="160" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-13" value="- intiGui(): void&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- generateCalcul(): void&lt;/div&gt;&lt;div&gt;- verifyAnswer(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="199.63636363636363" width="160" height="90.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-14" value="DrawWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="414.0020689655171" y="510.00260869565216" width="160" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-15" value="+ x: int&lt;div&gt;+ y: int&lt;/div&gt;&lt;div&gt;- container: JPanel&lt;/div&gt;&lt;div&gt;- drawPanel: JPanel&lt;/div&gt;&lt;div&gt;- btnGroup: JPanel&lt;/div&gt;&lt;div&gt;- btnReset: JButton&lt;/div&gt;&lt;div&gt;- btnBlackColor: JButton&lt;/div&gt;&lt;div&gt;- btnBlueColor: JButton&lt;/div&gt;&lt;div&gt;- btnRedColor: JButton&lt;/div&gt;&lt;div&gt;- currentColor: Color&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="26" width="160" height="164" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-16" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="190" width="160" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-17" value="- intiGui(): void&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- resetDrawPanel(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="209.63636363636363" width="160" height="80.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-18" value="QuestionWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="620" y="510.00260869565216" width="220" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-19" value="- daoQuestion: DaoQuestion&lt;div&gt;- lastQuestionId: int&lt;/div&gt;&lt;div&gt;- resultat: String&lt;/div&gt;&lt;div&gt;- questionPanel: JPanel&lt;/div&gt;&lt;div&gt;- titre: JLabel&lt;/div&gt;&lt;div&gt;- txtQuestion: JTextArea&lt;/div&gt;&lt;div&gt;- txtAnswer: JTextField&lt;/div&gt;&lt;div&gt;- btnVerify: JButton&lt;/div&gt;&lt;div&gt;- btnReponse: JButton&lt;/div&gt;&lt;div&gt;- btnNewQuestion: JButton&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="26" width="220" height="164" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-20" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="190" width="220" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-21" value="- normalizeString(String Input): String&lt;br&gt;- generateQuestion(): void&lt;div&gt;- verifyAnswer(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="209.63636363636363" width="220" height="80.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-10" target="urIvYeJzrR08YAwtRltr-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="480" as="sourcePoint" />
<mxPoint x="670" y="430" as="targetPoint" />
<Array as="points">
<mxPoint x="290" y="480" />
<mxPoint x="494" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-36" value="beans" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="120" width="300" height="380" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-37" value="" style="html=1;strokeColor=none;resizeWidth=1;resizeHeight=1;fillColor=none;part=1;connectable=0;allowArrows=0;deletable=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="150" width="300" height="330" as="geometry">
<mxPoint y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-38" value="Question" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1020" y="200" width="200" height="259.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-39" value="- id: int&lt;div&gt;- level: int&lt;/div&gt;&lt;div&gt;- content: String&lt;/div&gt;&lt;div&gt;- answer: String&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="26" width="200" height="74" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-40" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="100" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-41" value="+ getId(): int&lt;div&gt;+ setId(int id): void&lt;/div&gt;&lt;div&gt;+ getLevel(): int&lt;/div&gt;&lt;div&gt;+ setLevel(int number): void&lt;/div&gt;&lt;div&gt;+ getContent(): String&lt;/div&gt;&lt;div&gt;+ setContent(String question): void&lt;/div&gt;&lt;div&gt;+ getAnswer(): String&lt;/div&gt;&lt;div&gt;+ setAnswer(String answer): void&lt;/div&gt;&lt;div&gt;+ toString(): String&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="119.63636363636364" width="200" height="140.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-42" value="sql" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1320" y="120" width="300" height="240" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-43" value="MariaDbConnection" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1370" y="180" width="200" height="149.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-44" value="- instance: Connection&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="26" width="200" height="34" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-45" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="60" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-46" value="- MariaDbConnection()&lt;div&gt;+ getInstance(): Connection&lt;br&gt;+ closerConnection(): void&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="79.63636363636364" width="200" height="70.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-47" value="DAO" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="550" width="530" height="290" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-48" value="Dao&amp;lt;T&amp;gt;" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1000" y="600" width="200" height="139.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-50" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-48">
<mxGeometry y="26" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-51" value="+ find(long id)&lt;div&gt;+ create (T obj): void&lt;/div&gt;&lt;div&gt;+ delete(long id): void&lt;/div&gt;&lt;div&gt;+ update(T obj): void&lt;/div&gt;&lt;div&gt;+ all(): Collection&amp;lt;T&amp;gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-48">
<mxGeometry y="45.63636363636364" width="200" height="94.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-59" value="DaoQuestion" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1241" y="600.0026086956522" width="220" height="219.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-60" value="- conn: Connection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="26" width="220" height="34" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-61" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="60" width="220" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-62" value="- createBean(ResultSet rs): Question&lt;br&gt;+ find(long id): Question&lt;div&gt;+ findByLevel(int level): Collection &amp;lt;Question&amp;gt;&lt;/div&gt;&lt;div&gt;+ create(Question obj): void&lt;/div&gt;&lt;div&gt;+ delete(long id): void&lt;/div&gt;&lt;div&gt;+ update(Question obj): void&lt;/div&gt;&lt;div&gt;+ all(): Collection&amp;lt;Question&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="79.63636363636364" width="220" height="140.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-64" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1200" y="430" as="sourcePoint" />
<mxPoint x="1470" y="330" as="targetPoint" />
<Array as="points">
<mxPoint x="1350" y="420" />
<mxPoint x="1470" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-65" value="" style="endArrow=classic;html=1;rounded=0;entryX=1.005;entryY=0.722;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-41">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1350" y="420" as="sourcePoint" />
<mxPoint x="1370" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-66" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.47;entryY=1.024;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-51">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1240" y="790" as="sourcePoint" />
<mxPoint x="1300" y="570" as="targetPoint" />
<Array as="points">
<mxPoint x="1094" y="790" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-67" value="" style="endArrow=classic;html=1;rounded=0;exitX=1.006;exitY=0.419;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.018;entryY=-0.024;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-19" target="urIvYeJzrR08YAwtRltr-41">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="580" as="sourcePoint" />
<mxPoint x="1040" y="530" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="605" />
<mxPoint x="880" y="316" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-68" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.502;entryY=1.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-62">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="880" y="610" as="sourcePoint" />
<mxPoint x="1360" y="880" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="880" />
<mxPoint x="1351" y="880" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
...@@ -3,46 +3,17 @@ package DAO; ...@@ -3,46 +3,17 @@ package DAO;
import java.util.Collection; import java.util.Collection;
/** /**
* Interface CRUD sur le stockage des données.
* *
* @author stag * @author @param <T>
* @param <T> Le type du bean utilisé dans la DAO
*/ */
public interface Dao<T> { public interface Dao<T> {
/**
* Retourne l'objet lu en DB grâce à son identifiant ou null.
*
* @param id L'identifiant en DB de l'objet
* @return L'objet ou null
*/
T find(long id); T find(long id);
/**
* Hydrate la DB avec l'objet fourni. Cet objet doit avoir un id null.
*
* @param obj
*/
void create(T obj); void create(T obj);
/**
* Supprime la ligne d'identifiant id dans la DB.
*
* @param id
*/
void delete(long id); void delete(long id);
/**
* Met à jour l'objet dans la DB. L'objet doit avoir un id non null.
*
* @param obj
*/
void update(T obj); void update(T obj);
/**
* Retourne toutes les lignes de la DB dans une collection.
*
* @return Collection contenant tous les objets hydratés par la DB.
*/
Collection<T> all(); Collection<T> all();
} }
...@@ -11,10 +11,9 @@ import sql.MariaDbConnection; ...@@ -11,10 +11,9 @@ import sql.MariaDbConnection;
/** /**
* *
* @author stag * @author Yann
*/ */
public class DaoQuestion implements Dao<Question> { public class DaoQuestion implements Dao<Question> {
private final Connection conn = MariaDbConnection.getInstance(); private final Connection conn = MariaDbConnection.getInstance();
private Question createBean(ResultSet rs) { private Question createBean(ResultSet rs) {
......
...@@ -5,6 +5,7 @@ import java.io.Serializable; ...@@ -5,6 +5,7 @@ import java.io.Serializable;
/** /**
* *
* @author Mickael * @author Mickael
* @author Yann
*/ */
public class Question implements Serializable { public class Question implements Serializable {
......
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" version="24.7.6">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1808" dy="892" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="urIvYeJzrR08YAwtRltr-0" value="groupe3.jeux_enfants" style="shape=folder;fontStyle=1;tabWidth=180;tabHeight=30;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="90" width="770" height="750" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-33" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-18">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="480" as="sourcePoint" />
<mxPoint x="620" y="550" as="targetPoint" />
<Array as="points">
<mxPoint x="730" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-1" value="" style="html=1;strokeColor=none;resizeWidth=1;resizeHeight=1;fillColor=none;part=1;connectable=0;allowArrows=0;deletable=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="150" y="120" width="710" height="730" as="geometry">
<mxPoint y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-5" value="MainWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="394" y="160.0026086956522" width="200" height="249.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-6" value="- activities: JPanel[]&lt;div&gt;- mainPanel: JPanel&lt;/div&gt;&lt;div&gt;- menuBar: JMenuBar&lt;/div&gt;&lt;div&gt;- menuActvities: JMenu&lt;/div&gt;&lt;div&gt;- menuItemDrawing: JMenuItem&lt;/div&gt;&lt;div&gt;- menuItemCalcul: JMenuItem&lt;/div&gt;&lt;div&gt;- menuItemQuestion: JMenuItem&lt;/div&gt;&lt;div&gt;- menuQuit: JMenuItem&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="26" width="200" height="134" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="160" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-8" value="- intiGui(): void&lt;div&gt;- initActivities(): void&lt;/div&gt;&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- changeActivity(): void&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-5">
<mxGeometry y="179.63636363636363" width="200" height="70.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-10" value="CalculWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="209.60206896551713" y="509.99767911818736" width="160" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-11" value="- resultat: int&lt;div&gt;- calculPanel: JPanel&lt;/div&gt;&lt;div&gt;- group1Panel: JPanel&lt;/div&gt;&lt;div&gt;- group2Panel: JPanel&lt;/div&gt;&lt;div&gt;- label: JLabel&lt;/div&gt;&lt;div&gt;- txtAnswer: JTextField&lt;/div&gt;&lt;div&gt;- btnVerify: JButton&lt;/div&gt;&lt;div&gt;- btnSolution: JButton&lt;/div&gt;&lt;div&gt;- btnNewCalcul: JButton&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="26" width="160" height="154" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-12" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="180" width="160" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-13" value="- intiGui(): void&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- generateCalcul(): void&lt;/div&gt;&lt;div&gt;- verifyAnswer(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-10">
<mxGeometry y="199.63636363636363" width="160" height="90.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-14" value="DrawWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="414.0020689655171" y="510.00260869565216" width="160" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-15" value="+ x: int&lt;div&gt;+ y: int&lt;/div&gt;&lt;div&gt;- container: JPanel&lt;/div&gt;&lt;div&gt;- drawPanel: JPanel&lt;/div&gt;&lt;div&gt;- btnGroup: JPanel&lt;/div&gt;&lt;div&gt;- btnReset: JButton&lt;/div&gt;&lt;div&gt;- btnBlackColor: JButton&lt;/div&gt;&lt;div&gt;- btnBlueColor: JButton&lt;/div&gt;&lt;div&gt;- btnRedColor: JButton&lt;/div&gt;&lt;div&gt;- currentColor: Color&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="26" width="160" height="164" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-16" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="190" width="160" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-17" value="- intiGui(): void&lt;div&gt;- initEvents(): void&lt;/div&gt;&lt;div&gt;- resetDrawPanel(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-14">
<mxGeometry y="209.63636363636363" width="160" height="80.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-18" value="QuestionWindow" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="620" y="510.00260869565216" width="220" height="289.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-19" value="- daoQuestion: DaoQuestion&lt;div&gt;- lastQuestionId: int&lt;/div&gt;&lt;div&gt;- resultat: String&lt;/div&gt;&lt;div&gt;- questionPanel: JPanel&lt;/div&gt;&lt;div&gt;- titre: JLabel&lt;/div&gt;&lt;div&gt;- txtQuestion: JTextArea&lt;/div&gt;&lt;div&gt;- txtAnswer: JTextField&lt;/div&gt;&lt;div&gt;- btnVerify: JButton&lt;/div&gt;&lt;div&gt;- btnReponse: JButton&lt;/div&gt;&lt;div&gt;- btnNewQuestion: JButton&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="26" width="220" height="164" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-20" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="190" width="220" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-21" value="- normalizeString(String Input): String&lt;br&gt;- generateQuestion(): void&lt;div&gt;- verifyAnswer(): void&lt;/div&gt;&lt;div&gt;+ getPanel(): JPanel&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-18">
<mxGeometry y="209.63636363636363" width="220" height="80.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-10" target="urIvYeJzrR08YAwtRltr-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="480" as="sourcePoint" />
<mxPoint x="670" y="430" as="targetPoint" />
<Array as="points">
<mxPoint x="290" y="480" />
<mxPoint x="494" y="480" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-36" value="beans" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="120" width="300" height="380" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-37" value="" style="html=1;strokeColor=none;resizeWidth=1;resizeHeight=1;fillColor=none;part=1;connectable=0;allowArrows=0;deletable=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="150" width="300" height="330" as="geometry">
<mxPoint y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-38" value="Question" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1020" y="200" width="200" height="259.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-39" value="- id: int&lt;div&gt;- level: int&lt;/div&gt;&lt;div&gt;- content: String&lt;/div&gt;&lt;div&gt;- answer: String&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="26" width="200" height="74" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-40" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="100" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-41" value="+ getId(): int&lt;div&gt;+ setId(int id): void&lt;/div&gt;&lt;div&gt;+ getLevel(): int&lt;/div&gt;&lt;div&gt;+ setLevel(int number): void&lt;/div&gt;&lt;div&gt;+ getContent(): String&lt;/div&gt;&lt;div&gt;+ setContent(String question): void&lt;/div&gt;&lt;div&gt;+ getAnswer(): String&lt;/div&gt;&lt;div&gt;+ setAnswer(String answer): void&lt;/div&gt;&lt;div&gt;+ toString(): String&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-38">
<mxGeometry y="119.63636363636364" width="200" height="140.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-42" value="sql" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1320" y="120" width="300" height="240" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-43" value="MariaDbConnection" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1370" y="180" width="200" height="149.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-44" value="- instance: Connection&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="26" width="200" height="34" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-45" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="60" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-46" value="- MariaDbConnection()&lt;div&gt;+ getInstance(): Connection&lt;br&gt;+ closerConnection(): void&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-43">
<mxGeometry y="79.63636363636364" width="200" height="70.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-47" value="DAO" style="shape=folder;fontStyle=1;tabWidth=140;tabHeight=20;tabPosition=left;html=1;boundedLbl=1;labelInHeader=1;container=0;collapsible=0;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="970" y="550" width="530" height="290" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-48" value="Dao&amp;lt;T&amp;gt;" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1000" y="600" width="200" height="139.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-50" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-48">
<mxGeometry y="26" width="200" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-51" value="+ find(long id)&lt;div&gt;+ create (T obj): void&lt;/div&gt;&lt;div&gt;+ delete(long id): void&lt;/div&gt;&lt;div&gt;+ update(T obj): void&lt;/div&gt;&lt;div&gt;+ all(): Collection&amp;lt;T&amp;gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-48">
<mxGeometry y="45.63636363636364" width="200" height="94.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-59" value="DaoQuestion" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="1241" y="600.0026086956522" width="220" height="219.99636363636364" as="geometry">
<mxRectangle x="330" y="210" width="100" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-60" value="- conn: Connection" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="26" width="220" height="34" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-61" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="60" width="220" height="19.63636363636364" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-62" value="- createBean(ResultSet rs): Question&lt;br&gt;+ find(long id): Question&lt;div&gt;+ findByLevel(int level): Collection &amp;lt;Question&amp;gt;&lt;/div&gt;&lt;div&gt;+ create(Question obj): void&lt;/div&gt;&lt;div&gt;+ delete(long id): void&lt;/div&gt;&lt;div&gt;+ update(Question obj): void&lt;/div&gt;&lt;div&gt;+ all(): Collection&amp;lt;Question&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="urIvYeJzrR08YAwtRltr-59">
<mxGeometry y="79.63636363636364" width="220" height="140.36" as="geometry" />
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-64" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1200" y="430" as="sourcePoint" />
<mxPoint x="1470" y="330" as="targetPoint" />
<Array as="points">
<mxPoint x="1350" y="420" />
<mxPoint x="1470" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-65" value="" style="endArrow=classic;html=1;rounded=0;entryX=1.005;entryY=0.722;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-41">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1350" y="420" as="sourcePoint" />
<mxPoint x="1370" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-66" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.47;entryY=1.024;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-51">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1240" y="790" as="sourcePoint" />
<mxPoint x="1300" y="570" as="targetPoint" />
<Array as="points">
<mxPoint x="1094" y="790" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-67" value="" style="endArrow=classic;html=1;rounded=0;exitX=1.006;exitY=0.419;exitDx=0;exitDy=0;exitPerimeter=0;entryX=-0.018;entryY=-0.024;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="urIvYeJzrR08YAwtRltr-19" target="urIvYeJzrR08YAwtRltr-41">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="990" y="580" as="sourcePoint" />
<mxPoint x="1040" y="530" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="605" />
<mxPoint x="880" y="316" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="urIvYeJzrR08YAwtRltr-68" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.502;entryY=1.01;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" target="urIvYeJzrR08YAwtRltr-62">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="880" y="610" as="sourcePoint" />
<mxPoint x="1360" y="880" as="targetPoint" />
<Array as="points">
<mxPoint x="880" y="880" />
<mxPoint x="1351" y="880" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>