From c84c6ddc1e5191ce6c95ab006a75e71580eeae83 Mon Sep 17 00:00:00 2001 From: jawher-j <92947144+jawher-j@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:47:53 +0200 Subject: [PATCH] Synchronize components renaming in all designPanels --- src/main/java/ui/tmlad/TMLADEncrypt.java | 53 ++++++++++++++++++ src/main/java/ui/tmlad/TMLADWriteChannel.java | 2 +- .../ui/tmlcompd/TMLCPrimitiveComponent.java | 27 ++++++++- .../java/ui/tmlcompd/TMLCPrimitivePort.java | 56 ++++++++++++++++--- .../TMLComponentTaskDiagramPanel.java | 36 +++++------- src/main/java/ui/tmldd/TMLArchiArtifact.java | 1 + src/main/java/ui/tmldd/TMLArchiCAMSNode.java | 2 +- src/main/java/ui/tmldd/TMLArchiCPUNode.java | 2 +- src/main/java/ui/tmldd/TMLArchiFPGANode.java | 2 +- src/main/java/ui/tmldd/TMLArchiHWANode.java | 2 +- .../java/ui/tmldd/TMLArchiPortArtifact.java | 5 ++ .../ui/window/JDialogMultiStringAndTabs.java | 18 +++--- 12 files changed, 161 insertions(+), 45 deletions(-) diff --git a/src/main/java/ui/tmlad/TMLADEncrypt.java b/src/main/java/ui/tmlad/TMLADEncrypt.java index 26099d9ef4..5648f6a7dc 100755 --- a/src/main/java/ui/tmlad/TMLADEncrypt.java +++ b/src/main/java/ui/tmlad/TMLADEncrypt.java @@ -46,6 +46,8 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import ui.*; import ui.ad.TADComponentWithoutSubcomponents; +import ui.tmlcompd.TMLCPrimitiveComponent; +import ui.tmldd.*; import ui.util.IconManager; import ui.window.JDialogCryptographicConfiguration; import tmltranslator.*; @@ -258,6 +260,7 @@ public class TMLADEncrypt extends TADComponentWithoutSubcomponents/* Issue #69 T return false; } } + setSecPatternName(jdms.getString(0)); securityContext = jdms.getString(0); type = jdms.getString(1); message_overhead = jdms.getString(2); @@ -268,12 +271,62 @@ public class TMLADEncrypt extends TADComponentWithoutSubcomponents/* Issue #69 T decTime = jdms.getString(7); key = jdms.getString(8); algorithm = jdms.getString(9); + return true; } return false; } + private void setSecPatternName(String s) { + TURTLEPanel tpCur = tdp.getMainGUI().getCurrentTURTLEPanel(); + for (TDiagramPanel t : tpCur.getPanels()) { + if (t instanceof TMLActivityDiagramPanel) { + for (TGComponent t2 : t.getComponentList()) { + if (t2 instanceof TMLADWriteChannel) { + TMLADWriteChannel twc = (TMLADWriteChannel) t2; + if (twc.getSecurityContext().equals(securityContext)) { + twc.setSecurityContext(s); + } + } + + if (t2 instanceof TMLADReadChannel) { + TMLADReadChannel trc = (TMLADReadChannel) t2; + if (trc.getSecurityContext().equals(securityContext)) { + trc.setSecurityContext(s); + } + } + + if (t2 instanceof TMLADDecrypt) { + TMLADDecrypt td = (TMLADDecrypt) t2; + if (td.getSecurityContext().equals(securityContext)) { + td.securityContext = s; + } + } + } + } + } + for (TURTLEPanel tp : tdp.getMainGUI().tabs) { + if (tp instanceof TMLArchiPanel) { + TMLArchiDiagramPanel archPanel = ((TMLArchiPanel) tp).tmlap; + for (TGComponent tg : archPanel.getComponentList()) { + if (tg instanceof TMLArchiCommunicationNode) { + TMLArchiCommunicationNode tacn = (TMLArchiCommunicationNode) tg; + for (TGComponent tgc : tacn.getRecursiveAllInternalComponent()) { + if (tgc instanceof TMLArchiKey) { + TMLArchiKey tak = (TMLArchiKey) tgc; + if (tak.getValue().equals(securityContext)) { + tak.setValue(s); + } + } + } + } + } + archPanel.repaint(); + } + } + } + @Override public TGComponent isOnMe(int _x, int _y) { if (GraphicLib.isInRectangle(_x, _y, x, y, width, height)) { diff --git a/src/main/java/ui/tmlad/TMLADWriteChannel.java b/src/main/java/ui/tmlad/TMLADWriteChannel.java index f4dbe2dcb8..1d62687dcf 100755 --- a/src/main/java/ui/tmlad/TMLADWriteChannel.java +++ b/src/main/java/ui/tmlad/TMLADWriteChannel.java @@ -473,7 +473,7 @@ public class TMLADWriteChannel extends TADComponentWithoutSubcomponents/* Issue help.add(choice); help.add(choice); tab2.labels=labels; - tab2.values = values; + tab2.values = values; tab2.help = help; tab2.helpButtom = new String[]{null, "cryptographicconfiguration.html"}; diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java b/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java index e506b3b206..cfea280054 100755 --- a/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java +++ b/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java @@ -45,6 +45,9 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import ui.*; +import ui.tmldd.TMLArchiArtifact; +import ui.tmldd.TMLArchiDiagramPanel; +import ui.tmldd.TMLArchiElementWithArtifactList; import ui.util.IconManager; import ui.window.JDialogAttribute; @@ -544,7 +547,7 @@ public class TMLCPrimitiveComponent extends TGCScalableWithInternalComponent imp //TraceManager.addDev("Set value with change"); - setComponentName(s); + this.setComponentName(s); //TraceManager.addDev("PC4.1 oldvalue=" + oldName + " s=" + s); setValueWithChange(s); //TraceManager.addDev("PC4.2"); @@ -562,6 +565,28 @@ public class TMLCPrimitiveComponent extends TGCScalableWithInternalComponent imp } + @Override + public void setComponentName(String taskName) { + for (TURTLEPanel tp : tdp.getMGUI().tabs) { + if (tp instanceof TMLArchiPanel) { + TMLArchiDiagramPanel archPanel = ((TMLArchiPanel) tp).tmlap; + for (TGComponent tg : archPanel.getComponentList()) { + if (tg instanceof TMLArchiElementWithArtifactList) { + TMLArchiElementWithArtifactList tcpu = (TMLArchiElementWithArtifactList) tg; + for (TMLArchiArtifact art : tcpu.getArtifactList()) { + if (art.getTaskName().equals(value) && art.getReferenceTaskName().equals(tdp.tp.getNameOfTab())) { + if (art.getReferenceTaskName().equals(tdp.tp.getNameOfTab())) { + art.setTaskName(taskName); + } + } + } + } + } + archPanel.repaint(); + } + } + } + protected void setJDialogOptions(JDialogAttribute jda) { jda.addAccess(TAttribute.getStringAccess(TAttribute.PUBLIC)); jda.addAccess(TAttribute.getStringAccess(TAttribute.PRIVATE)); diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java index 7396879050..493b29058d 100755 --- a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java +++ b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java @@ -51,8 +51,7 @@ import ui.avatarrd.AvatarRDRequirement; import ui.interactivesimulation.JFrameSimulationSDPanel; import ui.tmlad.*; - import ui.tmldd.TMLArchiCPNode; - import ui.tmldd.TMLArchiPortArtifact; + import ui.tmldd.*; import ui.util.IconManager; import ui.window.JDialogTMLCompositePort; @@ -966,20 +965,59 @@ } public void setPortName(String s) { + List<TMLCPrimitivePort> listConnectedPorts = ((TMLComponentTaskDiagramPanel) tdp).getPortsConnectedTo(this, + tdp.getAllComponentList()); for (TURTLEPanel tp : tdp.getMainGUI().tabs) { - for (TDiagramPanel t : tp.getPanels()) { - for (TGComponent t2 : t.getComponentList()) { - if (t2 instanceof TMLArchiCPNode) { - TMLArchiCPNode tacn = (TMLArchiCPNode) t2; + if (tp instanceof TMLArchiPanel) { + TMLArchiDiagramPanel archPanel = ((TMLArchiPanel) tp).tmlap; + for (TGComponent tg : archPanel.getComponentList()) { + if (tg instanceof TMLArchiPortArtifact) { + if (!isOrigin) { + TMLArchiPortArtifact portArt = (TMLArchiPortArtifact) tg; + if (portArt.getPortName().equals(commName) && portArt.getReferenceCommunicationName().equals(tdp.tp.getNameOfTab())) { + portArt.setPortName(s); + } + } + } else if (tg instanceof TMLArchiCommunicationNode) { + TMLArchiCommunicationNode tacn = (TMLArchiCommunicationNode) tg; for (TGComponent tgc : tacn.getRecursiveAllInternalComponent()) { if (tgc instanceof TMLArchiPortArtifact) { - TMLArchiPortArtifact tapi = (TMLArchiPortArtifact) tgc; - String tmp = tapi.getValue().replaceAll("(?i)" + commName + "$", s); - tapi.setValue(tmp); + if (!isOrigin) { + TMLArchiPortArtifact portArt = (TMLArchiPortArtifact) tgc; + if (portArt.getPortName().equals(commName) && portArt.getReferenceCommunicationName().equals(tdp.tp.getNameOfTab())) { + portArt.setPortName(s); + } + } + } else if (tgc instanceof TMLArchiCommunicationArtifact) { + TMLArchiCommunicationArtifact comArt = (TMLArchiCommunicationArtifact) tgc; + if (comArt.getReferenceCommunicationName().equals(tdp.tp.getNameOfTab())) { + for (TMLCPrimitivePort port2 : listConnectedPorts) { + String communicationName; + if (port2.getPortName().equals(commName)) { + communicationName = commName; + } else if (this.isOrigin) { + communicationName = commName + "__" + port2.getPortName(); + } else { + communicationName = port2.getPortName() + "__" + commName; + } + TraceManager.addDev("communicationName=" + communicationName); + if (comArt.getCommunicationName().equals(communicationName)) { + if (port2.getPortName().equals(s)) { + comArt.setCommunicationName(s); + } else if (this.isOrigin) { + comArt.setCommunicationName(s + "__" + port2.getPortName()); + } else { + comArt.setCommunicationName(port2.getPortName() + "__" + s); + } + TraceManager.addDev("1 setCommunicationName = " + s); + } + } + } } } } } + archPanel.repaint(); } } diff --git a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java index 05425d4c25..3f2773ca6c 100755 --- a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java +++ b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java @@ -721,21 +721,18 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi public String[] getCompOutChannels() { List<String> chls = new ArrayList<String>(); - TGComponent tgc; - Iterator<TGComponent> iterator = componentList.listIterator(); + TMLCPrimitiveComponent tgc; + Iterator<TMLCPrimitiveComponent> iterator = getPrimitiveComponentList().listIterator(); // List<String> list = new ArrayList<String>(); //TMLCPrimitiveComponent tmp; - + getPrimitiveComponentList(); while (iterator.hasNext()) { tgc = iterator.next(); - if (tgc instanceof TMLCPrimitiveComponent) { - TMLCPrimitiveComponent comp = (TMLCPrimitiveComponent) tgc; - List<TMLCPrimitivePort> ll = comp.getAllChannelsOriginPorts(); - Iterator<TMLCPrimitivePort> ite = ll.listIterator(); - while (ite.hasNext()) { - TMLCPrimitivePort port = ite.next(); - chls.add(port.getPortName()); - } + List<TMLCPrimitivePort> ll = tgc.getAllChannelsOriginPorts(); + Iterator<TMLCPrimitivePort> ite = ll.listIterator(); + while (ite.hasNext()) { + TMLCPrimitivePort port = ite.next(); + chls.add(port.getPortName()); } } String[] chlArray = new String[chls.size()]; @@ -745,21 +742,18 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi public String[] getCompInChannels() { List<String> chls = new ArrayList<String>(); - TGComponent tgc; - Iterator<TGComponent> iterator = componentList.listIterator(); + TMLCPrimitiveComponent tgc; + Iterator<TMLCPrimitiveComponent> iterator = getPrimitiveComponentList().listIterator(); // List<String> list = new ArrayList<String>(); //TMLCPrimitiveComponent tmp; while (iterator.hasNext()) { tgc = iterator.next(); - if (tgc instanceof TMLCPrimitiveComponent) { - TMLCPrimitiveComponent comp = (TMLCPrimitiveComponent) tgc; - List<TMLCPrimitivePort> ll = comp.getAllChannelsDestinationPorts(); - Iterator<TMLCPrimitivePort> ite = ll.listIterator(); - while (ite.hasNext()) { - TMLCPrimitivePort port = ite.next(); - chls.add(port.getPortName()); - } + List<TMLCPrimitivePort> ll = tgc.getAllChannelsDestinationPorts(); + Iterator<TMLCPrimitivePort> ite = ll.listIterator(); + while (ite.hasNext()) { + TMLCPrimitivePort port = ite.next(); + chls.add(port.getPortName()); } } String[] chlArray = new String[chls.size()]; diff --git a/src/main/java/ui/tmldd/TMLArchiArtifact.java b/src/main/java/ui/tmldd/TMLArchiArtifact.java index dc010cf2b6..b1333ce06c 100755 --- a/src/main/java/ui/tmldd/TMLArchiArtifact.java +++ b/src/main/java/ui/tmldd/TMLArchiArtifact.java @@ -373,6 +373,7 @@ public class TMLArchiArtifact extends TGCWithoutInternalComponent implements Swa public void setTaskName(String s) { taskName = s; + makeFullValue(); } public String getAttributes() { diff --git a/src/main/java/ui/tmldd/TMLArchiCAMSNode.java b/src/main/java/ui/tmldd/TMLArchiCAMSNode.java index 3e3c178921..3021917845 100755 --- a/src/main/java/ui/tmldd/TMLArchiCAMSNode.java +++ b/src/main/java/ui/tmldd/TMLArchiCAMSNode.java @@ -61,7 +61,7 @@ import java.util.Vector; * @version 1.0 23/11/2007 * @author Ludovic APVRILLE */ -public class TMLArchiCAMSNode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface { +public class TMLArchiCAMSNode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface, TMLArchiElementWithArtifactList { private int textY1 = 15; private int textY2 = 30; private int derivationx = 2; diff --git a/src/main/java/ui/tmldd/TMLArchiCPUNode.java b/src/main/java/ui/tmldd/TMLArchiCPUNode.java index 41b01ca9c6..d4a8f93587 100755 --- a/src/main/java/ui/tmldd/TMLArchiCPUNode.java +++ b/src/main/java/ui/tmldd/TMLArchiCPUNode.java @@ -63,7 +63,7 @@ import java.util.Vector; * @author Ludovic APVRILLE * @version 1.1 21/05/2008 */ -public class TMLArchiCPUNode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface { +public class TMLArchiCPUNode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface, TMLArchiElementWithArtifactList { // Issue #31 // private int textY1 = 15; diff --git a/src/main/java/ui/tmldd/TMLArchiFPGANode.java b/src/main/java/ui/tmldd/TMLArchiFPGANode.java index 0a8e021277..b61102dd79 100755 --- a/src/main/java/ui/tmldd/TMLArchiFPGANode.java +++ b/src/main/java/ui/tmldd/TMLArchiFPGANode.java @@ -61,7 +61,7 @@ import java.util.Vector; * @author Ludovic APVRILLE, Matteo BERTOLINO * @version 1.1 07/02/2018 */ -public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface { +public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface, TMLArchiElementWithArtifactList { // Issue #31 // Issue #31 diff --git a/src/main/java/ui/tmldd/TMLArchiHWANode.java b/src/main/java/ui/tmldd/TMLArchiHWANode.java index 6ac6b6d5c9..d25c76166d 100755 --- a/src/main/java/ui/tmldd/TMLArchiHWANode.java +++ b/src/main/java/ui/tmldd/TMLArchiHWANode.java @@ -60,7 +60,7 @@ import java.util.Vector; * @version 1.0 23/11/2007 */ -public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface { +public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface, TMLArchiElementWithArtifactList { // Issue #31 private static final int DERIVATION_X = 2; diff --git a/src/main/java/ui/tmldd/TMLArchiPortArtifact.java b/src/main/java/ui/tmldd/TMLArchiPortArtifact.java index 47d17bf8d5..ecc0ba86a4 100644 --- a/src/main/java/ui/tmldd/TMLArchiPortArtifact.java +++ b/src/main/java/ui/tmldd/TMLArchiPortArtifact.java @@ -463,6 +463,11 @@ public class TMLArchiPortArtifact extends TGCWithoutInternalComponent implements return portName; } + public void setPortName(String _portName) { + portName = _portName; + makeFullValue(); + } + public String getFullValue() { String tmp = getValue(); tmp += " (" + getTypeName() + ")"; diff --git a/src/main/java/ui/window/JDialogMultiStringAndTabs.java b/src/main/java/ui/window/JDialogMultiStringAndTabs.java index 277c28aa6d..cdb201cde2 100644 --- a/src/main/java/ui/window/JDialogMultiStringAndTabs.java +++ b/src/main/java/ui/window/JDialogMultiStringAndTabs.java @@ -50,14 +50,8 @@ import java.util.List; import java.util.Map; import ui.util.IconManager; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTabbedPane; -import javax.swing.JTextField; -import javax.swing.Icon; +import javax.swing.*; + import ui.MainGUI; import ui.TGHelpButton; import help.HelpManager; @@ -179,7 +173,13 @@ public class JDialogMultiStringAndTabs extends JDialogBase implements ActionList if (i < tab.help.size()) { String[] tmp = tab.help.get(i); if (tmp != null) { - helps.put(totalIndex, new JComboBox<>(tmp)); + DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>(tmp); + JComboBox<String> tmpComboBox = new JComboBox<>(model); + int indexValue = model.getIndexOf(tab.values[i]); + if (indexValue != -1) { + tmpComboBox.setSelectedIndex(indexValue); + } + helps.put(totalIndex, tmpComboBox); panel1.add(helps.get(totalIndex), c1); if (tab.helpButtom == null || mgui == null || tab.helpButtom[i] == null) { c1.gridwidth = GridBagConstraints.REMAINDER; //end row -- GitLab