From a3c8fa34195ef87d40c55f3b602a57492e53600a Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Oct 2025 13:24:42 -0700 Subject: [PATCH] Issue 53840: Remove "Resolve Missing Lookup Values to Null" deprecated feature --- .../labkey/api/dataiterator/SimpleTranslator.java | 13 +------------ core/src/org/labkey/core/CoreModule.java | 5 ----- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/api/src/org/labkey/api/dataiterator/SimpleTranslator.java b/api/src/org/labkey/api/dataiterator/SimpleTranslator.java index 46641fde588..a015956b15c 100644 --- a/api/src/org/labkey/api/dataiterator/SimpleTranslator.java +++ b/api/src/org/labkey/api/dataiterator/SimpleTranslator.java @@ -121,7 +121,6 @@ */ public class SimpleTranslator extends AbstractDataIterator implements DataIterator, ScrollableDataIterator { - public static final String DEPRECATED_NULL_MISSING_VALUE_RESOLUTION = "deprecatedNullMissingValueResolution"; private static final Logger LOG = LogManager.getLogger(SimpleTranslator.class); /** @@ -1354,17 +1353,7 @@ private SimpleConvertColumn createConvertColumn(@NotNull ColumnInfo col, int fro { RemapMissingBehavior missing = remapMissingBehavior; if (missing == null) - { - if (OptionalFeatureService.get().isFeatureEnabled(DEPRECATED_NULL_MISSING_VALUE_RESOLUTION)) - { - // Issue 48347: if the lookup field has a "Lookup Validator", then treat the missing values as an error - boolean hasValidator = pd != null && pd.getValidators().stream().anyMatch(v -> PropertyValidatorType.Lookup.getLabel().equalsIgnoreCase(v.getName())); - - missing = col.isRequired() || hasValidator ? RemapMissingBehavior.Error : RemapMissingBehavior.Null; - } - else - missing = RemapMissingBehavior.Error; - } + missing = RemapMissingBehavior.Error; c = new RemappingConvertColumn(c, fromIndex, col, missing, true, lookupResolutionType); } diff --git a/core/src/org/labkey/core/CoreModule.java b/core/src/org/labkey/core/CoreModule.java index 6414f3b94f4..325523a11ad 100644 --- a/core/src/org/labkey/core/CoreModule.java +++ b/core/src/org/labkey/core/CoreModule.java @@ -87,7 +87,6 @@ import org.labkey.api.data.dialect.SqlDialectManager; import org.labkey.api.data.dialect.SqlDialectRegistry; import org.labkey.api.data.statistics.StatsService; -import org.labkey.api.dataiterator.SimpleTranslator; import org.labkey.api.exp.property.PropertyService; import org.labkey.api.exp.property.TestDomainKind; import org.labkey.api.external.tools.ExternalToolsViewService; @@ -546,10 +545,6 @@ public QuerySchema createSchema(DefaultSchema schema, Module module) "Restore Object-Level Discussions", "This option and all support for Object-Level Discussions will be removed in LabKey Server v25.11.", false, false, FeatureType.Deprecated)); - OptionalFeatureService.get().addFeatureFlag(new OptionalFeatureFlag(SimpleTranslator.DEPRECATED_NULL_MISSING_VALUE_RESOLUTION, - "Resolve Missing Lookup Values to Null", - "When Lookup Validation for a field is not selected and lookup by alternate key is enabled, resolves missing lookup values to null instead of throwing an error. This option will be removed in LabKey Server v25.11.", - false, false, OptionalFeatureService.FeatureType.Deprecated)); OptionalFeatureService.get().addFeatureFlag(new OptionalFeatureFlag(TabLoader.FEATUREFLAG_UNESCAPE_BACKSLASH, "Unescape backslash character on import", "Treat backslash '\\' character as an escape character when loading data from file.",