diff --git a/src/req/ebrdd/EBRDD.java b/src/req/ebrdd/EBRDD.java index 75623fe36e752c6f8130c20efda228ee754c9c41..c3901b307c664ea1f1578e93e90c7c29fbaa5b5c 100644 --- a/src/req/ebrdd/EBRDD.java +++ b/src/req/ebrdd/EBRDD.java @@ -61,7 +61,7 @@ public class EBRDD extends ArrayList<EBRDDComponent> { public EBRDD(String _name) { name = _name; - ads = new EBRDDStart(); + ads = new EBRDDStart("Start", null); add(ads); } @@ -112,7 +112,7 @@ public class EBRDD extends ArrayList<EBRDDComponent> { for (i=0; i<size(); i++) { ad1 = get(i); for(j=0; j<ad1.getNbNext(); j++) { - if (ad1.getNext(j) == ad) { + if (ad1.getNextElement(j) == ad) { return ad1; } } @@ -141,21 +141,21 @@ public class EBRDD extends ArrayList<EBRDDComponent> { ((EBRDDERC)elt).exploreString(((EBRDDERC)elt).getRoot(), sb, tabLevel+1); } - if (elt.getRealNbOfNext() == 0) { + if (elt.getNbNext() == 0) { return; } - if (elt.getRealNbOfNext() == 1) { - exploreString(elt.getNext(0), sb, tabLevel); + if (elt.getNbNext() == 1) { + exploreString(elt.getNextElement(0), sb, tabLevel); return; } tabLevel ++; - for(int i=0; i<elt.getRealNbOfNext(); i++) { + for(int i=0; i<elt.getNbNext(); i++) { for(j=0; j<tabLevel; j++) { sb.append("\t"); } sb.append("#" + i + ":\n"); - exploreString(elt.getNext(i), sb, tabLevel+1); + exploreString(elt.getNextElement(i), sb, tabLevel+1); } } diff --git a/src/req/ebrdd/EBRDDActionState.java b/src/req/ebrdd/EBRDDActionState.java index 2f04aaeee9e0495675b19bfd9f34a695603f5fdf..61d6a2e21a8914a49709dc124230bc324d022414 100644 --- a/src/req/ebrdd/EBRDDActionState.java +++ b/src/req/ebrdd/EBRDDActionState.java @@ -50,7 +50,8 @@ package req.ebrdd; public class EBRDDActionState extends EBRDDComponent { protected String action; - public EBRDDActionState() { + public EBRDDActionState(String _name, Object _referenceObject) { + super(_name, _referenceObject); } public String toString() { diff --git a/src/req/ebrdd/EBRDDChoice.java b/src/req/ebrdd/EBRDDChoice.java index 50b98444ff6214fc7dec57613075cf57d7952431..22d0912ec51ca1339fbb7b1d89a4bd79976899b6 100755 --- a/src/req/ebrdd/EBRDDChoice.java +++ b/src/req/ebrdd/EBRDDChoice.java @@ -52,7 +52,8 @@ import myutil.*; public class EBRDDChoice extends EBRDDComponent { private ArrayList<String> guards; - public EBRDDChoice() { + public EBRDDChoice(String _name, Object _referenceObject) { + super(_name, _referenceObject); nbNext = -1; guards = new ArrayList<String>(); } @@ -147,7 +148,7 @@ public class EBRDDChoice extends EBRDDComponent { // Put else at the end index = getElseGuard(); if ((index > -1) && (index != (getNbGuard() - 1))) { - next = getNext(index); + next = getNextElement(index); guard = getGuard(index); guards.remove(index); removeNext(index); diff --git a/src/req/ebrdd/EBRDDComponent.java b/src/req/ebrdd/EBRDDComponent.java index 4e24ca4bccaf77187a0f8cc9f6bfb4e4637d0a41..99f487464bb32b3b99dec3217b2b8401a8ca0ae6 100644 --- a/src/req/ebrdd/EBRDDComponent.java +++ b/src/req/ebrdd/EBRDDComponent.java @@ -52,12 +52,13 @@ public abstract class EBRDDComponent extends EBRDDGeneralComponent implements Cl protected ArrayList<EBRDDComponent> nexts; - public EBRDDComponent() { + public EBRDDComponent(String _name, Object _referenceObject) { + super(_name, _referenceObject); nexts = new ArrayList<EBRDDComponent>(); } - public EBRDDComponent getNext(int index) { + public EBRDDComponent getNextElement(int index) { if (index < nexts.size()) { return nexts.get(index); } else { @@ -65,19 +66,15 @@ public abstract class EBRDDComponent extends EBRDDGeneralComponent implements Cl } } - public int getRealNbOfNext() { + public int getNbNext() { return nexts.size(); } - public int getNbNext() { + public int getNormalizedNbNext() { return nbNext; } - public int realNbOfNext() { - return nexts.size(); - } - - public ArrayList<EBRDDComponent> getAllNext() { + public ArrayList<EBRDDComponent> getNexts() { return nexts; } diff --git a/src/req/ebrdd/EBRDDERC.java b/src/req/ebrdd/EBRDDERC.java index 3e03ea4098dc2190545209a130770242dbbe5595..c746af2772f903d423c05753b51b5e5fb0fb398c 100644 --- a/src/req/ebrdd/EBRDDERC.java +++ b/src/req/ebrdd/EBRDDERC.java @@ -52,7 +52,8 @@ public class EBRDDERC extends EBRDDComponent { protected ArrayList<ERCElement> treeElements; protected ESO root; - public EBRDDERC() { + public EBRDDERC(String _name, Object _referenceObject) { + super(_name, _referenceObject); treeElements = new ArrayList<ERCElement>(); } @@ -98,7 +99,7 @@ public class EBRDDERC extends EBRDDComponent { // Must add a new ESO System.out.println("Default ESO added to ERC"); - ESO eso = new ESO(); + ESO eso = new ESO("ESO", null); eso.addSon(elt); addTreeElement(eso); setRoot(eso); diff --git a/src/req/ebrdd/EBRDDGeneralComponent.java b/src/req/ebrdd/EBRDDGeneralComponent.java index 026d954fc8d11546c053ecd44028babd8605d184..771806f57048969c09b18df5d9819ea32ea6e76f 100644 --- a/src/req/ebrdd/EBRDDGeneralComponent.java +++ b/src/req/ebrdd/EBRDDGeneralComponent.java @@ -47,9 +47,23 @@ package req.ebrdd; import java.util.*; -public abstract class EBRDDGeneralComponent { - - public EBRDDGeneralComponent() { +import tmltranslator.*; + +public abstract class EBRDDGeneralComponent extends DIPLOElement { + protected Object referenceObject; + protected String name; + + public EBRDDGeneralComponent(String _name, Object _referenceObject) { + name = _name; + referenceObject = _referenceObject; + } + + public String getName() { + return name; + } + + public Object getReferenceObject() { + return referenceObject; } diff --git a/src/req/ebrdd/EBRDDLoop.java b/src/req/ebrdd/EBRDDLoop.java index 3e10bb503d3b47eb28935d1a93603a1687f6542c..3218084b5a66f47774d8e3ffe6d1eeed4bf1e460 100755 --- a/src/req/ebrdd/EBRDDLoop.java +++ b/src/req/ebrdd/EBRDDLoop.java @@ -52,7 +52,8 @@ public class EBRDDLoop extends EBRDDComponent { private String init, condition, increment; - public EBRDDLoop() { + public EBRDDLoop(String _name, Object _referenceObject) { + super(_name, _referenceObject); nbNext = 2; } diff --git a/src/req/ebrdd/EBRDDSequence.java b/src/req/ebrdd/EBRDDSequence.java index dfdf1383e2835bb0b7ee04f0f4e964fbd251695c..ea81c08a5d7dc7b6b0ac29144bdbe40bb990aba6 100644 --- a/src/req/ebrdd/EBRDDSequence.java +++ b/src/req/ebrdd/EBRDDSequence.java @@ -51,7 +51,8 @@ import java.util.*; public class EBRDDSequence extends EBRDDComponent{ private Vector indexes; - public EBRDDSequence() { + public EBRDDSequence(String _name, Object _referenceObject) { + super(_name, _referenceObject); nbNext = -1; indexes = new Vector(); } diff --git a/src/req/ebrdd/EBRDDStart.java b/src/req/ebrdd/EBRDDStart.java index 62440af46f4b0795a96b10ffea99679b0f3e04bd..ee3414df1984d1cb379c0219687818e5cf8f798e 100644 --- a/src/req/ebrdd/EBRDDStart.java +++ b/src/req/ebrdd/EBRDDStart.java @@ -49,7 +49,8 @@ package req.ebrdd; public class EBRDDStart extends EBRDDComponent { - public EBRDDStart() { + public EBRDDStart(String _name, Object _referenceObject) { + super(_name, _referenceObject); nbNext = 1; } diff --git a/src/req/ebrdd/EBRDDStop.java b/src/req/ebrdd/EBRDDStop.java index c78b902d50017cbc8584f2a1a466caac58353f38..5faf822f4627090889894ff3d356b91413ee1efb 100644 --- a/src/req/ebrdd/EBRDDStop.java +++ b/src/req/ebrdd/EBRDDStop.java @@ -49,7 +49,8 @@ package req.ebrdd; public class EBRDDStop extends EBRDDComponent { - public EBRDDStop() { + public EBRDDStop(String _name, Object _referenceObject) { + super(_name, _referenceObject); nbNext = 0; } diff --git a/src/req/ebrdd/ERB.java b/src/req/ebrdd/ERB.java index 082506139cc3ef3cf9fcc80f27a7f8ca845fd1a5..8b667702ed3864217d392144974633d1e8eedcec 100644 --- a/src/req/ebrdd/ERB.java +++ b/src/req/ebrdd/ERB.java @@ -52,7 +52,8 @@ public class ERB extends ERCElement { protected String evt, condition, action; - public ERB() { + public ERB(String _name, Object _referenceObject) { + super(_name, _referenceObject); } public void setEvent(String _evt) { diff --git a/src/req/ebrdd/ERCElement.java b/src/req/ebrdd/ERCElement.java index ec71bf3383431f6336ea790e2ae423603d6d77cf..5334b68e99fec620dde989d835046b9c22421301 100644 --- a/src/req/ebrdd/ERCElement.java +++ b/src/req/ebrdd/ERCElement.java @@ -50,7 +50,8 @@ import java.util.*; public abstract class ERCElement extends EBRDDGeneralComponent implements Cloneable { protected boolean negated; - public ERCElement() { + public ERCElement(String _name, Object _referenceObject) { + super(_name, _referenceObject); } public void setNegated(boolean _negated) { diff --git a/src/req/ebrdd/ESO.java b/src/req/ebrdd/ESO.java index 56676c27ed3d396dcbbeed610242889f0283a137..4ef1fd7700b406d7a4ee534b167c2f543a260e60 100644 --- a/src/req/ebrdd/ESO.java +++ b/src/req/ebrdd/ESO.java @@ -59,7 +59,8 @@ public class ESO extends ERCElement { private Vector indexes; - public ESO() { + public ESO(String _name, Object _referenceObject) { + super(_name, _referenceObject); sons = new ArrayList<ERCElement>(); indexes = new Vector(); } diff --git a/src/ui/EBRDDTranslator.java b/src/ui/EBRDDTranslator.java index 239a1dae613272711628bd11e73e54ad995dc2db..e25b79d45c362d47940578ef37c7324af7dea8ff 100755 --- a/src/ui/EBRDDTranslator.java +++ b/src/ui/EBRDDTranslator.java @@ -141,41 +141,44 @@ public class EBRDDTranslator { ERB erb; int i; + int cpt=0; + start = ebrdd.getStartState(); listE.addCor(start, tss); // Creation of other elements iterator = list.listIterator(); while(iterator.hasNext()) { + cpt++; tgc = (TGComponent)(iterator.next()); // Action if (tgc instanceof ui.ebrdd.EBRDDActionState) { - acst = new req.ebrdd.EBRDDActionState(); + acst = new req.ebrdd.EBRDDActionState("Action state"+cpt, tgc); acst.setAction(((ui.ebrdd.EBRDDActionState)tgc).getAction()); listE.addCor(acst, tgc); // Stop } else if (tgc instanceof ui.ebrdd.EBRDDStopState) { - stop = new req.ebrdd.EBRDDStop(); + stop = new req.ebrdd.EBRDDStop("Stop"+cpt, tgc); listE.addCor(stop, tgc); // Choice } else if (tgc instanceof ui.ebrdd.EBRDDChoice) { // guards are added later on - ch = new req.ebrdd.EBRDDChoice(); + ch = new req.ebrdd.EBRDDChoice("Choice"+cpt, tgc); listE.addCor(ch, tgc); // Sequence } else if (tgc instanceof ui.ebrdd.EBRDDSequence) { // guards are added later on - seq = new req.ebrdd.EBRDDSequence(); + seq = new req.ebrdd.EBRDDSequence("Sequence"+cpt, tgc); listE.addCor(seq, tgc); // Loop } else if (tgc instanceof ui.ebrdd.EBRDDForLoop) { // guards are added later on - loop = new req.ebrdd.EBRDDLoop(); + loop = new req.ebrdd.EBRDDLoop("Loop"+cpt, tgc); listE.addCor(loop, tgc); loop.setInit(((ui.ebrdd.EBRDDForLoop)tgc).getInit()); loop.setCondition(((ui.ebrdd.EBRDDForLoop)tgc).getCondition()); @@ -184,7 +187,7 @@ public class EBRDDTranslator { // ERC } else if (tgc instanceof ui.ebrdd.EBRDDERC) { // ERC's internal elements are built later on - erc = new req.ebrdd.EBRDDERC(); + erc = new req.ebrdd.EBRDDERC("ERC"+cpt, tgc); listE.addCor(erc, tgc); } } @@ -215,7 +218,7 @@ public class EBRDDTranslator { if (tgc1 instanceof ui.ebrdd.EBRDDESO) { System.out.println("ESO found"); esotgc = (ui.ebrdd.EBRDDESO)tgc1; - eso = new req.ebrdd.ESO(); + eso = new req.ebrdd.ESO("ESO"+cpt, esotgc); listE.addCor(eso, esotgc); eso.setID(esotgc.getID()); eso.setTimeout(esotgc.getTimeout()); @@ -227,7 +230,7 @@ public class EBRDDTranslator { } else if (tgc1 instanceof ui.ebrdd.EBRDDERB) { System.out.println("ERB found"); erbtgc = (ui.ebrdd.EBRDDERB)tgc1; - erb = new req.ebrdd.ERB(); + erb = new req.ebrdd.ERB("ERB" + cpt, erbtgc); listE.addCor(erb, erbtgc); erb.setEvent(erbtgc.getEvent()); erb.setAction(erbtgc.getAction()); @@ -349,7 +352,7 @@ public class EBRDDTranslator { } } else if (tgc instanceof ui.ebrdd.EBRDDForLoop) { loop = (req.ebrdd.EBRDDLoop)(listE.getEBRDDGeneralComponent(tgc)); - if (loop.realNbOfNext() != 2) { + if (loop.getNbNext() != 2) { CheckingError ce = new CheckingError(CheckingError.BEHAVIOR_ERROR, "Loop should have exactly two next elements"); ce.setTDiagramPanel(ebrddp); ce.setTGComponent(tgc);