test_class.file: agent/jvm/src/test/java/org/jolokia/jvmagent/client/AgentLauncherTest.java
test_class.identifier: AgentLauncherTest
test_case.body: @Test(enabled = false)
      public void simple() {
          forbidSystemExitCall();
          try {
              AgentLauncher.main();
          } catch (ExitTrappedException exp) {
  
          } finally {
              enableSystemExitCall();
          }
      }
test_case.class_method_signature: AgentLauncherTest.simple()
test_case.full_signature: @Test(enabled = false) public void simple()
test_case.identifier: simple
test_case.invocations: forbidSystemExitCall main enableSystemExitCall
test_case.modifiers: @Test(enabled = false) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void simple()
focal_class.file: agent/jvm/src/main/java/org/jolokia/jvmagent/client/AgentLauncher.java
focal_class.identifier: AgentLauncher
focal_class.class_method_signature: AgentLauncher.AgentLauncher()
focal_class.full_signature: private  AgentLauncher()
focal_class.identifier: AgentLauncher
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  AgentLauncher()
focal_class.class_method_signature: AgentLauncher.main(String... args)
focal_class.full_signature: @SuppressWarnings("PMD.ExceptionAsFlowControl") public static void main(String... args)
focal_class.identifier: main
focal_class.modifiers: @SuppressWarnings("PMD.ExceptionAsFlowControl") public static
focal_class.parameters: (String... args)
focal_class.return: void
focal_class.signature: void main(String... args)
focal_method.body: @SuppressWarnings("PMD.ExceptionAsFlowControl")
      public static void main(String... args) {
          OptionsAndArgs options;
          try {
              options = new OptionsAndArgs(CommandDispatcher.getAvailableCommands(),args);
              VirtualMachineHandler vmHandler = new VirtualMachineHandler(options);
              CommandDispatcher dispatcher = new CommandDispatcher(options);
  
              // Attach a VirtualMachine to a given PID (if PID is given)
              Object vm = options.needsVm() ? vmHandler.attachVirtualMachine() : null;
  
              // Dispatch command
              int exitCode = 0;
              try {
                  exitCode = dispatcher.dispatchCommand(vm,vmHandler);
              } catch (InvocationTargetException e) {
                  throw new ProcessingException("InvocationTargetException",e,options);
              } catch (NoSuchMethodException e) {
                  throw new ProcessingException("Internal: NoSuchMethod",e,options);
              } catch (IllegalAccessException e) {
                  throw new ProcessingException("IllegalAccess",e,options);
              } finally {
                  if (vm != null) {
                      vmHandler.detachAgent(vm);
                  }
              }
              System.exit(exitCode);
  
          } catch (IllegalArgumentException exp) {
              System.err.println("Error: " + exp.getMessage() + "\n");
              CommandDispatcher.printHelp();
              System.exit(1);
          } catch (ProcessingException exp) {
              exp.printErrorMessage();
              System.exit(1);
          }
      }
focal_method.class_method_signature: AgentLauncher.main(String... args)
focal_method.full_signature: @SuppressWarnings("PMD.ExceptionAsFlowControl") public static void main(String... args)
focal_method.identifier: main
focal_method.invocations: getAvailableCommands needsVm attachVirtualMachine dispatchCommand detachAgent exit println getMessage printHelp exit printErrorMessage exit
focal_method.modifiers: @SuppressWarnings("PMD.ExceptionAsFlowControl") public static
focal_method.parameters: (String... args)
focal_method.return: void
focal_method.signature: void main(String... args)