svn commit: r18445 - trunk/src/argouml-app: src/org/argouml/i18n src/org/argouml/notation/providers/uml tests/org/argouml/notation/providers/uml

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.