From ab9b1a1b90f48740ddd56e4ef031fad4e098d3de Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr>
Date: Fri, 24 Mar 2023 11:43:57 +0100
Subject: [PATCH] Name checking done for MAD

---
 modeling/AVATAR/PressureController.xml        | 69 +++++++++++++++----
 .../java/ui/avatarcd/AvatarCDActorBox.java    |  4 +-
 .../ui/avatarcd/AvatarCDActorStickman.java    |  4 +-
 src/main/java/ui/avatarcd/AvatarCDBlock.java  |  6 +-
 src/main/java/ui/avatarcd/AvatarCDPanel.java  |  3 +-
 .../java/ui/avatarcd/AvatarCDToolBar.java     |  2 +-
 .../ui/avatarmad/AvatarMADAssumption.java     |  6 +-
 .../java/ui/avatarmad/AvatarMADPanel.java     |  7 +-
 .../java/ui/avatarmad/AvatarMADToolBar.java   |  2 +-
 src/main/java/ui/ftd/FTDBlock.java            |  4 +-
 .../java/ui/ftd/FaultTreeDiagramPanel.java    |  3 +-
 11 files changed, 82 insertions(+), 28 deletions(-)

diff --git a/modeling/AVATAR/PressureController.xml b/modeling/AVATAR/PressureController.xml
index ba44adccf9..a3d2f3531d 100644
--- a/modeling/AVATAR/PressureController.xml
+++ b/modeling/AVATAR/PressureController.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0">
+<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="true" ACTIVATE_PENALTIES="false" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="9" LAST_SELECTED_SUB_TAB="0">
 
 <Modeling type="Avatar Requirement" nameTab="Requirements" >
 <AvatarRDPanel name="RequirementsSystemView" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
@@ -1655,8 +1655,8 @@
 
 <UseCaseDiagramPanel name="UseCaseDiagram_SoftwareView" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
 <COMPONENT type="701" id="1037" index="0" uid="0f0ceff3-109a-4e41-bd57-b496bdb54968" >
-<cdparam x="366" y="273" />
-<sizeparam width="137" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="372" y="273" />
+<sizeparam width="124" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="Use case" value="savePressureValues" />
@@ -1691,8 +1691,8 @@
 </COMPONENT>
 
 <COMPONENT type="701" id="1062" index="1" uid="0388d0a7-fe76-4261-ac3f-c870519b486b" >
-<cdparam x="505" y="160" />
-<sizeparam width="93" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="507" y="160" />
+<sizeparam width="88" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="Use case" value="monitorAlarm" />
@@ -1727,8 +1727,8 @@
 </COMPONENT>
 
 <COMPONENT type="701" id="1087" index="2" uid="642c859c-5a77-4bbf-82c5-e4190c86ff66" >
-<cdparam x="259" y="118" />
-<sizeparam width="158" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="267" y="118" />
+<sizeparam width="143" height="40" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="Use case" value="getPressureInformation" />
@@ -1906,7 +1906,7 @@
 <cdparam x="403" y="275" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="&lt;&lt;extend&gt;&gt;" />
-<P1  x="400" y="275" id="1017" />
+<P1  x="403" y="275" id="1017" />
 <P2  x="338" y="158" id="1066" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
@@ -1915,8 +1915,8 @@
 <cdparam x="410" y="138" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="&lt;&lt;include&gt;&gt;" />
-<P1  x="417" y="138" id="1065" />
-<P2  x="505" y="180" id="1039" />
+<P1  x="410" y="138" id="1065" />
+<P2  x="507" y="180" id="1039" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -1924,7 +1924,7 @@
 <cdparam x="476" y="305" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="503" y="293" id="1015" />
+<P1  x="496" y="293" id="1015" />
 <P2  x="660" y="293" id="1089" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
@@ -1933,7 +1933,7 @@
 <cdparam x="567" y="168" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="598" y="180" id="1040" />
+<P1  x="595" y="180" id="1040" />
 <P2  x="660" y="180" id="1123" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
@@ -1942,7 +1942,7 @@
 <cdparam x="233" y="170" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="259" y="138" id="1064" />
+<P1  x="267" y="138" id="1064" />
 <P2  x="160" y="138" id="1163" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
@@ -27726,4 +27726,47 @@ PressureSensor.SendingPressure --&gt; MainController.HighPressure
 
 
 
+<Modeling type="Avatar Requirement" nameTab="Requirements" >
+<AvatarPDPanel name="AVATARPD" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="5300" id="11404" index="0" uid="614bf096-8aa8-41e6-9282-c476bcf156dc" >
+<cdparam x="327" y="159" />
+<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Block" value="Block" />
+<new d="false" />
+<TGConnectingPoint num="0" id="11405" />
+<TGConnectingPoint num="1" id="11406" />
+<TGConnectingPoint num="2" id="11407" />
+<TGConnectingPoint num="3" id="11408" />
+<TGConnectingPoint num="4" id="11409" />
+<TGConnectingPoint num="5" id="11410" />
+<TGConnectingPoint num="6" id="11411" />
+<TGConnectingPoint num="7" id="11412" />
+<TGConnectingPoint num="8" id="11413" />
+<TGConnectingPoint num="9" id="11414" />
+<TGConnectingPoint num="10" id="11415" />
+<TGConnectingPoint num="11" id="11416" />
+<TGConnectingPoint num="12" id="11417" />
+<TGConnectingPoint num="13" id="11418" />
+<TGConnectingPoint num="14" id="11419" />
+<TGConnectingPoint num="15" id="11420" />
+<TGConnectingPoint num="16" id="11421" />
+<TGConnectingPoint num="17" id="11422" />
+<TGConnectingPoint num="18" id="11423" />
+<TGConnectingPoint num="19" id="11424" />
+<TGConnectingPoint num="20" id="11425" />
+<TGConnectingPoint num="21" id="11426" />
+<TGConnectingPoint num="22" id="11427" />
+<TGConnectingPoint num="23" id="11428" />
+</COMPONENT>
+
+
+</AvatarPDPanel>
+
+</Modeling>
+
+
+
+
 </TURTLEGMODELING>
\ No newline at end of file
diff --git a/src/main/java/ui/avatarcd/AvatarCDActorBox.java b/src/main/java/ui/avatarcd/AvatarCDActorBox.java
index cda29e78ab..e5c0cf9ba1 100644
--- a/src/main/java/ui/avatarcd/AvatarCDActorBox.java
+++ b/src/main/java/ui/avatarcd/AvatarCDActorBox.java
@@ -43,6 +43,7 @@
 package ui.avatarcd;
 
 import myutil.GraphicLib;
+import myutil.NameChecker;
 import ui.*;
 import ui.util.IconManager;
 
@@ -55,7 +56,8 @@ import java.awt.*;
    * @version 1.0 31/08/2011
    * @author Ludovic APVRILLE
  */
-public class AvatarCDActorBox extends TGCScalableOneLineText {
+public class AvatarCDActorBox extends TGCScalableOneLineText implements NameChecker.NameStartWithUpperCase,
+        NameChecker.NameTakenFromValue {
     /*protected int lineLength = 5;
       protected int textX =  5;
       protected int textY =  15;
diff --git a/src/main/java/ui/avatarcd/AvatarCDActorStickman.java b/src/main/java/ui/avatarcd/AvatarCDActorStickman.java
index 52a38a69f7..41f7842588 100644
--- a/src/main/java/ui/avatarcd/AvatarCDActorStickman.java
+++ b/src/main/java/ui/avatarcd/AvatarCDActorStickman.java
@@ -42,6 +42,7 @@
 package ui.avatarcd;
 
 import myutil.GraphicLib;
+import myutil.NameChecker;
 import ui.*;
 import ui.util.IconManager;
 
@@ -54,7 +55,8 @@ import java.awt.*;
  * @version 1.0 131/08/2011
  * @author Ludovic APVRILLE
  */
-public class AvatarCDActorStickman extends TGCScalableOneLineText {
+public class AvatarCDActorStickman extends TGCScalableOneLineText implements NameChecker.NameStartWithUpperCase,
+        NameChecker.NameTakenFromValue {
     /*protected int lineLength = 5;
     protected int textX =  5;
     protected int textY =  15;
diff --git a/src/main/java/ui/avatarcd/AvatarCDBlock.java b/src/main/java/ui/avatarcd/AvatarCDBlock.java
index 844c551779..ea3529b8ba 100644
--- a/src/main/java/ui/avatarcd/AvatarCDBlock.java
+++ b/src/main/java/ui/avatarcd/AvatarCDBlock.java
@@ -41,6 +41,7 @@ package ui.avatarcd;
 
 import myutil.Conversion;
 import myutil.GraphicLib;
+import myutil.NameChecker;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -59,9 +60,10 @@ import java.util.LinkedList;
  * Creation: 31/08/2011
  *
  * @author Ludovic APVRILLE
- * @version 1.2 03/07/2019
+ * @version 1.3 24/03/2023
  */
-public class AvatarCDBlock extends TGCScalableWithInternalComponent implements SwallowTGComponent, SwallowedTGComponent, ColorCustomizable {
+public class AvatarCDBlock extends TGCScalableWithInternalComponent implements SwallowTGComponent, SwallowedTGComponent, ColorCustomizable,
+        NameChecker.NameStartWithUpperCase, NameChecker.NameTakenFromValue {
     //    private int textY1 = 3;
 //    private int textX = 7;
     private String stereotype = "block";
diff --git a/src/main/java/ui/avatarcd/AvatarCDPanel.java b/src/main/java/ui/avatarcd/AvatarCDPanel.java
index 234222190f..33258ecabb 100644
--- a/src/main/java/ui/avatarcd/AvatarCDPanel.java
+++ b/src/main/java/ui/avatarcd/AvatarCDPanel.java
@@ -43,6 +43,7 @@ package ui.avatarcd;
 
 //import java.awt.*;
 
+import myutil.NameChecker;
 import ui.*;
 
 import java.util.ArrayList;
@@ -59,7 +60,7 @@ import java.util.Iterator;
  * @version 1.0 31/08/2011
  * @author Ludovic APVRILLE
  */
-public class AvatarCDPanel extends TDiagramPanel implements TDPWithAttributes{
+public class AvatarCDPanel extends TDiagramPanel implements TDPWithAttributes, NameChecker.SystemWithNamedElements {
     
 	public static int ARC = 20;
 	
diff --git a/src/main/java/ui/avatarcd/AvatarCDToolBar.java b/src/main/java/ui/avatarcd/AvatarCDToolBar.java
index 5fe1946d9a..df6d6ea062 100644
--- a/src/main/java/ui/avatarcd/AvatarCDToolBar.java
+++ b/src/main/java/ui/avatarcd/AvatarCDToolBar.java
@@ -89,7 +89,7 @@ public class AvatarCDToolBar extends TToolBar {
 		
 		mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID].setEnabled(b);
 
-        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b);
     }
     
     @Override
diff --git a/src/main/java/ui/avatarmad/AvatarMADAssumption.java b/src/main/java/ui/avatarmad/AvatarMADAssumption.java
index 87312f4a6b..ab0b6e1b9d 100644
--- a/src/main/java/ui/avatarmad/AvatarMADAssumption.java
+++ b/src/main/java/ui/avatarmad/AvatarMADAssumption.java
@@ -44,6 +44,7 @@ package ui.avatarmad;
 
 import myutil.Conversion;
 import myutil.GraphicLib;
+import myutil.NameChecker;
 import myutil.TraceManager;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -65,9 +66,8 @@ import java.util.List;
    * @version 2.0 05/01/2021
    * @author Ludovic APVRILLE
  */
-public class AvatarMADAssumption extends TGCScalableWithInternalComponent implements WithAttributes, TGAutoAdjust {
-
-    // Stereotypes
+public class AvatarMADAssumption extends TGCScalableWithInternalComponent implements WithAttributes, TGAutoAdjust, NameChecker.NameStartWithUpperCase,
+        NameChecker.NameTakenFromValue {
 
 
 
diff --git a/src/main/java/ui/avatarmad/AvatarMADPanel.java b/src/main/java/ui/avatarmad/AvatarMADPanel.java
index 681e74737f..7c8360085f 100644
--- a/src/main/java/ui/avatarmad/AvatarMADPanel.java
+++ b/src/main/java/ui/avatarmad/AvatarMADPanel.java
@@ -43,16 +43,17 @@ package ui.avatarmad;
 
 //import java.awt.*;
 
+import myutil.NameChecker;
 import ui.*;
 
 /**
  * Class AvatarMADPanel
  * Panel for drawing Avatar Model Assumption Panels
-* Creation: 20/04/2010
-* @version 1.0 20/04/2010
+ * Creation: 20/04/2010
+ * @version 1.1 24/03/2023
  * @author Ludovic APVRILLE
  */
-public class AvatarMADPanel extends TDiagramPanel implements TDPWithAttributes {
+public class AvatarMADPanel extends TDiagramPanel implements TDPWithAttributes, NameChecker.SystemWithNamedElements {
   
     
     public  AvatarMADPanel(MainGUI mgui, TToolBar _ttb) {
diff --git a/src/main/java/ui/avatarmad/AvatarMADToolBar.java b/src/main/java/ui/avatarmad/AvatarMADToolBar.java
index 58e593ca8e..ce05decd7a 100644
--- a/src/main/java/ui/avatarmad/AvatarMADToolBar.java
+++ b/src/main/java/ui/avatarmad/AvatarMADToolBar.java
@@ -82,7 +82,7 @@ public class AvatarMADToolBar extends TToolBar {
         mgui.actions[TGUIAction.AMAD_BELONGSTOCOMPOSITION_CONNECTOR].setEnabled(b);
         mgui.actions[TGUIAction.AMAD_IMPACT_CONNECTOR].setEnabled(b);
 
-        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(!b);
+        mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b);
 
         /*mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b);
 
diff --git a/src/main/java/ui/ftd/FTDBlock.java b/src/main/java/ui/ftd/FTDBlock.java
index b55cb12ff5..a13ce58aa5 100644
--- a/src/main/java/ui/ftd/FTDBlock.java
+++ b/src/main/java/ui/ftd/FTDBlock.java
@@ -42,6 +42,7 @@
 package ui.ftd;
 
 import myutil.GraphicLib;
+import myutil.NameChecker;
 import ui.*;
 import ui.util.IconManager;
 
@@ -57,7 +58,8 @@ import java.util.Vector;
  * @version 1.1 14/12/2017
  * @author Ludovic APVRILLE
  */
-public class FTDBlock extends TGCScalableWithInternalComponent implements SwallowTGComponent {
+public class FTDBlock extends TGCScalableWithInternalComponent implements SwallowTGComponent,
+        NameChecker.NameStartWithUpperCase, NameChecker.NameTakenFromValue {
 //    private int textY1 = 3;
     private String stereotype = "block";
 
diff --git a/src/main/java/ui/ftd/FaultTreeDiagramPanel.java b/src/main/java/ui/ftd/FaultTreeDiagramPanel.java
index 338fe85171..70ea49026c 100644
--- a/src/main/java/ui/ftd/FaultTreeDiagramPanel.java
+++ b/src/main/java/ui/ftd/FaultTreeDiagramPanel.java
@@ -43,6 +43,7 @@ package ui.ftd;
 
 //import java.awt.*;
 
+import myutil.NameChecker;
 import ui.*;
 
 import java.util.ArrayList;
@@ -61,7 +62,7 @@ import java.util.ListIterator;
  * @version 1.0 14/12/2017
  * @author Ludovic APVRILLE
  */
-public class FaultTreeDiagramPanel extends TDiagramPanel implements TDPWithAttributes{
+public class FaultTreeDiagramPanel extends TDiagramPanel implements TDPWithAttributes, NameChecker.SystemWithNamedElements {
 
     public  FaultTreeDiagramPanel(MainGUI mgui, TToolBar _ttb) {
         super(mgui, _ttb);
-- 
GitLab