private void commandSet()

in samza-sql-shell/src/main/java/org/apache/samza/sql/client/impl/CliCommandHandler.java [258:315]


  private void commandSet(CliCommand command) throws Exception {
    String param = command.getParameters();
    if (CliUtil.isNullOrEmpty(param)) {
      env.printAll(writer);
      writer.flush();
      return;
    }
    String[] params = null;
    boolean syntaxValid = param.split(" ").length == 1;
    if (syntaxValid) {
      params = param.split("=");
      if (params.length == 1) {
        String value = env.getEnvironmentVariable(param);
        if (!CliUtil.isNullOrEmpty(value)) {
          env.printVariable(writer, param, value);
        }
        return;
      } else {
        syntaxValid = params.length == 2;
      }
    }
    if (!syntaxValid) {
      writer.println(command.getCommandType().getUsage());
      writer.flush();
      return;
    }

    String name = params[0].trim().toLowerCase();
    String value = params[1].trim();
    int ret = env.setEnvironmentVariable(name, value);
    if (ret == 0) {
      writer.print(name);
      writer.print(" set to ");
      writer.println(value);
      if (name.equals(CliConstants.CONFIG_EXECUTOR)) {
        executor.stop(exeContext);
        executor = env.getExecutor();
        executor.start(exeContext);
      }
    } else if (ret == -1) {
      writer.print("Unknow variable: ");
      writer.println(name);
    } else if (ret == -2) {
      writer.print("Invalid value: ");
      writer.print(value);
      String[] vals = env.getPossibleValues(name);
      if (vals != null && vals.length != 0) {
        writer.print(" Possible values:");
        for (String s : vals) {
          writer.print(CliConstants.SPACE);
          writer.print(s);
        }
        writer.println();
      }
    }

    writer.flush();
  }