test_class.file: lang-python/src/test/java/org/eclipse/steady/python/ProcessWrapperTest.java
test_class.identifier: ProcessWrapperTest
test_case.body: @Test(expected = org.eclipse.steady.python.ProcessWrapperException.class)
    public void testIllegalChar() throws ProcessWrapperException {
      ProcessWrapper pw = new ProcessWrapper();
      pw.setCommand(Paths.get("pip"), "foo", "---..--", "\\asas");
    }
test_case.class_method_signature: ProcessWrapperTest.testIllegalChar()
test_case.full_signature: @Test(expected = org.eclipse.steady.python.ProcessWrapperException.class) public void testIllegalChar()
test_case.identifier: testIllegalChar
test_case.invocations: setCommand get
test_case.modifiers: @Test(expected = org.eclipse.steady.python.ProcessWrapperException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testIllegalChar()
focal_class.declarator: log = org.apache.logging.log4j.LogManager.getLogger()
focal_class.modifier: private static
focal_class.original_string: private static Logger log = org.apache.logging.log4j.LogManager.getLogger();
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: ALLOWED = Pattern.compile("[\\.\\-\\w=]+")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern ALLOWED = Pattern.compile("[\\.\\-\\w=]+");
focal_class.type: Pattern
focal_class.var_name: ALLOWED
focal_class.declarator: id = null
focal_class.modifier: private
focal_class.original_string: private String id = null;
focal_class.type: String
focal_class.var_name: id
focal_class.declarator: exe = null
focal_class.modifier: private
focal_class.original_string: private Path exe = null;
focal_class.type: Path
focal_class.var_name: exe
focal_class.declarator: args = null
focal_class.modifier: private
focal_class.original_string: private String[] args = null;
focal_class.type: String[]
focal_class.var_name: args
focal_class.declarator: outPath = null
focal_class.modifier: private
focal_class.original_string: private Path outPath = null;
focal_class.type: Path
focal_class.var_name: outPath
focal_class.declarator: outFile = null
focal_class.modifier: private
focal_class.original_string: private Path outFile = null;
focal_class.type: Path
focal_class.var_name: outFile
focal_class.declarator: errFile
focal_class.modifier: private
focal_class.original_string: private Path errFile;
focal_class.type: Path
focal_class.var_name: errFile
focal_class.declarator: exitCode = -1
focal_class.modifier: private
focal_class.original_string: private int exitCode = -1;
focal_class.type: int
focal_class.var_name: exitCode
focal_class.file: lang-python/src/main/java/org/eclipse/steady/python/ProcessWrapper.java
focal_class.identifier: ProcessWrapper
focal_class.interfaces: implements Runnable
focal_class.class_method_signature: ProcessWrapper.ProcessWrapper()
focal_class.full_signature: public  ProcessWrapper()
focal_class.identifier: ProcessWrapper
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  ProcessWrapper()
focal_class.class_method_signature: ProcessWrapper.ProcessWrapper(String _id)
focal_class.full_signature: public  ProcessWrapper(String _id)
focal_class.identifier: ProcessWrapper
focal_class.modifiers: public
focal_class.parameters: (String _id)
focal_class.signature:  ProcessWrapper(String _id)
focal_class.class_method_signature: ProcessWrapper.getId()
focal_class.full_signature: public String getId()
focal_class.identifier: getId
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getId()
focal_class.class_method_signature: ProcessWrapper.setCommand(Path _executable, String... _args)
focal_class.full_signature: public ProcessWrapper setCommand(Path _executable, String... _args)
focal_class.identifier: setCommand
focal_class.modifiers: public
focal_class.parameters: (Path _executable, String... _args)
focal_class.return: ProcessWrapper
focal_class.signature: ProcessWrapper setCommand(Path _executable, String... _args)
focal_class.class_method_signature: ProcessWrapper.setPath(Path _p)
focal_class.full_signature: public ProcessWrapper setPath(Path _p)
focal_class.identifier: setPath
focal_class.modifiers: public
focal_class.parameters: (Path _p)
focal_class.return: ProcessWrapper
focal_class.signature: ProcessWrapper setPath(Path _p)
focal_class.class_method_signature: ProcessWrapper.run()
focal_class.full_signature: @Override public void run()
focal_class.identifier: run
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void run()
focal_class.class_method_signature: ProcessWrapper.getOutFile()
focal_class.full_signature: public Path getOutFile()
focal_class.identifier: getOutFile
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Path
focal_class.signature: Path getOutFile()
focal_class.class_method_signature: ProcessWrapper.getErrFile()
focal_class.full_signature: public Path getErrFile()
focal_class.identifier: getErrFile
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Path
focal_class.signature: Path getErrFile()
focal_class.class_method_signature: ProcessWrapper.getExitCode()
focal_class.full_signature: public int getExitCode()
focal_class.identifier: getExitCode
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getExitCode()
focal_class.class_method_signature: ProcessWrapper.terminatedWithSuccess()
focal_class.full_signature: public boolean terminatedWithSuccess()
focal_class.identifier: terminatedWithSuccess
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean terminatedWithSuccess()
focal_class.class_method_signature: ProcessWrapper.getCommand()
focal_class.full_signature: public String getCommand()
focal_class.identifier: getCommand
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getCommand()
focal_method.body: public ProcessWrapper setCommand(Path _executable, String... _args)
        throws ProcessWrapperException {
      // if(_executable==null || FileUtil.isAccessibleFile(_executable))
      //	throw new ProcessWrapperException("Illegal executable [" + _executable + "]");
  
      for (int i = 0; i < _args.length; i++) {
        final Matcher m = ALLOWED.matcher(_args[i]);
        if (!m.matches()
            && !FileUtil.isAccessibleFile(_args[i])
            && !FileUtil.isAccessibleDirectory(_args[i]))
          throw new ProcessWrapperException(
              "Illegal characters in argument [" + i + "], allowed are: a-zA-Z_0-9-.=");
      }
  
      this.exe = _executable;
      this.args = _args;
      return this;
    }
focal_method.class_method_signature: ProcessWrapper.setCommand(Path _executable, String... _args)
focal_method.full_signature: public ProcessWrapper setCommand(Path _executable, String... _args)
focal_method.identifier: setCommand
focal_method.invocations: matcher matches isAccessibleFile isAccessibleDirectory
focal_method.modifiers: public
focal_method.parameters: (Path _executable, String... _args)
focal_method.return: ProcessWrapper
focal_method.signature: ProcessWrapper setCommand(Path _executable, String... _args)