diff --git a/src/main/java/tmltranslator/mutations/AddAttributeMutation.java b/src/main/java/tmltranslator/mutations/AddAttributeMutation.java index 202483a2f7af773740ddf50eb82977c97a590da7..14e119630b9d7baa306080718a1f05c3a7e03628 100644 --- a/src/main/java/tmltranslator/mutations/AddAttributeMutation.java +++ b/src/main/java/tmltranslator/mutations/AddAttributeMutation.java @@ -89,7 +89,7 @@ public class AddAttributeMutation extends AttributeMutation { String[] tokens = DiplodocusMutationParser.tokenise(toParse); AddAttributeMutation mutation = null; - int index = DiplodocusMutationParser.indexOf(tokens, "ATTRIBUTE"); + int index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.ATTRIBUTE); if (tokens.length <= index + 2) { throw new ParseDiplodocusMutationException("Missing attribute arguments. Expected format is add attribute type name[=val] in taskName"); } @@ -101,7 +101,7 @@ public class AddAttributeMutation extends AttributeMutation { "type is int or bool."); } - index = DiplodocusMutationParser.indexOf(tokens, "IN"); + index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.IN); if (tokens.length == index + 1 || index == -1) { throw new ParseDiplodocusMutationException("Missing task name. Expected format is add attribute type name[=val] in taskName"); } diff --git a/src/main/java/tmltranslator/mutations/AddDataConnectionMutation.java b/src/main/java/tmltranslator/mutations/AddDataConnectionMutation.java index 7f8bfdb1ca4102a1c9ea65999efd17012aba9ef5..829a8a23b3c2c855b7622f8fb2ea0a5d45de6b4e 100644 --- a/src/main/java/tmltranslator/mutations/AddDataConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/AddDataConnectionMutation.java @@ -74,13 +74,13 @@ public class AddDataConnectionMutation extends DataConnectionMutation{ channel.setOriginTask(_originTask); channel.setDestinationTask(_destinationTask); channel.setMax(8); - if (getConnectionSemantics() == "BRBW"){ + if (getConnectionSemantics() == DiplodocusMutationParser.BRBW){ channel.setType(TMLChannel.BRBW); } - if (getConnectionSemantics() == "BRNBW"){ + if (getConnectionSemantics() == DiplodocusMutationParser.BRNBW){ channel.setType(TMLChannel.BRNBW); } - if (getConnectionSemantics() == "NBRNBW"){ + if (getConnectionSemantics() == DiplodocusMutationParser.NBRNBW){ channel.setType(TMLChannel.NBRNBW); } if (size == -1){ @@ -101,7 +101,7 @@ public class AddDataConnectionMutation extends DataConnectionMutation{ AddDataConnectionMutation mutation = null; String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"BETWEEN"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.BETWEEN); if (tokens.length <= index + 3) { throw new ParseDiplodocusMutationException("Missing task name. Expected syntax is add data connection connectionName between " + "originTaskName and destinationTaskName"); @@ -109,26 +109,26 @@ public class AddDataConnectionMutation extends DataConnectionMutation{ String _originTaskName = tokens[index+1]; String _destinationTaskName = tokens[index+3]; - if (tokens[index-1].toUpperCase().equals("CONNECTION")){ + if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.CONNECTION)){ throw new ParseDiplodocusMutationException("Missing or invalid connection name. Expected syntax is add data connection connectionName " + "between originTaskName and destinationTaskName with connectionName != 'connection'"); } String _connectionName = tokens[index-1]; - index = DiplodocusMutationParser.indexOf(tokens, "DATA"); - if (tokens[index-1].toUpperCase().equals("ADD")){ - mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "BRBW"); - } else if (tokens[index-1].toUpperCase().equals("BRNBW")){ - mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "BRNBW"); - } else if (tokens[index-1].toUpperCase().equals("NBRNBW")){ - mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "NBRNBW"); - } else if (tokens[index-1].toUpperCase().equals("BRBW")){ + index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.DATA); + if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.ADD)){ + mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.BRBW); + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.BRNBW)){ + mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.BRNBW); + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.NBRNBW)){ + mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.NBRNBW); + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.BRBW)){ throw new ParseDiplodocusMutationException("Missing channel width. Expected syntax is add BRBW,integerValue data connection connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-2].toUpperCase().equals("BRBW") && tokens[index-1].equals(",")){ + } else if (tokens[index-2].toUpperCase().equals(DiplodocusMutationParser.BRBW) && tokens[index-1].equals(",")){ throw new ParseDiplodocusMutationException("Missing channel width. Expected syntax is add BRBW,integerValue data connection connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-3].toUpperCase().equals("BRBW") && tokens[index-2].equals(",") && isNumeric(tokens[index-1])){ - mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "BRBW", Integer.valueOf(tokens[index-1])); - } else if (tokens[index-3].toUpperCase().equals("BRBW") && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.BRBW) && tokens[index-2].equals(",") && isNumeric(tokens[index-1])){ + mutation = new AddDataConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.BRBW, Integer.valueOf(tokens[index-1])); + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.BRBW) && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ throw new ParseDiplodocusMutationException("Channel width must be an integer written with Arabic digits."); } diff --git a/src/main/java/tmltranslator/mutations/AddEventConnectionMutation.java b/src/main/java/tmltranslator/mutations/AddEventConnectionMutation.java index f1678393e005ca278a37357d37c8c57e12168308..c764278f249eff3c342034d1dc44e070c58cab6b 100644 --- a/src/main/java/tmltranslator/mutations/AddEventConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/AddEventConnectionMutation.java @@ -80,12 +80,12 @@ public class AddEventConnectionMutation extends EventConnectionMutation{ event.setOriginTask(_originTask); event.setDestinationTask(_destinationTask); - if (getConnectionSemantics() == "INFINITE"){ + if (getConnectionSemantics() == DiplodocusMutationParser.INFINITE){ event.setBlocking(false); event.setSizeFIFO(-1); - } else if (getConnectionSemantics() == "FINITEBLOCKING"){ + } else if (getConnectionSemantics() == DiplodocusMutationParser.FINITEBLOCKING){ event.setBlocking(true); - } else if (getConnectionSemantics() == "FINITENONBLOCKING"){ + } else if (getConnectionSemantics() == DiplodocusMutationParser.FINITENONBLOCKING){ event.setBlocking(false); } @@ -115,7 +115,7 @@ public class AddEventConnectionMutation extends EventConnectionMutation{ AddEventConnectionMutation mutation = null; String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"BETWEEN"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.BETWEEN); if (tokens.length <= index + 3) { throw new ParseDiplodocusMutationException("Missing task name. Expected syntax is add event connection connectionName between " + "originTaskName and destinationTaskName"); @@ -123,7 +123,7 @@ public class AddEventConnectionMutation extends EventConnectionMutation{ String _originTaskName = tokens[index+1]; String _destinationTaskName = tokens[index+3]; - if (tokens[index-1].toUpperCase().equals("CONNECTION")){ + if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.CONNECTION)){ throw new ParseDiplodocusMutationException("Missing or invalid connection name. Expected syntax is add event connection connectionName " + "between originTaskName and destinationTaskName with connectionName != 'connection'"); } @@ -139,30 +139,30 @@ public class AddEventConnectionMutation extends EventConnectionMutation{ _connectionName = tokens[index - 1]; } - index = DiplodocusMutationParser.indexOf(tokens, "EVENT"); - if (tokens[index-1].toUpperCase().equals("ADD")){ - mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "FINITEBLOCKING", 4); - } else if (tokens[index-1].toUpperCase().equals("INFINITE")){ - mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "INFINITE"); - } else if (tokens[index-1].toUpperCase().equals("FINITEBLOCKING")){ + index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.EVENT); + if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.ADD)){ + mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.FINITEBLOCKING, 4); + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.INFINITE)){ + mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.INFINITE); + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.FINITEBLOCKING)){ throw new ParseDiplodocusMutationException("Missing event width. Expected syntax is add finiteBlocking,integerValue event connection " + "connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-1].toUpperCase().equals("FINITENONBLOCKING")){ + } else if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.FINITENONBLOCKING)){ throw new ParseDiplodocusMutationException("Missing event width. Expected syntax is add finiteNonBlocking,integerValue event connection" + " connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-2].toUpperCase().equals("FINITEBLOCKING") && tokens[index-1].equals(",")){ + } else if (tokens[index-2].toUpperCase().equals(DiplodocusMutationParser.FINITEBLOCKING) && tokens[index-1].equals(",")){ throw new ParseDiplodocusMutationException("Missing event width. Expected syntax is add finiteBlocking,integerValue event connection " + "connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-2].toUpperCase().equals("FINITENONBLOCKING") && tokens[index-1].equals(",")){ + } else if (tokens[index-2].toUpperCase().equals(DiplodocusMutationParser.FINITENONBLOCKING) && tokens[index-1].equals(",")){ throw new ParseDiplodocusMutationException("Missing event width. Expected syntax is add finiteNonBlocking,integerValue event connection" + " connectionName between originTaskName and destinationTaskName"); - } else if (tokens[index-3].toUpperCase().equals("FINITEBLOCKING") && tokens[index-2].equals(",") && isNumeric(tokens[index-1])){ - mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "FINITEBLOCKING", Integer.valueOf(tokens[index-1])); - } else if (tokens[index-3].toUpperCase().equals("FINITEBLOCKING") && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.FINITEBLOCKING) && tokens[index-2].equals(",") && isNumeric(tokens[index-1])){ + mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.FINITEBLOCKING, Integer.valueOf(tokens[index-1])); + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.FINITEBLOCKING) && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ throw new ParseDiplodocusMutationException("Event width must be an integer written with Arabic digits."); - } else if (tokens[index-3].toUpperCase().equals("FINITENONBLOCKING") && tokens[index-2].equals(",") && isNumeric(tokens[index-1])) { - mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, "FINITENONBLOCKING", Integer.valueOf(tokens[index - 1])); - } else if (tokens[index-3].toUpperCase().equals("FINITENONBLOCKING") && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.FINITENONBLOCKING) && tokens[index-2].equals(",") && isNumeric(tokens[index-1])) { + mutation = new AddEventConnectionMutation(_originTaskName, _destinationTaskName, _connectionName, DiplodocusMutationParser.FINITENONBLOCKING, Integer.valueOf(tokens[index - 1])); + } else if (tokens[index-3].toUpperCase().equals(DiplodocusMutationParser.FINITENONBLOCKING) && tokens[index-2].equals(",") && !isNumeric(tokens[index-1])){ throw new ParseDiplodocusMutationException("Event width must be an integer written with Arabic digits."); } diff --git a/src/main/java/tmltranslator/mutations/AddRequestConnectionMutation.java b/src/main/java/tmltranslator/mutations/AddRequestConnectionMutation.java index 20d81fd55fe6586c58a75f3c29d252d862d1196f..5a4588d102b7402e5bf1451da4f7f81683c93147 100644 --- a/src/main/java/tmltranslator/mutations/AddRequestConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/AddRequestConnectionMutation.java @@ -95,7 +95,7 @@ public class AddRequestConnectionMutation extends RequestConnectionMutation { public static AddRequestConnectionMutation createFromString (String toParse) throws ParseDiplodocusMutationException { String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"BETWEEN"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.BETWEEN); if (tokens.length <= index + 3) { throw new ParseDiplodocusMutationException("Missing task name. Expected syntax is add request connection connectionName between " + "originTaskName and destinationTaskName"); @@ -103,7 +103,7 @@ public class AddRequestConnectionMutation extends RequestConnectionMutation { String _originTaskName = tokens[index+1]; String _destinationTaskName = tokens[index+3]; - if (tokens[index-1].toUpperCase().equals("CONNECTION")){ + if (tokens[index-1].toUpperCase().equals(DiplodocusMutationParser.CONNECTION)){ throw new ParseDiplodocusMutationException("Missing or invalid connection name. Expected syntax is add request connection " + "connectionName between originTaskName and destinationTaskName with connectionName != 'connection'"); } diff --git a/src/main/java/tmltranslator/mutations/AddTaskMutation.java b/src/main/java/tmltranslator/mutations/AddTaskMutation.java index 3a5ec45cac3786de95da316b4a510a9089f2e917..8c8d32bf9128c3cb9bf170df0b35193a6437b288 100644 --- a/src/main/java/tmltranslator/mutations/AddTaskMutation.java +++ b/src/main/java/tmltranslator/mutations/AddTaskMutation.java @@ -78,7 +78,7 @@ public class AddTaskMutation extends TaskMutation { public static AddTaskMutation createFromString(String toParse) throws ParseDiplodocusMutationException { String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens, "TASK"); + int index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.TASK); if (tokens.length == index + 1) { throw new ParseDiplodocusMutationException("Task name missing. Expected format is add task taskName"); } diff --git a/src/main/java/tmltranslator/mutations/AttributeMutation.java b/src/main/java/tmltranslator/mutations/AttributeMutation.java index 84ba80e05d50556d20cc3cad8654ea1ced43388a..563bd959703838f32da5f8a5efb084a49d822e4c 100644 --- a/src/main/java/tmltranslator/mutations/AttributeMutation.java +++ b/src/main/java/tmltranslator/mutations/AttributeMutation.java @@ -82,10 +82,10 @@ public abstract class AttributeMutation extends TaskMutation{ public static AttributeMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ switch (DiplodocusMutationParser.findMutationToken(toParse)){ - case "ADD": + case DiplodocusMutationParser.ADD: return AddAttributeMutation.createFromString(toParse); - case "RM": - case "REMOVE": + case DiplodocusMutationParser.RM: + case DiplodocusMutationParser.REMOVE: return RemoveAttributeMutation.createFromString(toParse); default: break; diff --git a/src/main/java/tmltranslator/mutations/CloneTaskMutation.java b/src/main/java/tmltranslator/mutations/CloneTaskMutation.java index 6571f8be6fb8837d92922386bb18bddaa3cce947..b8ccae0f9b36c7707e83c22d9445628302f13b53 100644 --- a/src/main/java/tmltranslator/mutations/CloneTaskMutation.java +++ b/src/main/java/tmltranslator/mutations/CloneTaskMutation.java @@ -92,13 +92,13 @@ public class CloneTaskMutation extends TaskMutation{ public static CloneTaskMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens, "TASK"); + int index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.TASK); if (tokens.length == index + 1) { throw new ParseDiplodocusMutationException("Task name missing. Expected format is clone task taskName in newTaskName"); } String _taskName = tokens[index + 1]; - index = DiplodocusMutationParser.indexOf(tokens,"IN"); + index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.IN); if (tokens.length == index + 1) { throw new ParseDiplodocusMutationException("New task name missing. Expected format is clone task taskName in newTaskName"); } diff --git a/src/main/java/tmltranslator/mutations/ConnectionMutation.java b/src/main/java/tmltranslator/mutations/ConnectionMutation.java index cdb0dc63c3c7e4402ff0176a04862aa246f6a420..fa5b4647c52970a012862f3f68d536ee1b361c3f 100644 --- a/src/main/java/tmltranslator/mutations/ConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/ConnectionMutation.java @@ -159,11 +159,11 @@ public abstract class ConnectionMutation extends DiplodocusMutation{ public static ConnectionMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ switch (DiplodocusMutationParser.findConnectionTypeToken(toParse)) { - case "DATA": + case DiplodocusMutationParser.DATA: return DataConnectionMutation.createFromString(toParse); - case "EVENT": + case DiplodocusMutationParser.EVENT: return EventConnectionMutation.createFromString(toParse); - case "REQUEST": + case DiplodocusMutationParser.REQUEST: return RequestConnectionMutation.createFromString(toParse); default: break; diff --git a/src/main/java/tmltranslator/mutations/DataConnectionMutation.java b/src/main/java/tmltranslator/mutations/DataConnectionMutation.java index 1ff289701db52d35197e8c1052a1d1a2d78d1f2f..6716893a4fc9a3c3f0a7acaab03be8a2857f1158 100644 --- a/src/main/java/tmltranslator/mutations/DataConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/DataConnectionMutation.java @@ -100,10 +100,10 @@ public abstract class DataConnectionMutation extends ConnectionMutation{ public static DataConnectionMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ switch (DiplodocusMutationParser.findMutationToken(toParse)) { - case "ADD": + case DiplodocusMutationParser.ADD: return AddDataConnectionMutation.createFromString(toParse); - case "RM": - case "REMOVE": + case DiplodocusMutationParser.RM: + case DiplodocusMutationParser.REMOVE: return RemoveDataConnectionMutation.createFromString(toParse); default: break; diff --git a/src/main/java/tmltranslator/mutations/DiplodocusMutation.java b/src/main/java/tmltranslator/mutations/DiplodocusMutation.java index b474a34b0ed6d2b0a034da8946a3523a5d8d3545..e989bdd433504bb74bc6e86103d6eb730c9f0d51 100644 --- a/src/main/java/tmltranslator/mutations/DiplodocusMutation.java +++ b/src/main/java/tmltranslator/mutations/DiplodocusMutation.java @@ -61,11 +61,11 @@ public abstract class DiplodocusMutation { toParse = toParse.trim(); switch (DiplodocusMutationParser.findElementToken(toParse)){ - case "TASK": + case DiplodocusMutationParser.TASK: return TaskMutation.createFromString(toParse); - case "ATTRIBUTE": + case DiplodocusMutationParser.ATTRIBUTE: return AttributeMutation.createFromString(toParse); - case "CONNECTION": + case DiplodocusMutationParser.CONNECTION: return ConnectionMutation.createFromString(toParse); } return null; diff --git a/src/main/java/tmltranslator/mutations/DiplodocusMutationParser.java b/src/main/java/tmltranslator/mutations/DiplodocusMutationParser.java index 5217f0596f2bc4029912625b926025d2fe34e8a5..871ceb0c98bf96256b4490b17e04dca57c5bb786 100644 --- a/src/main/java/tmltranslator/mutations/DiplodocusMutationParser.java +++ b/src/main/java/tmltranslator/mutations/DiplodocusMutationParser.java @@ -42,15 +42,41 @@ import java.util.UUID; public interface DiplodocusMutationParser { - public static final String[] MUTATION_TOKENS = {"ADD", "RM", "REMOVE", "MD", "MODIFY", "CLONE"}; - /*public static final String[] ELEMENT_TOKENS = {"ATTRIBUTE", "METHOD", "INPUT", "OUTPUT", "STATE", "ACTION", "RANDOM", "SET", "RESET", "EXPIRE" - , "TRANSITION", "CONNECTION", "LINK", "SIGNAL", "BLOCK"};*/ - public static final String[] ELEMENT_TOKENS = {"TASK", "CONNECTION", "PORT", "ATTRIBUTE"}; - public static final String[] CONNECTION_TYPE_TOKEN = {"DATA", "EVENT", "REQUEST"}; - public static final String[] INOUT_TOKENS = {"INPUT", "OUTPUT"}; - public static final String[] KEYWORD_TOKENS = {"IN", "FROM", "TO", "WITH", "AND", "LATENCY", "AT", "BETWEEN"}; - public static final String[] PUBLIC_TOKENS = {"PUBLIC", "PRIVATE"}; - public static final String[] SEMANTICS_TOKENS = {"BRBW", "BRNBW", "NBRNBW", "INFINITE"}; + public static final String ADD = "ADD"; + public static final String REMOVE = "REMOVE"; + public static final String RM = "RM"; + public static final String CLONE = "CLONE"; + public static final String MODIFY = "MODIFY"; + public static final String MD = "MD"; + public static final String TASK = "TASK"; + public static final String CONNECTION = "CONNECTION"; + public static final String PORT = "PORT"; + public static final String ATTRIBUTE = "ATTRIBUTE"; + public static final String DATA = "DATA"; + public static final String EVENT = "EVENT"; + public static final String REQUEST = "REQUEST"; + public static final String INPUT = "INPUT"; + public static final String OUTPUT = "OUTPUT"; + public static final String IN = "IN"; + public static final String FROM = "FROM"; + public static final String TO = "TO"; + public static final String AND = "AND"; + public static final String WITH = "WITH"; + public static final String AT = "AT"; + public static final String BETWEEN = "BETWEEN"; + public static final String BRBW = "BRBW"; + public static final String BRNBW = "BRNBW"; + public static final String NBRNBW = "NBRNBW"; + public static final String INFINITE = "INFINITE"; + public static final String FINITEBLOCKING = "FINITEBLOCKING"; + public static final String FINITENONBLOCKING = "FINITENONBLOCKING"; + + public static final String[] MUTATION_TOKENS = {ADD, RM, REMOVE, MD, MODIFY, CLONE}; + public static final String[] ELEMENT_TOKENS = {TASK, CONNECTION, PORT, ATTRIBUTE}; + public static final String[] CONNECTION_TYPE_TOKEN = {DATA, EVENT, REQUEST}; + public static final String[] INOUT_TOKENS = {INPUT, OUTPUT}; + public static final String[] KEYWORD_TOKENS = {IN, FROM, TO, WITH, AND, AT, BETWEEN}; + public static final String[] SEMANTICS_TOKENS = {BRBW, BRNBW, NBRNBW, INFINITE, FINITEBLOCKING, FINITENONBLOCKING}; public static final int UNDEFINED_TYPE = -1; public static final int NAME_TYPE = 0; @@ -159,14 +185,6 @@ public interface DiplodocusMutationParser { return findToken(str, KEYWORD_TOKENS); } - public static String findPublicToken(String[] arr) { - return findToken(arr, PUBLIC_TOKENS); - } - - public static String findPublicToken(String str) { - return findToken(str, PUBLIC_TOKENS); - } - public static String findSemanticsToken(String[] arr) { return findToken(arr, SEMANTICS_TOKENS); } diff --git a/src/main/java/tmltranslator/mutations/EventConnectionMutation.java b/src/main/java/tmltranslator/mutations/EventConnectionMutation.java index 6ef5eaee514b054a849351543659e7e41ec8808d..85432eaab8996adbe7b665a7fb352e33ff1b08c1 100644 --- a/src/main/java/tmltranslator/mutations/EventConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/EventConnectionMutation.java @@ -57,30 +57,6 @@ public abstract class EventConnectionMutation extends ConnectionMutation{ super(); } - /*public void setInfinite(boolean b){ - infinite = b; - } - - public boolean isInfinite(){ - return infinite; - } - - public void setFiniteBlocking(boolean b){ - finiteBlocking = b; - } - - public boolean isFiniteBlocking(){ - return finiteBlocking; - } - - public void isFiniteNonBlocking(boolean b){ - finiteNonBlocking = b; - } - - public boolean isFiniteNonBlocking(){ - return finiteNonBlocking; - }*/ - public TMLEvent getEventConnectionMutation(TMLModeling<?> _tmlModel){ List<TMLEvent> events = _tmlModel.getEvents(); String appName = ""; @@ -98,10 +74,10 @@ public abstract class EventConnectionMutation extends ConnectionMutation{ public static EventConnectionMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ switch (DiplodocusMutationParser.findMutationToken(toParse)) { - case "ADD": + case DiplodocusMutationParser.ADD: return AddEventConnectionMutation.createFromString(toParse); - case "RM": - case "REMOVE": + case DiplodocusMutationParser.RM: + case DiplodocusMutationParser.REMOVE: return RemoveEventConnectionMutation.createFromString(toParse); default: break; diff --git a/src/main/java/tmltranslator/mutations/RemoveAttributeMutation.java b/src/main/java/tmltranslator/mutations/RemoveAttributeMutation.java index a5c6cf352cff469a94882e7fa0e7840dac6bb085..d98f968f9f474bc577fc462868ffcc21187a220f 100644 --- a/src/main/java/tmltranslator/mutations/RemoveAttributeMutation.java +++ b/src/main/java/tmltranslator/mutations/RemoveAttributeMutation.java @@ -66,13 +66,13 @@ public class RemoveAttributeMutation extends AttributeMutation{ public static RemoveAttributeMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens, "ATTRIBUTE"); + int index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.ATTRIBUTE); if (tokens.length == index + 1) { throw new ParseDiplodocusMutationException("Missing attribute name. Expected format is remove attribute name in taskName"); } String _attributeName = tokens[index + 1]; - index = DiplodocusMutationParser.indexOf(tokens, "IN"); + index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.IN); if (tokens.length == index + 1 || index == -1) { throw new ParseDiplodocusMutationException("Missing task name. Expected format is remove attribute name in taskName"); } diff --git a/src/main/java/tmltranslator/mutations/RemoveDataConnectionMutation.java b/src/main/java/tmltranslator/mutations/RemoveDataConnectionMutation.java index bf711dc3bb0acc6dd59583f13880de6afa72456a..e5b7010841ce54e8cada217cdbc9c46d80f3f7a8 100644 --- a/src/main/java/tmltranslator/mutations/RemoveDataConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/RemoveDataConnectionMutation.java @@ -90,7 +90,7 @@ public class RemoveDataConnectionMutation extends DataConnectionMutation{ RemoveDataConnectionMutation mutation = null; String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"CONNECTION"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.CONNECTION); if (tokens.length == index+1) { throw new ParseDiplodocusMutationException("Connection name missing. Expected syntax is remove data connection connectionName."); } diff --git a/src/main/java/tmltranslator/mutations/RemoveEventConnectionMutation.java b/src/main/java/tmltranslator/mutations/RemoveEventConnectionMutation.java index 413b5c70d992159d10360742d208ad161f216cea..62d39da2b9783be4d6c3cd93def5cb5e97701dca 100644 --- a/src/main/java/tmltranslator/mutations/RemoveEventConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/RemoveEventConnectionMutation.java @@ -90,7 +90,7 @@ public class RemoveEventConnectionMutation extends EventConnectionMutation{ RemoveEventConnectionMutation mutation = null; String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"CONNECTION"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.CONNECTION); if (tokens.length == index+1) { throw new ParseDiplodocusMutationException("Connection name missing. Expected syntax is remove event connection connectionName."); } diff --git a/src/main/java/tmltranslator/mutations/RemoveRequestConnectionMutation.java b/src/main/java/tmltranslator/mutations/RemoveRequestConnectionMutation.java index 712eb1e0a3b5a5d0730513a8c826f221a5a99fe5..5cd3b3735ca63a5a0c7ee97f45e8d70e0fa3e885 100644 --- a/src/main/java/tmltranslator/mutations/RemoveRequestConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/RemoveRequestConnectionMutation.java @@ -87,7 +87,7 @@ public class RemoveRequestConnectionMutation extends RequestConnectionMutation { String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens,"CONNECTION"); + int index = DiplodocusMutationParser.indexOf(tokens,DiplodocusMutationParser.CONNECTION); if (tokens.length == index+1) { throw new ParseDiplodocusMutationException("Connection name missing. Expected syntax is remove event connection connectionName."); } diff --git a/src/main/java/tmltranslator/mutations/RemoveTaskMutation.java b/src/main/java/tmltranslator/mutations/RemoveTaskMutation.java index 5e11193fd78ed0b2b79a70f596b8a4c94ba6275c..14e43e6ea03dd35545b01ac43009628f6d96b5b0 100644 --- a/src/main/java/tmltranslator/mutations/RemoveTaskMutation.java +++ b/src/main/java/tmltranslator/mutations/RemoveTaskMutation.java @@ -60,7 +60,7 @@ public class RemoveTaskMutation extends TaskMutation { public static RemoveTaskMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ String[] tokens = DiplodocusMutationParser.tokenise(toParse); - int index = DiplodocusMutationParser.indexOf(tokens, "TASK"); + int index = DiplodocusMutationParser.indexOf(tokens, DiplodocusMutationParser.TASK); if (tokens.length == index + 1) { throw new ParseDiplodocusMutationException("Block name missing. Expected syntax is [remove task taskName]"); } diff --git a/src/main/java/tmltranslator/mutations/RequestConnectionMutation.java b/src/main/java/tmltranslator/mutations/RequestConnectionMutation.java index f449347fa476478b0315d7288d81dfeb020ae013..5419b2ef74fec16a267043e70b7dd7435e3fe41b 100644 --- a/src/main/java/tmltranslator/mutations/RequestConnectionMutation.java +++ b/src/main/java/tmltranslator/mutations/RequestConnectionMutation.java @@ -70,10 +70,10 @@ public abstract class RequestConnectionMutation extends ConnectionMutation { public static RequestConnectionMutation createFromString(String toParse) throws ParseDiplodocusMutationException{ switch (DiplodocusMutationParser.findMutationToken(toParse)) { - case "ADD": + case DiplodocusMutationParser.ADD: return AddRequestConnectionMutation.createFromString(toParse); - case "RM": - case "REMOVE": + case DiplodocusMutationParser.RM: + case DiplodocusMutationParser.REMOVE: return RemoveRequestConnectionMutation.createFromString(toParse); default: break; diff --git a/src/main/java/tmltranslator/mutations/TaskMutation.java b/src/main/java/tmltranslator/mutations/TaskMutation.java index 3b7d85348a302512fa46a47be301eaaddbf1dbb5..31e4dbfe4e47ec555019e650b4a15581f5bb7ee3 100644 --- a/src/main/java/tmltranslator/mutations/TaskMutation.java +++ b/src/main/java/tmltranslator/mutations/TaskMutation.java @@ -71,12 +71,12 @@ public abstract class TaskMutation extends DiplodocusMutation { public static TaskMutation createFromString(String toParse) throws ParseDiplodocusMutationException { switch (DiplodocusMutationParser.findMutationToken(toParse)){ - case "ADD": + case DiplodocusMutationParser.ADD: return AddTaskMutation.createFromString(toParse); - case "CLONE": + case DiplodocusMutationParser.CLONE: return CloneTaskMutation.createFromString(toParse); - case "RM": - case "REMOVE": + case DiplodocusMutationParser.RM: + case DiplodocusMutationParser.REMOVE: return RemoveTaskMutation.createFromString(toParse); } return null;