summaryrefslogtreecommitdiff
path: root/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java')
-rw-r--r--src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java
index fb1c1bc..285eeff 100644
--- a/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java
+++ b/src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java
@@ -2,7 +2,7 @@
* PlantUML : a free UML diagram generator
* ========================================================================
*
- * (C) Copyright 2009-2017, Arnaud Roques
+ * (C) Copyright 2009-2020, Arnaud Roques
*
* Project Info: http://plantuml.com
*
@@ -38,12 +38,14 @@ package net.sourceforge.plantuml.activitydiagram3.command;
import java.util.List;
import java.util.regex.Pattern;
+import net.sourceforge.plantuml.StringLocated;
import net.sourceforge.plantuml.StringUtils;
import net.sourceforge.plantuml.activitydiagram3.ActivityDiagram3;
import net.sourceforge.plantuml.command.BlocLines;
import net.sourceforge.plantuml.command.CommandExecutionResult;
import net.sourceforge.plantuml.command.CommandMultilines3;
import net.sourceforge.plantuml.command.MultilinesStrategy;
+import net.sourceforge.plantuml.command.regex.IRegex;
import net.sourceforge.plantuml.command.regex.MyPattern;
import net.sourceforge.plantuml.command.regex.RegexConcat;
import net.sourceforge.plantuml.command.regex.RegexLeaf;
@@ -61,23 +63,26 @@ public class CommandRepeatWhile3Multilines extends CommandMultilines3<ActivityDi
public RegexConcat getPatternEnd2() {
return new RegexConcat(//
new RegexLeaf("TEST1", "(.*)"), new RegexLeaf("\\)"), //
- new RegexLeaf(";?$"));
+ new RegexLeaf(";?"), //
+ RegexLeaf.end());
}
- static RegexConcat getRegexConcat() {
- return new RegexConcat(//
- new RegexLeaf("^"), //
- new RegexLeaf("repeat[%s]?while"), //
- new RegexLeaf("[%s]*"), //
+ static IRegex getRegexConcat() {
+ return RegexConcat.build(CommandRepeatWhile3Multilines.class.getName(), RegexLeaf.start(), //
+ new RegexLeaf("repeat"), //
+ RegexLeaf.spaceZeroOrMore(), //
+ new RegexLeaf("while"), //
+ RegexLeaf.spaceZeroOrMore(), //
new RegexLeaf("\\("), //
- new RegexLeaf("TEST1", "(.*)$"));
+ new RegexLeaf("TEST1", "(.*)"), //
+ RegexLeaf.end());
}
@Override
protected CommandExecutionResult executeNow(ActivityDiagram3 diagram, BlocLines lines) {
lines = lines.trim(false);
- final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499()));
- final RegexResult lineLast = getPatternEnd2().matcher(lines.getLast499().toString());
+ final RegexResult line0 = getStartingPattern().matcher(StringUtils.trin(lines.getFirst499().getString()));
+ final RegexResult lineLast = getPatternEnd2().matcher(lines.getLast499().getString());
// System.err.println("line0=" + line0);
// System.err.println("linesLast=" + lineLast);
@@ -87,8 +92,8 @@ public class CommandRepeatWhile3Multilines extends CommandMultilines3<ActivityDi
final String test = line0.get("TEST1", 0);
Display testDisplay = Display.getWithNewlines(test);
- for (CharSequence s : lines.subExtract(1, 1)) {
- testDisplay = testDisplay.add(s);
+ for (StringLocated s : lines.subExtract(1, 1)) {
+ testDisplay = testDisplay.add(s.getString());
}
final String trailTest = lineLast.get("TEST1", 0);
if (StringUtils.isEmpty(trailTest) == false) {