From c577142f485174580249d558c69b77372b876a71 Mon Sep 17 00:00:00 2001 From: Pablo Herrera Date: Mon, 20 May 2024 20:07:44 +0200 Subject: [PATCH] Fix & cleanup cloud 2.0 integration, use own fork Signed-off-by: Pablo Herrera --- .../command/parsers/MatchPlayerParser.java | 5 ++-- .../tc/oc/pgm/command/parsers/ParseUtils.java | 23 ------------------- .../oc/pgm/command/parsers/PartyParser.java | 2 +- .../pgm/command/parsers/RotationParser.java | 5 ++-- .../pgm/command/parsers/StringLikeParser.java | 6 ++--- .../oc/pgm/command/parsers/TeamsParser.java | 2 +- pom.xml | 5 +++- .../main/java/tc/oc/pgm/util/StringUtils.java | 2 +- 8 files changed, 14 insertions(+), 36 deletions(-) delete mode 100644 core/src/main/java/tc/oc/pgm/command/parsers/ParseUtils.java diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/MatchPlayerParser.java b/core/src/main/java/tc/oc/pgm/command/parsers/MatchPlayerParser.java index a91f411850..82c1e09ef9 100644 --- a/core/src/main/java/tc/oc/pgm/command/parsers/MatchPlayerParser.java +++ b/core/src/main/java/tc/oc/pgm/command/parsers/MatchPlayerParser.java @@ -13,15 +13,14 @@ public final class MatchPlayerParser implements ArgumentParser, - BlockingSuggestionProvider.Strings, - ParseUtils { + BlockingSuggestionProvider.Strings { private final PlayerParser parser = new PlayerParser(); @Override public @NotNull ArgumentParseResult<@NotNull MatchPlayer> parse( @NotNull CommandContext<@NotNull CommandSender> context, @NotNull CommandInput inputQueue) { - return map(parser.parse(context, inputQueue), PGM.get().getMatchManager()::getPlayer); + return parser.parse(context, inputQueue).mapParsedValue(PGM.get().getMatchManager()::getPlayer); } @Override diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/ParseUtils.java b/core/src/main/java/tc/oc/pgm/command/parsers/ParseUtils.java deleted file mode 100644 index 045efc77b3..0000000000 --- a/core/src/main/java/tc/oc/pgm/command/parsers/ParseUtils.java +++ /dev/null @@ -1,23 +0,0 @@ -package tc.oc.pgm.command.parsers; - -import java.util.function.Function; -import org.incendo.cloud.parser.ArgumentParseResult; - -public interface ParseUtils { - - default ArgumentParseResult flatMap( - ArgumentParseResult input, Function> mapper) { - return input - .parsedValue() - .map(mapper) - .orElseGet(() -> ArgumentParseResult.failure(input.failure().get())); - } - - default ArgumentParseResult map(ArgumentParseResult input, Function mapper) { - return input - .parsedValue() - .map(mapper) - .map(ArgumentParseResult::success) - .orElseGet(() -> ArgumentParseResult.failure(input.failure().get())); - } -} diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/PartyParser.java b/core/src/main/java/tc/oc/pgm/command/parsers/PartyParser.java index a98f025e4b..65bdb6b306 100644 --- a/core/src/main/java/tc/oc/pgm/command/parsers/PartyParser.java +++ b/core/src/main/java/tc/oc/pgm/command/parsers/PartyParser.java @@ -38,7 +38,7 @@ public ArgumentParseResult parse( if (text.equalsIgnoreCase("obs")) return success(match.getDefaultParty()); - return map(teamParser.parse(context, text), team -> team); + return teamParser.parse(context, text).mapParsedValue(team -> team); } @Override diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/RotationParser.java b/core/src/main/java/tc/oc/pgm/command/parsers/RotationParser.java index 276291cdee..0c8c0bc269 100644 --- a/core/src/main/java/tc/oc/pgm/command/parsers/RotationParser.java +++ b/core/src/main/java/tc/oc/pgm/command/parsers/RotationParser.java @@ -14,8 +14,7 @@ public final class RotationParser implements ArgumentParser, - BlockingSuggestionProvider.Strings, - ParseUtils { + BlockingSuggestionProvider.Strings { private final MapPoolParser POOL_PARSER = new MapPoolParser(); @@ -24,7 +23,7 @@ public final class RotationParser final @NonNull CommandContext context, final @NonNull CommandInput inputQueue) { context.set(CommandKeys.POOL_TYPE, MapPoolType.ORDERED); - return map(POOL_PARSER.parse(context, inputQueue), p -> (Rotation) p); + return POOL_PARSER.parse(context, inputQueue).mapParsedValue(p -> (Rotation) p); } @Override diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/StringLikeParser.java b/core/src/main/java/tc/oc/pgm/command/parsers/StringLikeParser.java index 797c3b0e29..4040499197 100644 --- a/core/src/main/java/tc/oc/pgm/command/parsers/StringLikeParser.java +++ b/core/src/main/java/tc/oc/pgm/command/parsers/StringLikeParser.java @@ -7,10 +7,11 @@ import org.incendo.cloud.parser.ArgumentParseResult; import org.incendo.cloud.parser.ArgumentParser; import org.incendo.cloud.parser.ParserParameters; +import org.incendo.cloud.parser.standard.StringParser; import org.jetbrains.annotations.NotNull; import tc.oc.pgm.util.StringUtils; -public abstract class StringLikeParser implements ArgumentParser, ParseUtils { +public abstract class StringLikeParser implements ArgumentParser { private final ArgumentParser stringParser; protected final ParserParameters options; @@ -27,8 +28,7 @@ public StringLikeParser(CommandManager manager, ParserParameters options) { @Override public @NotNull ArgumentParseResult parse( @NotNull CommandContext context, @NotNull CommandInput args) { - return flatMap( - stringParser.parse(context, args), + return stringParser.parse(context, args).flatMapParsedValue( text -> parse(context, StringUtils.suggestionToText(text))); } diff --git a/core/src/main/java/tc/oc/pgm/command/parsers/TeamsParser.java b/core/src/main/java/tc/oc/pgm/command/parsers/TeamsParser.java index ac4b6ce66b..3bcf1dbf73 100644 --- a/core/src/main/java/tc/oc/pgm/command/parsers/TeamsParser.java +++ b/core/src/main/java/tc/oc/pgm/command/parsers/TeamsParser.java @@ -45,7 +45,7 @@ public ArgumentParseResult> parse( return success(teams.getTeams()); } - return map(teamParser.parse(context, text), Collections::singleton); + return teamParser.parse(context, text).mapParsedValue(Collections::singleton); } @Override diff --git a/pom.xml b/pom.xml index ae284efc72..8f03b073d8 100644 --- a/pom.xml +++ b/pom.xml @@ -145,10 +145,13 @@ + + + org.incendo cloud-core - 2.0.0-rc.1 + 2.0.0-pgm-SNAPSHOT compile diff --git a/util/src/main/java/tc/oc/pgm/util/StringUtils.java b/util/src/main/java/tc/oc/pgm/util/StringUtils.java index 5690925dc3..73cb263539 100644 --- a/util/src/main/java/tc/oc/pgm/util/StringUtils.java +++ b/util/src/main/java/tc/oc/pgm/util/StringUtils.java @@ -108,7 +108,7 @@ public static String getSuggestion(String suggestion, String mustKeep) { suggestion = suggestion.substring(matchIdx + 1); } - return textToSuggestion(suggestion); + return mustKeep + textToSuggestion(suggestion); } public static String textToSuggestion(String text) {