34 lines
974 B
Java
34 lines
974 B
Java
package biz.nellemann.svci;
|
|
|
|
import picocli.CommandLine;
|
|
|
|
public class DefaultProvider implements CommandLine.IDefaultValueProvider {
|
|
|
|
public String defaultValue(CommandLine.Model.ArgSpec argSpec) throws Exception {
|
|
if(argSpec.isOption()) {
|
|
switch (argSpec.paramLabel()) {
|
|
case "<file>":
|
|
return getDefaultConfigFileLocation();
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private boolean isWindowsOperatingSystem() {
|
|
String os = System.getProperty("os.name");
|
|
return os.toLowerCase().startsWith("windows");
|
|
}
|
|
|
|
private String getDefaultConfigFileLocation() {
|
|
String configFilePath;
|
|
if(isWindowsOperatingSystem()) {
|
|
configFilePath = System.getProperty("user.home") + "\\svci.toml";
|
|
} else {
|
|
configFilePath = "/etc/svci.toml";
|
|
}
|
|
return configFilePath;
|
|
}
|
|
}
|