1
package dk.aau.cs.TCTL.visitors;
3
import java.util.ArrayList;
4
import java.util.HashSet;
6
import dk.aau.cs.TCTL.TCTLAbstractProperty;
7
import dk.aau.cs.TCTL.TCTLTransitionNode;
8
import dk.aau.cs.util.Tuple;
10
public class VerifyTransitionNamesVisitor extends VisitorBase {
11
private ArrayList<Tuple<String, String>> templateTransitionNames;
13
public VerifyTransitionNamesVisitor(ArrayList<Tuple<String, String>> templateTransitionNames) {
14
this.templateTransitionNames = templateTransitionNames;
17
public Context verifyTransitionNames(TCTLAbstractProperty query) {
18
Context c = new Context();
20
query.accept(this, c);
25
public void visit(TCTLTransitionNode transitionNode, Object context) {
26
Context c = (Context) context;
27
if (!templateTransitionNames.contains(new Tuple<String,String>(transitionNode.getTemplate(), transitionNode.getTransition()))) {
28
String temp = transitionNode.getTemplate() != "" ? transitionNode.getTemplate() + "." : "";
29
c.addIncorrectTransitionName(temp + transitionNode.getTransition());
35
public class Context {
36
private Boolean result;
37
private HashSet<String> incorrectTransitionNames;
39
public Boolean getResult() {
43
public void setResult(Boolean result) {
47
public HashSet<String> getIncorrectTransitionNames() {
48
return incorrectTransitionNames;
51
public void addIncorrectTransitionName(String incorrectTransitionName) {
52
incorrectTransitionNames.add(incorrectTransitionName);
57
incorrectTransitionNames = new HashSet<String>();