in metron-analytics/metron-maas-service/src/main/java/org/apache/metron/maas/service/Client.java [381:463]
public boolean init(String[] args) throws ParseException {
CommandLine cli =ClientOptions.parse(new PosixParser(), args);
if (LOG4J_PROPERTIES.has(cli)) {
String log4jPath = LOG4J_PROPERTIES.get(cli);
try {
Log4jPropertyHelper.updateLog4jConfiguration(Client.class, log4jPath);
} catch (Exception e) {
LOG.warn("Can not set up custom log4j properties. " + e);
}
}
keepContainers = false;
zkQuorum = ZK_QUORUM.get(cli);
zkRoot = ZK_ROOT.get(cli, "/metron/maas/config");
appName = "MaaS";
amPriority = 0;
amQueue = QUEUE.get(cli, "default");
amMemory = Integer.parseInt(MASTER_MEMORY.get(cli, "10"));
amVCores = Integer.parseInt(MASTER_VCORE.get(cli, "1"));
if (amMemory < 0) {
throw new IllegalArgumentException("Invalid memory specified for application master, exiting."
+ " Specified memory=" + amMemory);
}
if (amVCores < 0) {
throw new IllegalArgumentException("Invalid virtual cores specified for application master, exiting."
+ " Specified virtual cores=" + amVCores);
}
if (!JAR.has(cli)){
try {
appMasterJar = getJar(ApplicationMaster.class);
} catch (URISyntaxException e) {
throw new IllegalArgumentException("No jar file specified for application master: " + e.getMessage(), e);
}
}
else {
appMasterJar = JAR.get(cli);
}
if (SHELL_ENV.has(cli)) {
String envs[] = cli.getOptionValues(SHELL_ENV.option.getOpt());
for (String env : envs) {
env = env.trim();
int index = env.indexOf('=');
if (index == -1) {
shellEnv.put(env, "");
continue;
}
String key = env.substring(0, index);
String val = "";
if (index < (env.length()-1)) {
val = env.substring(index+1);
}
shellEnv.put(key, val);
}
}
nodeLabelExpression = NODE_LABEL_EXPRESSION.get(cli, null);
clientTimeout = Integer.parseInt(TIMEOUT.get(cli, "600000"));
attemptFailuresValidityInterval = -1;
log4jPropFile = LOG4J_PROPERTIES.get(cli, "");
// Get timeline domain options
if (DOMAIN.has(cli)) {
domainId = DOMAIN.get(cli);
toCreateDomain = CREATE.has(cli);
if (VIEW_ACLS.has(cli)) {
viewACLs = VIEW_ACLS.get(cli);
}
if (MODIFY_ACLS.has(cli)) {
modifyACLs = MODIFY_ACLS.get(cli);
}
}
return true;
}