diff --git a/Makefile b/Makefile index 74acc6d5111c0d7727cd1d86797809f8d21e33f1..d644430d18e95be6e17d3f109941c6e7ac3fa4fb 100755 --- a/Makefile +++ b/Makefile @@ -97,7 +97,7 @@ myrelease: basic launcher ttooljar basic: $(JAVAC) $(CLASSPATH) $(TTOOL_SRC) $(TTOOL_SRC)/*.java -jar: ttooljar +jar: launcher ttooljar ttooljar: rm -f $(TTOOL_BIN)/$(TTOOL_BINARY) diff --git a/src/tmltranslator/TMLCP.java b/src/tmltranslator/TMLCP.java index c5f947b14f3b3217df32abc42e293ab938df780c..02dd44cf3d74a5a4d7c0f14924fb2651e4aa753b 100755 --- a/src/tmltranslator/TMLCP.java +++ b/src/tmltranslator/TMLCP.java @@ -319,6 +319,13 @@ public class TMLCP extends TMLElement { } + public void removeADConnectors() { + mainCP.removeADConnectors(); + for(TMLCPActivityDiagram diag: otherCPs) { + diag.removeADConnectors(); + } + } + public void printDataStructure() { ArrayList<TMLCPActivityDiagram> CPlist = new ArrayList<TMLCPActivityDiagram>(); diff --git a/src/tmltranslator/tmlcp/TMLCPActivityDiagram.java b/src/tmltranslator/tmlcp/TMLCPActivityDiagram.java index 08ff0a9179d92c72675999ac80dba270e883dddc..2712d54cf00607b826a2125bb90241ba2494cd1f 100755 --- a/src/tmltranslator/tmlcp/TMLCPActivityDiagram.java +++ b/src/tmltranslator/tmlcp/TMLCPActivityDiagram.java @@ -264,11 +264,25 @@ public class TMLCPActivityDiagram extends TMLElement { if ((src != null) && (dest != null)) { src.addNextElement(dest); + if (src instanceof TMLCPChoice) { + ((TMLCPChoice)src).addGuard(((TMLCPConnector)tempElem).getGuard()); + } } } } - + } + + public void removeADConnectors() { + LinkedList<TMLCPElement> toBeRemoved = new LinkedList<TMLCPElement>(); + for(TMLCPElement tempElem: elements) { + if (tempElem instanceof TMLCPConnector) { + toBeRemoved.add(tempElem); + } + } + for(TMLCPElement tempElem: toBeRemoved) { + elements.remove(tempElem); + } } } //End of class diff --git a/src/tmltranslator/tmlcp/TMLCPChoice.java b/src/tmltranslator/tmlcp/TMLCPChoice.java index e99ab9d339281def3d6cd9827f6ac241bd7d753f..188e85c1f520846523dabff4c7f70d2d7a69ab70 100755 --- a/src/tmltranslator/tmlcp/TMLCPChoice.java +++ b/src/tmltranslator/tmlcp/TMLCPChoice.java @@ -53,7 +53,7 @@ import myutil.*; //The method is not very suited for the language, I should come back later... public class TMLCPChoice extends TMLCPElement { - private ArrayList<String> guards = new ArrayList<String>(); + private ArrayList<String> guards; public TMLCPChoice(String _name, ArrayList<String> _guards, Object _referenceObject) { super(_name, _referenceObject); @@ -63,6 +63,13 @@ public class TMLCPChoice extends TMLCPElement { /* public void addGuard( String _guard ) { nexts.add( new TMLCPElement( _guard, null ) ); }*/ + + public void addGuard(String _guard) { + if (guards == null) { + guards = new ArrayList<String>(); + } + guards.add(_guard); + } public ArrayList<String> getGuards() { return this.guards; diff --git a/src/ui/GTMLModeling.java b/src/ui/GTMLModeling.java index 300266f883b3ad99395ad4dd7c1193fb7f1d2a0a..24d1149f330ff653433c0440b22f72f4aa278d70 100755 --- a/src/ui/GTMLModeling.java +++ b/src/ui/GTMLModeling.java @@ -2198,6 +2198,7 @@ public class GTMLModeling { tmlcp.correctReferences(); tmlcp.generateNexts(); + tmlcp.removeADConnectors(); //tmlcp.splitADs(); } //End of method @@ -2281,7 +2282,8 @@ public class GTMLModeling { } if( component instanceof ui.tmlcp.TMLCPChoice ) { //TraceManager.addDev( k + component.getName() + "\t" + component.getValue() + "\t" + component.getY()); - choice = new tmltranslator.tmlcp.TMLCPChoice( component.getName(), ((ui.tmlcp.TMLCPChoice) component).getGuards(), component ); + // old way: adding guards choice = new tmltranslator.tmlcp.TMLCPChoice( component.getName(), ((ui.tmlcp.TMLCPChoice) component).getGuards(), component ); + choice = new tmltranslator.tmlcp.TMLCPChoice( component.getName(), null, component ); AD.addTMLCPElement( choice ); } if( component instanceof ui.tmlcp.TGConnectorTMLCP) {