test_class.file: plink-common/src/test/java/com/github/hairless/plink/common/Assist/FlinkShellSubmitAssistTest.java
test_class.identifier: FlinkShellSubmitAssistTest
test_case.body: @Test
      public void asyncExecShellCommand() throws IOException, InterruptedException {
          if (SystemUtil.isUnix()) {
              int exitCode = FlinkShellSubmitAssist.syncExecShellCommand("echo hello plink");
              assert exitCode == 0;
          }
      }
test_case.class_method_signature: FlinkShellSubmitAssistTest.asyncExecShellCommand()
test_case.full_signature: @Test public void asyncExecShellCommand()
test_case.identifier: asyncExecShellCommand
test_case.invocations: isUnix syncExecShellCommand
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void asyncExecShellCommand()
focal_class.declarator: flinkShellCommandBuilder
focal_class.modifier: private final
focal_class.original_string: private final FlinkShellCommandBuilder flinkShellCommandBuilder;
focal_class.type: FlinkShellCommandBuilder
focal_class.var_name: flinkShellCommandBuilder
focal_class.declarator: appIdRegex
focal_class.modifier: private final
focal_class.original_string: private final String appIdRegex;
focal_class.type: String
focal_class.var_name: appIdRegex
focal_class.declarator: compile
focal_class.modifier: private final
focal_class.original_string: private final Pattern compile;
focal_class.type: Pattern
focal_class.var_name: compile
focal_class.file: plink-common/src/main/java/com/github/hairless/plink/common/Assist/FlinkShellSubmitAssist.java
focal_class.identifier: FlinkShellSubmitAssist
focal_class.class_method_signature: FlinkShellSubmitAssist.FlinkShellSubmitAssist(FlinkShellCommandBuilder flinkShellCommandBuilder, String appIdRegex)
focal_class.full_signature: public  FlinkShellSubmitAssist(FlinkShellCommandBuilder flinkShellCommandBuilder, String appIdRegex)
focal_class.identifier: FlinkShellSubmitAssist
focal_class.modifiers: public
focal_class.parameters: (FlinkShellCommandBuilder flinkShellCommandBuilder, String appIdRegex)
focal_class.signature:  FlinkShellSubmitAssist(FlinkShellCommandBuilder flinkShellCommandBuilder, String appIdRegex)
focal_class.class_method_signature: FlinkShellSubmitAssist.submitJob(JobInstanceDTO jobInstanceDTO, String logFile)
focal_class.full_signature: public String submitJob(JobInstanceDTO jobInstanceDTO, String logFile)
focal_class.identifier: submitJob
focal_class.modifiers: public
focal_class.parameters: (JobInstanceDTO jobInstanceDTO, String logFile)
focal_class.return: String
focal_class.signature: String submitJob(JobInstanceDTO jobInstanceDTO, String logFile)
focal_class.class_method_signature: FlinkShellSubmitAssist.syncExecShellCommand(String command)
focal_class.full_signature: public static int syncExecShellCommand(String command)
focal_class.identifier: syncExecShellCommand
focal_class.modifiers: public static
focal_class.parameters: (String command)
focal_class.return: int
focal_class.signature: int syncExecShellCommand(String command)
focal_method.body: public static int syncExecShellCommand(String command) throws IOException, InterruptedException {
          ProcessBuilder processBuilder = new ProcessBuilder();
          processBuilder.command("/bin/sh", "-c", command);
          Process process = processBuilder.start();
          return process.waitFor();
      }
focal_method.class_method_signature: FlinkShellSubmitAssist.syncExecShellCommand(String command)
focal_method.full_signature: public static int syncExecShellCommand(String command)
focal_method.identifier: syncExecShellCommand
focal_method.invocations: command start waitFor
focal_method.modifiers: public static
focal_method.parameters: (String command)
focal_method.return: int
focal_method.signature: int syncExecShellCommand(String command)