From 852aa65b622e265f9e56bb79a7f26b4c84511a8d Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Fri, 27 Jun 2025 14:42:46 -0700 Subject: [PATCH 1/3] Make `FieldKey.fromFieldKey` return null for invalid Strings --- src/org/labkey/test/params/FieldKey.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/params/FieldKey.java b/src/org/labkey/test/params/FieldKey.java index 1469033737..16bae7f5c8 100644 --- a/src/org/labkey/test/params/FieldKey.java +++ b/src/org/labkey/test/params/FieldKey.java @@ -2,6 +2,7 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Arrays; @@ -65,7 +66,7 @@ public static FieldKey fromParts(String... parts) * @param fieldKey String or FieldKey * @return FieldKey representation of the String, or the identity if a FieldKey was provided */ - public static FieldKey fromFieldKey(CharSequence fieldKey) + public static @Nullable FieldKey fromFieldKey(CharSequence fieldKey) { if (fieldKey instanceof WrapsFieldKey fk) { @@ -73,7 +74,14 @@ public static FieldKey fromFieldKey(CharSequence fieldKey) } else { - return fromParts(Arrays.stream(fieldKey.toString().split(SEPARATOR)).map(FieldKey::decodePart).toList()); + try + { + return fromParts(Arrays.stream(fieldKey.toString().split(SEPARATOR)).map(FieldKey::decodePart).toList()); + } + catch (IllegalArgumentException iae) + { + return null; + } } } From 751c8059289c0540e9f6ef46df562a4f4ffbf55e Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Fri, 27 Jun 2025 15:26:51 -0700 Subject: [PATCH 2/3] Add explanation --- src/org/labkey/test/params/FieldKey.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/params/FieldKey.java b/src/org/labkey/test/params/FieldKey.java index 16bae7f5c8..62334301bd 100644 --- a/src/org/labkey/test/params/FieldKey.java +++ b/src/org/labkey/test/params/FieldKey.java @@ -80,7 +80,7 @@ public static FieldKey fromParts(String... parts) } catch (IllegalArgumentException iae) { - return null; + return null; // FieldRefernceManager depends on this returning null. } } } From e8c0accc66007523c86827947a6e49ca3d7b71fd Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Fri, 27 Jun 2025 15:27:23 -0700 Subject: [PATCH 3/3] Fix typo --- src/org/labkey/test/params/FieldKey.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/params/FieldKey.java b/src/org/labkey/test/params/FieldKey.java index 62334301bd..eb3100a331 100644 --- a/src/org/labkey/test/params/FieldKey.java +++ b/src/org/labkey/test/params/FieldKey.java @@ -80,7 +80,7 @@ public static FieldKey fromParts(String... parts) } catch (IllegalArgumentException iae) { - return null; // FieldRefernceManager depends on this returning null. + return null; // FieldReferenceManager depends on this returning null. } } }