From 9895db5a94471f30a75c74629d275bf0a91179bb Mon Sep 17 00:00:00 2001 From: Grabsky <44530932+Grabsky@users.noreply.github.com> Date: Wed, 15 May 2024 22:11:44 +0200 Subject: [PATCH 1/3] expose LocationParseException --- .../incendo/cloud/bukkit/parser/location/LocationParser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java index f853de95..7dffa259 100644 --- a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java +++ b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java @@ -252,10 +252,10 @@ private static float toRadians(final float degrees) { } - static class LocationParseException extends ParserException { + public static final class LocationParseExceptionLocationParseException extends ParserException { - protected LocationParseException( + public LocationParseException( final @NonNull CommandContext context, final @NonNull FailureReason reason, final @NonNull String input From c5464c1feeaaa386a9ee6c7d9b530f33836f2a44 Mon Sep 17 00:00:00 2001 From: Grabsky <44530932+Grabsky@users.noreply.github.com> Date: Wed, 15 May 2024 22:14:15 +0200 Subject: [PATCH 2/3] fix duplicated class name --- .../incendo/cloud/bukkit/parser/location/LocationParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java index 7dffa259..270c312f 100644 --- a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java +++ b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java @@ -252,7 +252,7 @@ private static float toRadians(final float degrees) { } - public static final class LocationParseExceptionLocationParseException extends ParserException { + public static final class LocationParseException extends ParserException { public LocationParseException( From 57fee80af625a5715ade4c9df7124522ca7c4743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Czopek?= <44530932+Grabsky@users.noreply.github.com> Date: Mon, 27 May 2024 21:19:30 +0200 Subject: [PATCH 3/3] fix compilation due to missing javadoc, add missing api, fix empty input for `MIXED_LOCAL_ABSOLUTE` reason --- .../parser/location/LocationParser.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java index 270c312f..ab2353d0 100644 --- a/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java +++ b/cloud-bukkit/src/main/java/org/incendo/cloud/bukkit/parser/location/LocationParser.java @@ -99,7 +99,7 @@ public final class LocationParser implements ArgumentParser, Blo ) ); } - + final CommandInput originalInput = commandInput.copy(); final LocationCoordinate[] coordinates = new LocationCoordinate[3]; for (int i = 0; i < 3; i++) { if (commandInput.peekString().isEmpty()) { @@ -147,7 +147,7 @@ public final class LocationParser implements ArgumentParser, Blo new LocationParseException( commandContext, LocationParseException.FailureReason.MIXED_LOCAL_ABSOLUTE, - "" + originalInput.remainingInput() ) ); } @@ -254,7 +254,16 @@ private static float toRadians(final float degrees) { public static final class LocationParseException extends ParserException { + private final String input; + private final FailureReason reason; + /** + * Construct a new LocationParseException + * + * @param context Command context + * @param reason Failure reason + * @param input Input + */ public LocationParseException( final @NonNull CommandContext context, final @NonNull FailureReason reason, @@ -266,6 +275,26 @@ public LocationParseException( reason.caption(), CaptionVariable.of("input", input) ); + this.input = input; + this.reason = reason; + } + + /** + * Get the supplied input + * + * @return String value + */ + public @NonNull String input() { + return this.input; + } + + /** + * Get the failure reason + * + * @return Failure reason + */ + public @NonNull FailureReason reason() { + return this.reason; }