Author: mvw Date: 2010-06-11 23:14:51-0700 New Revision: 18445 Modified: trunk/src/argouml-app/src/org/argouml/i18n/parsing.properties trunk/src/argouml-app/src/org/argouml/notation/providers/uml/TransitionNotationUml.java trunk/src/argouml-app/tests/org/argouml/notation/providers/uml/TestTransitionNotationUml.java
Log: Cover all cases AND issue 5983. Modified: trunk/src/argouml-app/src/org/argouml/i18n/parsing.properties Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/i18n/parsing.properties?view=diff&pathrev=18445&r1=18444&r2=18445 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/i18n/parsing.properties (original) +++ trunk/src/argouml-app/src/org/argouml/i18n/parsing.properties 2010-06-11 23:14:51-0700 @@ -198,6 +198,6 @@ parsing.error.operation.type-expr = Type cannot be an expression parsing.error.operation.unexpected-end-operation = Unexpected end of operation -parsing.error.transition.found-bracket-instead-slash = Found a ']' after a '/' +parsing.error.transition.found-bracket-instead-slash = Found a '/' within [ ] parsing.error.transition.no-matching-square-brackets = No matching brackets [] found. parsing.error.transition.no-matching-brackets = No matching brackets () found. Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/uml/TransitionNotationUml.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/uml/TransitionNotationUml.java?view=diff&pathrev=18445&r1=18444&r2=18445 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/notation/providers/uml/TransitionNotationUml.java (original) +++ trunk/src/argouml-app/src/org/argouml/notation/providers/uml/TransitionNotationUml.java 2010-06-11 23:14:51-0700 @@ -133,7 +133,7 @@ String msg = "parsing.error.transition.no-matching-square-brackets"; throw new ParseException(Translator.localize(msg), 0); } - if ((c >= 0) && (c < b)) { + if ((c >= 0) && (c < b) && (c > a) && (a > 0)) { String msg = "parsing.error.transition.found-bracket-instead-slash"; throw new ParseException(Translator.localize(msg), 0); } @@ -142,11 +142,6 @@ String eg = s1[0].trim(); String[] s2 = eg.split("\\[", 2); - if (s1.length > 1) { - if (s1[1].trim().length() > 0) { - parseEffect(trans, s1[1].trim()); - } - } if (s2[0].trim().length() > 0) { parseTrigger(trans, s2[0].trim()); } @@ -159,6 +154,11 @@ } } } + if (s1.length > 1) { + if (s1[1].trim().length() > 0) { + parseEffect(trans, s1[1].trim()); + } + } return trans; } Modified: trunk/src/argouml-app/tests/org/argouml/notation/providers/uml/TestTransitionNotationUml.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/tests/org/argouml/notation/providers/uml/TestTransitionNotationUml.java?view=diff&pathrev=18445&r1=18444&r2=18445 ============================================================================== --- trunk/src/argouml-app/tests/org/argouml/notation/providers/uml/TestTransitionNotationUml.java (original) +++ trunk/src/argouml-app/tests/org/argouml/notation/providers/uml/TestTransitionNotationUml.java 2010-06-11 23:14:51-0700 @@ -116,6 +116,10 @@ checkGenerated(aState, "[]/", false, false, false, false); checkGenerated(aState, "[ guard ]", false, true, false, false); checkGenerated(aState, "trigger()/", true, false, false, false); + checkGenerated(aState, "tr/i[gg]er", true, false, true, false); + // Inspired by issue 5983: + checkGenerated(aState, "ev1 / printf(\"got [i==1]\");", true, false, + true, false); } /** @@ -130,7 +134,6 @@ checkGenerated(aState, "trigger(/)", false, false, false, true); checkGenerated(aState, "tr]jhgf[ijh", false, false, false, true); checkGenerated(aState, "tr]/e", false, false, false, true); - checkGenerated(aState, "tr/i[gg]er", false, false, false, true); checkGenerated(aState, "tri[g/g]er", false, false, false, true); } ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2619946 To unsubscribe from this discussion, e-mail: [[email protected]].
