Commit ba1a338b authored by apvrille's avatar apvrille

Solving bug on task renaming and mapping of task

parent 87306966
......@@ -52,10 +52,7 @@ import ui.tmlad.TMLActivityDiagramPanel;
import ui.tmlcd.TMLTaskDiagramPanel;
import ui.tmlcompd.TMLCPrimitiveComponent;
import ui.tmlcompd.TMLComponentTaskDiagramPanel;
import ui.tmldd.TMLArchiArtifact;
import ui.tmldd.TMLArchiCPUNode;
import ui.tmldd.TMLArchiDiagramPanel;
import ui.tmldd.TMLArchiFirewallNode;
import ui.tmldd.*;
import ui.util.IconManager;
import javax.swing.*;
......@@ -2773,23 +2770,30 @@ public abstract class TGComponent extends AbstractCDElement implements /*CDElem
repaint = true;
}
/**
* Rename all reference of a primitive component.
*
* @param s new name
* @param taskName new name
* @author Fabien Tessier
*/
public void setComponentName(String s) {
public void setComponentName(String taskName) {
for (TURTLEPanel tp : tdp.mgui.tabs)
for (TDiagramPanel t : tp.getPanels()) {
for (TGComponent t2 : t.componentList) {
if (t2 instanceof TMLArchiCPUNode) {
TMLArchiCPUNode tcpu = (TMLArchiCPUNode) t2;
if (t2 instanceof TMLArchiElementWithArtifactList) {
TMLArchiElementWithArtifactList tcpu = (TMLArchiElementWithArtifactList) t2;
for (TMLArchiArtifact art : tcpu.getArtifactList()) {
if (art.getTaskName().equals(value))
art.setTaskName(s);
String tmp = art.getValue().replaceAll("(?i)" + value + "$", s);
art.setValue(tmp);
if (art.getTaskName().equals(value)) {
//TraceManager.addDev("Comparing:" + tdp.getName() + " with " + art.getReferenceTaskName());
if (art.getReferenceTaskName().equals(tdp.tp.getNameOfTab())) {
art.setTaskName(taskName);
String tmp = art.getValue().replaceAll("(?i)" + value + "$", taskName);
art.setValue(tmp);
}
}
}
}
}
......
......@@ -76,6 +76,10 @@ public abstract class TURTLEPanel implements GenericTree, DraggableTabbedPaneCal
panels = new Vector<TDiagramPanel>();
}
public String getNameOfTab() {
return mgui.getTabName(this);
}
public abstract void init();
public abstract String saveHeaderInXml(String extensionToName);
......
......@@ -63,7 +63,8 @@ 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 {
private int textY1 = 15;
private int textY2 = 30;
private int derivationx = 2;
......
/* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
*
* ludovic.apvrille AT enst.fr
*
* This software is a computer program whose purpose is to allow the
* edition of TURTLE analysis, design and deployment diagrams, to
* allow the generation of RT-LOTOS or Java code from this diagram,
* and at last to allow the analysis of formal validation traces
* obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
* from INRIA Rhone-Alpes.
*
* This software is governed by the CeCILL license under French law and
* abiding by the rules of distribution of free software. You can use,
* modify and/ or redistribute the software under the terms of the CeCILL
* license as circulated by CEA, CNRS and INRIA at the following URL
* "http://www.cecill.info".
*
* As a counterpart to the access to the source code and rights to copy,
* modify and redistribute granted by the license, users are provided only
* with a limited warranty and the software's author, the holder of the
* economic rights, and the successive licensors have only limited
* liability.
*
* In this respect, the user's attention is drawn to the risks associated
* with loading, using, modifying and/or developing or reproducing the
* software by the user in light of its specific status of free software,
* that may mean that it is complicated to manipulate, and that also
* therefore means that it is reserved for developers and experienced
* professionals having in-depth computer knowledge. Users are therefore
* encouraged to load and test the software's suitability as regards their
* requirements in conditions enabling the security of their systems and/or
* data to be ensured and, more generally, to use and operate it in the
* same conditions as regards security.
*
* The fact that you are presently reading this means that you have had
* knowledge of the CeCILL license and that you accept its terms.
*/
package ui.tmldd;
import java.util.Vector;
/**
* Class TMLArchiElementWithArtifactList
* Interface of an architecture element
* Creation: 11/06/2019
* @version 1.0 11/06/2019
* @author Ludovic APVRILLE
*/
public interface TMLArchiElementWithArtifactList {
Vector<TMLArchiArtifact> getArtifactList();
}
......@@ -62,7 +62,8 @@ import java.util.Vector;
* @version 1.1 07/02/2018
* @author Ludovic APVRILLE, Matteo BERTOLINO
*/
public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface {
public class TMLArchiFPGANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes,
TMLArchiElementInterface, TMLArchiElementWithArtifactList {
private int textY1 = 15;
private int textY2 = 30;
private int derivationx = 2;
......
......@@ -61,7 +61,8 @@ import java.util.Vector;
* @version 1.0 23/11/2007
* @author Ludovic APVRILLE
*/
public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes, TMLArchiElementInterface {
public class TMLArchiHWANode extends TMLArchiNode implements SwallowTGComponent, WithAttributes,
TMLArchiElementInterface, TMLArchiElementWithArtifactList {
private int textY1 = 15;
private int textY2 = 30;
private int derivationx = 2;
......
......@@ -124,7 +124,9 @@ public class JDialogTMLTaskArtifact extends JDialogBase implements ActionListene
c1.fill = GridBagConstraints.HORIZONTAL;
panel2.add(new JLabel("Task:"), c1);
//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
Vector<String> list = artifact.getTDiagramPanel().getMGUI().getAllNonMappedTMLTaskNames((TMLArchiDiagramPanel)(artifact.getTDiagramPanel()), artifact.getReferenceTaskName(), artifact.getTaskName());
Vector<String> list = artifact.getTDiagramPanel().getMGUI().
getAllNonMappedTMLTaskNames((TMLArchiDiagramPanel)(
artifact.getTDiagramPanel()), artifact.getReferenceTaskName(), artifact.getTaskName());
int index = 0;
if (list.size() == 0) {
list.add("No more task to map");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment