diff --git a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java index b3d9f7b..25f1d71 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/Parser.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/Parser.java @@ -380,9 +380,10 @@ * @param token * @param specificTokenName */ - protected Boolean isMatchSpecificToken(final String token, final String specificToken) { + protected Boolean isMatchKeyword(final String token, final String specificTokenName) { if(token == null) return false; - return (token.equals(specificToken)); + if(specificTokenName == null) return false; + return token.equals(specificTokenName); } /**-------------------------------------------------------------------------------- diff --git a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java index 18bbd9b..584792a 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAM.java @@ -31,13 +31,13 @@ public class ParserDTRAM extends Parser { - private static final String MODEL_GROUP_KEYWORD = "model"; - private static final String GEOMETRY_GROUP_KEYWORD = "geometry"; - private static final String NODE_KEYWORD = "node"; - private static final String RESOURCE_NODE_KEYWORD = "r"; - private static final String CHANNEL_NODE_KEYWORD = "c"; - private static final String FORMULA_CHANNEL_NODE_KEYWORD = "fc"; - private static final String IO_CHANNEL_NODE_KEYWORD = "ioc"; + private static final String MODEL_GROUP = "model"; + private static final String GEOMETRY_GROUP = "geometry"; + private static final String GEOMETORY_NODE = "node"; + private static final String RESOURCE_NODE = "r"; + private static final String CHANNEL_NODE = "c"; + private static final String FORMULA_CHANNEL_NODE = "fc"; + private static final String IO_CHANNEL_NODE = "ioc"; /**-------------------------------------------------------------------------------- * [Constructor] @@ -90,7 +90,7 @@ if (!stream.hasNext()) throw new NullPointerException(); String modelKeyword = stream.next(); - if (!modelKeyword.equals(MODEL_GROUP_KEYWORD)) throw new ExpectedModel(stream.getLine()); + if (!modelKeyword.equals(MODEL_GROUP)) throw new ExpectedModel(stream.getLine()); if (!stream.hasNext()) throw new ExpectedModel(stream.getLine()); String leftBracket = stream.next(); @@ -112,44 +112,38 @@ private void parseGeometry(final mxGraph graph) throws ExpectedRightBracket, ExpectedChannel, ExpectedChannelName, ExpectedLeftCurlyBracket, ExpectedInOrOutOrRefKeyword, ExpectedStateTransition, ExpectedEquals, ExpectedRHSExpression, WrongLHSExpression, WrongRHSExpression, ExpectedAssignment,ExpectedModel, ExpectedGeometry, ExpectedNode, ExpectedResource, ExpectedFormulaChannel, ExpectedIoChannel { - String geometoryToken = stream.next(); - if(!geometoryToken.equals(GEOMETRY_GROUP_KEYWORD)) throw new ExpectedGeometry(stream.getLine()); + if (!isMatchKeyword(stream.next(), GEOMETRY_GROUP)) throw new ExpectedGeometry(stream.getLine()); - String leftCurlyBracketToken = stream.next(); - if(!leftCurlyBracketToken.equals(LEFT_CURLY_BRACKET)) throw new ExpectedLeftCurlyBracket(stream.getLine()); + if (!isMatchKeyword(stream.next(), LEFT_CURLY_BRACKET)) throw new ExpectedLeftCurlyBracket(stream.getLine()); String node = stream.next(); - while (node.equals(NODE_KEYWORD)) { + while (node.equals(GEOMETORY_NODE)) { String rOrFcOrIocOrC = stream.next(); - if(!rOrFcOrIocOrC.equals(RESOURCE_NODE_KEYWORD) - && !rOrFcOrIocOrC.equals(FORMULA_CHANNEL_NODE_KEYWORD) - && !rOrFcOrIocOrC.equals(CHANNEL_NODE_KEYWORD) - && !rOrFcOrIocOrC.equals(IO_CHANNEL_NODE_KEYWORD)) + if (!rOrFcOrIocOrC.equals(RESOURCE_NODE) + && !rOrFcOrIocOrC.equals(FORMULA_CHANNEL_NODE) + && !rOrFcOrIocOrC.equals(CHANNEL_NODE) + && !rOrFcOrIocOrC.equals(IO_CHANNEL_NODE)) throw new ExpectedNode(stream.getLine()); String name = stream.next(); - String colonToken = stream.next(); - if(!colonToken.equals(COLON)) throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), COLON)) throw new ExpectedAssignment(stream.getLine()); String x = stream.next(); int xC = Integer.parseInt(x); // C = Coordinate(x,y,w,h) - String commaToken = stream.next(); - if(!commaToken.equals(COMMA))throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), COMMA))throw new ExpectedAssignment(stream.getLine()); String y = stream.next(); int yC = Integer.parseInt(y); - commaToken = stream.next(); - if(!commaToken.equals(COMMA))throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), COMMA))throw new ExpectedAssignment(stream.getLine()); String w = stream.next(); int wC = Integer.parseInt(w); - commaToken = stream.next(); - if(!commaToken.equals(COMMA))throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), COMMA))throw new ExpectedAssignment(stream.getLine()); String h = stream.next(); int hC = Integer.parseInt(h); @@ -174,7 +168,7 @@ node = stream.next(); } - if(!node.equals(RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); + if (!node.equals(RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); } } diff --git a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAMForWebService.java b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAMForWebService.java index 37ad830..ae11f05 100644 --- a/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAMForWebService.java +++ b/AlgebraicDataflowArchitectureModel/src/parser/ParserDTRAMForWebService.java @@ -19,10 +19,10 @@ */ public class ParserDTRAMForWebService extends ParserDTRAM { - private static final String SERVICES_GROUP_KEYWORD = "services"; - private static final String SERVICE_GROUP_KEYWORD = "service"; - private static final String BASE_URL_OPTION_KEYWORD = "baseURL"; - private static final String RESOURCES_OPTION_KEYWORD = "resources"; + private static final String SERVICES_GROUP = "services"; + private static final String SERVICE_GROUP = "service"; + private static final String BASE_URL_OPTION = "baseURL"; + private static final String RESOURCES_OPTION = "resources"; /**-------------------------------------------------------------------------------- * [constructor] @@ -70,43 +70,43 @@ ExpectedWebService, ExpectedBaseURL, ExpectedResources, ExpectedLeftCurlyBracket, ExpectedRightBracket, ExpectedAssignment { - if(!isMatchSpecificToken(stream.next(), SERVICES_GROUP_KEYWORD )) throw new ExpectedWebService(stream.getLine()); - if(!isMatchSpecificToken(stream.next(), LEFT_CURLY_BRACKET))throw new ExpectedLeftCurlyBracket(stream.getLine()); + if (!isMatchKeyword(stream.next(), SERVICES_GROUP )) throw new ExpectedWebService(stream.getLine()); + if (!isMatchKeyword(stream.next(), LEFT_CURLY_BRACKET)) throw new ExpectedLeftCurlyBracket(stream.getLine()); String serviceTokenNode = stream.next(); - while(isMatchSpecificToken(serviceTokenNode, SERVICE_GROUP_KEYWORD)) { + while (isMatchKeyword(serviceTokenNode, SERVICE_GROUP)) { String serviceName = stream.next(); // it gets a service name here. - if(!isMatchSpecificToken(stream.next(), LEFT_CURLY_BRACKET))throw new ExpectedLeftCurlyBracket(stream.getLine()); - if(!isMatchSpecificToken(stream.next(), BASE_URL_OPTION_KEYWORD)) throw new ExpectedBaseURL(stream.getLine()); - if(!isMatchSpecificToken(stream.next(), COLON)) throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), LEFT_CURLY_BRACKET)) throw new ExpectedLeftCurlyBracket(stream.getLine()); + if (!isMatchKeyword(stream.next(), BASE_URL_OPTION)) throw new ExpectedBaseURL(stream.getLine()); + if (!isMatchKeyword(stream.next(), COLON)) throw new ExpectedAssignment(stream.getLine()); String baseURL = stream.next(); // it gets a service's base URL here. - if(!isMatchSpecificToken(stream.next(), RESOURCES_OPTION_KEYWORD))throw new ExpectedResources(stream.getLine()); - if(!isMatchSpecificToken(stream.next(), COLON))throw new ExpectedAssignment(stream.getLine()); + if (!isMatchKeyword(stream.next(), RESOURCES_OPTION)) throw new ExpectedResources(stream.getLine()); + if (!isMatchKeyword(stream.next(), COLON)) throw new ExpectedAssignment(stream.getLine()); // get specific resources from DataFlowModel. Service service = new Service(serviceName, baseURL); - while(true) { + while (true) { // generate here. String resourceName = stream.next(); IdentifierTemplate identifierTemplate = model.getIdentifierTemplate(resourceName); service = service.addIdentifireTemplate(identifierTemplate); - if(!isMatchSpecificToken(stream.checkNext(), COMMA)) break; + if (!isMatchKeyword(stream.checkNext(), COMMA)) break; stream.next(); // advance to next token } editor.addWebService(service); // reflect to instance of "WebServiceEditor". - if(!isMatchSpecificToken(stream.next(), RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); + if (!isMatchKeyword(stream.next(), RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); serviceTokenNode = stream.next(); // here stores "}" token. } - if(!isMatchSpecificToken(serviceTokenNode, RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); + if (!isMatchKeyword(serviceTokenNode, RIGHT_CURLY_BRACKET)) throw new ExpectedRightBracket(stream.getLine()); } }