public boolean init()

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;
  }