fix: minor issue about Gantt D+00 syntax

This commit is contained in:
Arnaud Roques 2023-11-23 20:11:10 +01:00
parent 8b5a1521e7
commit 422c74eba4
4 changed files with 68 additions and 9 deletions

View File

@ -40,10 +40,10 @@ import net.sourceforge.plantuml.project.GanttDiagram;
import net.sourceforge.plantuml.project.Load;
import net.sourceforge.plantuml.project.core.Task;
public class SentenceLasts extends SentenceSimple {
public class SentenceRequire extends SentenceSimple {
public SentenceLasts() {
super(SubjectTask.ME, Verbs.lasts, new ComplementSeveralDays());
public SentenceRequire() {
super(SubjectTask.ME, Verbs.requires, new ComplementSeveralDays());
}
@Override

View File

@ -0,0 +1,58 @@
/* ========================================================================
* PlantUML : a free UML diagram generator
* ========================================================================
*
* (C) Copyright 2009-2024, Arnaud Roques
*
* Project Info: https://plantuml.com
*
* If you like this project or if you find it useful, you can support us at:
*
* https://plantuml.com/patreon (only 1$ per month!)
* https://plantuml.com/paypal
*
* This file is part of PlantUML.
*
* PlantUML is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PlantUML distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
*
* Original Author: Arnaud Roques
*
*
*/
package net.sourceforge.plantuml.project.lang;
import net.sourceforge.plantuml.command.CommandExecutionResult;
import net.sourceforge.plantuml.project.GanttDiagram;
import net.sourceforge.plantuml.project.core.Task;
import net.sourceforge.plantuml.project.time.Day;
public class SentenceTaskEndsOnlyRelative extends SentenceSimple {
public SentenceTaskEndsOnlyRelative() {
super(SubjectTask.ME, Verbs.ends2, ComplementDate.onlyRelative());
}
@Override
public CommandExecutionResult execute(GanttDiagram project, Object subject, Object complement) {
final Task task = (Task) subject;
final Day end = (Day) complement;
task.setEnd(end);
return CommandExecutionResult.ok();
}
}

View File

@ -80,12 +80,13 @@ public class SubjectTask implements Subject {
}
public Collection<? extends SentenceSimple> getSentences() {
return Arrays.asList(new SentenceLasts(), new SentenceTaskStarts(), new SentenceTaskStartsWithColor(),
return Arrays.asList(new SentenceRequire(), new SentenceTaskStarts(), new SentenceTaskStartsWithColor(),
new SentenceTaskStartsOnlyRelative(), new SentenceTaskStartsAbsolute(), new SentenceHappens(),
new SentenceHappensDate(), new SentenceEnds(), new SentenceTaskEndsAbsolute(), new SentenceIsColored(),
new SentenceIsColoredForCompletion(), new SentenceIsDeleted(), new SentenceIsForTask(),
new SentenceLinksTo(), new SentenceOccurs(), new SentenceDisplayOnSameRowAs(), new SentencePausesDate(),
new SentencePausesDates(), new SentencePausesDayOfWeek());
new SentenceHappensDate(), new SentenceEnds(), new SentenceTaskEndsOnlyRelative(),
new SentenceTaskEndsAbsolute(), new SentenceIsColored(), new SentenceIsColoredForCompletion(),
new SentenceIsDeleted(), new SentenceIsForTask(), new SentenceLinksTo(), new SentenceOccurs(),
new SentenceDisplayOnSameRowAs(), new SentencePausesDate(), new SentencePausesDates(),
new SentencePausesDayOfWeek());
}
public IRegex toRegex() {

View File

@ -108,7 +108,7 @@ public class Verbs {
public static IRegex isOrAreNamed = new RegexLeaf("(is|are)[%s]+named");
public static IRegex lasts = new RegexLeaf("(lasts|requires)");
public static IRegex requires = new RegexLeaf("(lasts|requires?)");
public static IRegex linksTo = new RegexLeaf("links to");