From 10e833a28dd0ebe1152a059576eeba48019440ef Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Sat, 25 Jan 2020 01:10:25 -0500 Subject: [PATCH] more meta --- .../wizard/model/SqlDefaultSearchField.java | 4 +++- .../model/entityconfig/EntityFieldType.java | 20 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/wizard-common/src/main/java/org/cobbzilla/wizard/model/SqlDefaultSearchField.java b/wizard-common/src/main/java/org/cobbzilla/wizard/model/SqlDefaultSearchField.java index 3e4b47b..4282731 100644 --- a/wizard-common/src/main/java/org/cobbzilla/wizard/model/SqlDefaultSearchField.java +++ b/wizard-common/src/main/java/org/cobbzilla/wizard/model/SqlDefaultSearchField.java @@ -90,7 +90,9 @@ public class SqlDefaultSearchField implements SearchField { bounds.addAll(asList(bindUuid(name()))); break; case http_url: case us_phone: case us_state: case us_zip: - case email: case time_zone: case locale: case ip4: case ip6: + case email: case time_zone: case locale: case currency: + case ip4: case ip6: case hostname: case fqdn: + case error: case opaque_string: bounds.addAll(asList(bindNonSortableString(name()))); break; case string: diff --git a/wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityFieldType.java b/wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityFieldType.java index 1e68819..1491fd9 100644 --- a/wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityFieldType.java +++ b/wizard-common/src/main/java/org/cobbzilla/wizard/model/entityconfig/EntityFieldType.java @@ -33,6 +33,9 @@ public enum EntityFieldType { /** a string of characters where comparisons like lt/le/gt/ge are not useful */ opaque_string (new EntityConfigFieldValidator_string()), + /** an error/exception string */ + error (new EntityConfigFieldValidator_string()), + /** a string containing an email address */ email (new EntityConfigFieldValidator_email()), @@ -96,12 +99,21 @@ public enum EntityFieldType { /** a locale (for example en_US) */ locale (null), + /** a 3-letter currency code (for example USD) */ + currency (null), + /** an IPv4 address */ ip4 (null), /** an IPv6 address */ ip6 (null), + /** a hostname */ + hostname (null), + + /** a fully-qualified domain name */ + fqdn (null), + /** a 2-letter US state abbreviation */ us_state (null), @@ -180,14 +192,18 @@ public enum EntityFieldType { return integer; case "char": case "java.lang.Character": + return string; case "java.lang.String": if (name.equals(UUID) || name.equals("description") || name.endsWith("Class") || name.endsWith("ClassName") - || name.equals("host") || name.endsWith("Host") || name.equals("fqdn") || name.equals("json") || name.endsWith("Json")) return opaque_string; + if (name.equals(currency.name())) return currency; if (name.equals(locale.name())) return locale; - if (name.equals(time_zone.name()) || name.equals("timezone")) return time_zone; + if (name.equals(fqdn.name())) return fqdn; + if (name.equals(hostname.name()) || name.equals("host") || name.endsWith("Host")) return hostname; + if (name.equals(time_zone.name()) || name.toLowerCase().equals("timezone")) return time_zone; + if (name.equals(error.name()) || name.equals("exception")) return error; if (name.equals("url")) return http_url; return string; case "float":