diff --git a/src/main/java/ui/tmlad/TMLADEncrypt.java b/src/main/java/ui/tmlad/TMLADEncrypt.java index 26099d9ef465aa150f1145d52d59d9d60796f891..5648f6a7dc22e38fb9098670478f746d43852dfa 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 f4dbe2dcb82887812a40b7042d1138649ae73679..1d62687dcf26de4efd8e6c0795cd2cd04353b630 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 e506b3b206a1322c6357d09f80a252a0b1ffa173..cfea2800545cb59779478807e7be5768561bd8de 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 7396879050a0c2859afaeccf8546bc5cdf0d0a91..493b29058d21af260fb6ab1af6201bd0c738c758 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 05425d4c256c9429d9769e08d9c46d0ad67daf7a..3f2773ca6c398d00ce8e897701d50f9075ef871d 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 dc010cf2b689323b10060b8279f573744e84a3c8..b1333ce06cb074a079e827145289e8c468b1229c 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 3e3c178921897221675edcff1c09e691c91af287..3021917845c76c93e26ba0eba6b43f0d7b4cfaf1 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 41b01ca9c6d8afc4efee3b2b244a60e00d5d3d63..d4a8f9358722beb2e107cff7cdd6771497706ab5 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 0a8e0212774d1cf476fc92bbf17b73365045a818..b61102dd798bdf3704316f121898d0ecb01762c7 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 6ac6b6d5c926709e90bccd48495cfec28c248d08..d25c76166dcb079e3e65c784134cc724a943f6e3 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 47d17bf8d55b114f31c838a54d2844e9639c8312..ecc0ba86a43063bd2bcae768223819fea1e9560c 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 277c28aa6decdaa648945c746e9fcb11b438cee6..cdb201cde2c33fae99301218dbebe49c9ec0ee06 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