diff options
Diffstat (limited to 'src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java')
-rw-r--r-- | src/net/sourceforge/plantuml/activitydiagram3/command/CommandRepeatWhile3Multilines.java | 29 |
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) { |