From e504bc23cfe601e4e414aac1aff54c8f3d69c67f Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 18 Jan 2024 17:30:44 +0100 Subject: [PATCH] [extensions] Improve IAE message thrown by FormFieldRegistry --- .../jivesoftware/smackx/formtypes/FormFieldRegistry.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/formtypes/FormFieldRegistry.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/formtypes/FormFieldRegistry.java index 5dda27842..9dae0e1d5 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/formtypes/FormFieldRegistry.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/formtypes/FormFieldRegistry.java @@ -94,7 +94,13 @@ public class FormFieldRegistry { } else { previousType = fieldNameToType.get(fieldName); if (previousType != null && previousType != fieldType) { - throw new IllegalArgumentException(); + String message = "The field '" + fieldName + "' from form type '" + formType + + "' was already registered with field type '" + previousType + + "' while it is now seen with type '" + fieldType + + "'. Form field types have to be unambigiously." + + " XMPP uses a registry for form field tpes, scoped by the form type." + + " You may find the correct value at https://xmpp.org/registrar/formtypes.html"; + throw new IllegalArgumentException(message); } } previousType = fieldNameToType.put(fieldName, fieldType);