in legacy/java/piranha/src/main/java/com/uber/piranha/XPFlagCleaner.java [231:266]
void init(ErrorProneFlags flags) throws PiranhaConfigurationException {
Optional<String> s = flags.get("Piranha:FlagName");
Optional<String> f = flags.get("Piranha:Config");
if (!s.isPresent()
&& !f.isPresent()
&& flags.getBoolean("Piranha:DisabledUnlessConfigured").orElse(false)
&& !flags.getBoolean("Piranha:IsTreated").isPresent()
&& !flags.getBoolean("Piranha:TreatmentGroup").isPresent()
&& this.defaultSeverity().equals(SUGGESTION)) {
// No configuration present at all, disable Piranha checker
disabled = true;
this.config = Config.emptyConfig();
return;
}
if (s.isPresent()) {
if (!EMPTY.equals(s.get().trim())) xpFlagName = s.get();
isTreated = flags.getBoolean("Piranha:IsTreated").orElse(true);
treatmentGroup = flags.get("Piranha:TreatmentGroup").orElse("").toLowerCase();
} else {
throw new PiranhaConfigurationException("Piranha:FlagName is missing");
}
if (f.isPresent()) {
String configFile = f.get();
Optional<String> argumentIndexOptional = flags.get("Piranha:ArgumentIndexOptional");
boolean isArgumentIndexOptional = false;
if (argumentIndexOptional.isPresent() && TRUE.equalsIgnoreCase(argumentIndexOptional.get())) {
isArgumentIndexOptional = true;
}
this.config = Config.fromJSONFile(configFile, isArgumentIndexOptional);
} else {
throw new PiranhaConfigurationException("Piranha:Config is missing");
}
initialized = true;
}