Skip to content

Commit c404851

Browse files
committed
Add special warning for the new feature
1 parent 70b880c commit c404851

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

  • application/src/main/java/org/opentripplanner/framework/application

application/src/main/java/org/opentripplanner/framework/application/OTPFeature.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public enum OTPFeature {
3030
CostlyAssertions(
3131
true,
3232
false,
33+
true,
3334
"Enable some resource consuming assertions which are typically not meant to be run in production."
3435
),
3536
DebugUi(
@@ -171,14 +172,19 @@ public enum OTPFeature {
171172

172173
private final boolean enabledByDefault;
173174
private final boolean sandbox;
174-
175+
private final boolean severeWarningWhenOn;
175176
private boolean enabled;
176177
private final String doc;
177178

178179
OTPFeature(boolean defaultEnabled, boolean sandbox, String doc) {
180+
this(defaultEnabled, sandbox, false, doc);
181+
}
182+
183+
OTPFeature(boolean defaultEnabled, boolean sandbox, boolean severeWarningWhenOn, String doc) {
179184
this.enabledByDefault = defaultEnabled;
180185
this.enabled = defaultEnabled;
181186
this.sandbox = sandbox;
187+
this.severeWarningWhenOn = severeWarningWhenOn;
182188
this.doc = doc;
183189
}
184190

@@ -195,6 +201,13 @@ public static void enableFeatures(Map<OTPFeature, Boolean> map) {
195201
public static void logFeatureSetup() {
196202
LOG.info("Features turned on: \n\t{}", valuesAsString(true));
197203
LOG.info("Features turned off: \n\t{}", valuesAsString(false));
204+
var featureWarnings = enabledValuesWithSevereWarningAsString();
205+
if (!featureWarnings.isBlank()) {
206+
LOG.warn(
207+
"FEATURES THAT SHOULD BE TURNED OFF IN PRODUCTION: \n\t{}",
208+
enabledValuesWithSevereWarningAsString()
209+
);
210+
}
198211
}
199212

200213
/**
@@ -287,4 +300,11 @@ private static String valuesAsString(boolean enabled) {
287300
.map(Enum::name)
288301
.collect(Collectors.joining("\n\t"));
289302
}
303+
304+
private static String enabledValuesWithSevereWarningAsString() {
305+
return Arrays.stream(values())
306+
.filter(it -> it.enabled && it.severeWarningWhenOn)
307+
.map(Enum::name)
308+
.collect(Collectors.joining("\n\t"));
309+
}
290310
}

0 commit comments

Comments
 (0)