Class NBAtFile

java.lang.Object
io.nosqlbench.engine.cli.atfiles.NBAtFile

public class NBAtFile extends Object
TODO: provide before and after atfile processing logs for diagnostics TODO:ERRORHANDLER Cannot invoke "Object.getClass()" because "scopeOfInclude" is null on file full of comments only
  • Constructor Details

    • NBAtFile

      public NBAtFile()
  • Method Details

    • includeAt

      public static LinkedList<String> includeAt(LinkedList<String> processInPlace)
      This will take a command line in raw form, which may include some arguments in the
      @filepath:datapath>format
      format. For each of these, the contents are expanded from the specified file, interior data path, and in the format requested.
      • >= formats maps as key=value
      • >: formats maps as key:value
      • >-- asserts each value starts with global option syntax (--)

      Files can be included recursively using a format like

      
       - include:${DIR}/somefile.yaml
       

      Standard formatting specifiers above should work in this mode as well.
      Parameters:
      processInPlace - The linked list which is statefully modified. If you need an unmodified copy, then this is the responsibility of the caller.
      Returns:
      An updated list with all values expanded and injected
      Throws:
      RuntimeException - for any errors finding, traversing, parsing, or rendering values
    • includeAt

      public static LinkedList<String> includeAt(String spec)
      Format specifiers:
      
       -- means each value must come from a list, and that each line should contain a global argument
          Specifically, each line must start with a --
      
       =  means each entry should be a key-value pair, and that it will be formatted as key=value on insertion
      
       :  means each entry should be a key-value pair, and that it will be formatted as key:value on insertion*
       
      Parameters:
      spec - The include-at specifier, in the form of @file[:datapath]
      Returns:
      The linked list of arguments which is to be spliced into the caller's command list