You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OptionalFeatureFlag(Stringflag, Stringtitle, Stringdescription, booleanrequiresRestart, booleanhidden, FeatureTypetype, booleanuseDumbName/* true means allow a name that can't be used as a startup property name */)
26
32
{
27
33
_flag = flag;
28
34
_title = title;
29
35
_description = description;
30
36
_requiresRestart = requiresRestart;
31
37
_hidden = hidden;
32
38
_type = type;
39
+
if (!StringUtilsLabKey.isValidJavaIdentifier(_flag))
40
+
{
41
+
if (useDumbName)
42
+
{
43
+
_propertyName = null;
44
+
}
45
+
else
46
+
{
47
+
thrownewIllegalStateException(_flag + " is not a valid Java identifier. Correct it so it can be used as a startup property. Or set useDumbName to true.");
48
+
}
49
+
}
50
+
else
51
+
{
52
+
_propertyName = _flag;
53
+
}
33
54
}
34
55
35
56
publicStringgetFlag()
@@ -83,14 +104,6 @@ public FeatureType getType()
83
104
@Override
84
105
publicStringgetPropertyName()
85
106
{
86
-
Stringname = getFlag();
87
-
if (!StringUtilsLabKey.isValidJavaIdentifier(name))
88
-
{
89
-
// This is a developer thing... no need to log a warning on production deployments
90
-
if (AppProps.getInstance().isDevMode())
91
-
LOG.warn("Feature flag name doesn't conform to the property name rules so it won't be available as a startup property: {}", name);
"SQLFragment now has very strict usage validation, these checks may cause errors in code that has not been updated. Turn on this feature to disable checks.", false);
538
+
"SQLFragment now has very strict usage validation, these checks may cause errors in code that has not been updated. Turn on this feature to disable checks.", false, true);
"By default LabKey disables all framing of login related actions. Disabling this feature will revert to using the standard site settings.", false);
540
+
"By default LabKey disables all framing of login related actions. Disabling this feature will revert to using the standard site settings.", false, true);
OptionalFeatureService.get().addExperimentalFeatureFlag(AppProps.EXPERIMENTAL_RESOLVE_PROPERTY_URI_COLUMNS, "Resolve property URIs as columns on experiment tables",
265
-
"If a column is not found on an experiment table, attempt to resolve the column name as a Property URI and add it as a property column", false);
265
+
"If a column is not found on an experiment table, attempt to resolve the column name as a Property URI and add it as a property column", false, true);
266
266
if (CoreSchema.getInstance().getSqlDialect().isSqlServer())
267
267
{
268
268
OptionalFeatureService.get().addExperimentalFeatureFlag(NameGenerator.EXPERIMENTAL_WITH_COUNTER, "Use strict incremental withCounter and rootSampleCount expression",
"Support for querying lineage of experiment objects", false);
285
+
"Support for querying lineage of experiment objects", false, true);
286
286
OptionalFeatureService.get().addExperimentalFeatureFlag(SampleTypeUpdateServiceDI.EXPERIMENTAL_FEATURE_ALLOW_ROW_ID_SAMPLE_MERGE, "Allow RowId to be accepted when merging samples",
287
-
"If the incoming data includes a RowId column we will allow the column but ignore it's values.", false);
287
+
"If the incoming data includes a RowId column we will allow the column but ignore it's values.", false, true);
0 commit comments