Events-cli: Difference between revisions
Jump to navigation
Jump to search
Line 48: | Line 48: | ||
} | } | ||
} | } | ||
</syntaxhighlight> | |||
End-to-end testing: | |||
<syntaxhighlight lang='java'> | |||
File f = new File(System.getProperty("basedir"), "src/test/resources/data/something.txt"); | |||
assertTrue(f.isFile()); | |||
Parser parser = new SomeParser(); | |||
MockProcedureFactory mf = new MockProcedureFactory(); | |||
ApplicationSpecificBehavior asb = new ApplicationSpecificBehavior(parser, mf); | |||
String[] commandLine = { | |||
"mock-procedure", | |||
f.getPath() | |||
}; | |||
EventParserRuntime r = new EventParserRuntime(commandLine, "test", asb); | |||
r.run(); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 21:07, 22 September 2017
Internal
Overview
Command line logic for event parsers.
Enforces the following command line structure:
<parser> [command [command-options]] [query] <file1> [<file2> ...]
cat <input-file> | <parser> [command] [command-options] [query]
where the commands represent events-processing procedures.
User Manual
Usage:
public class Main {
public static final String APPLICATION_NAME = "some-app";
public static void main(String[] args) throws Exception {
try {
Parser parser = new SomeAppParser();
ProcedureFactory procedureFactory = new SomeAppProcedureFactory();
EventParserRuntime runtime = new EventParserRuntime(args, APPLICATION_NAME, procedureFactory, parser);
if (runtime.getConfiguration().isHelp()) {
runtime.displayHelp(APPLICATION_NAME);
return;
}
runtime.run();
}
catch(UserErrorException e) {
System.err.println(e.getMessage());
}
}
}
End-to-end testing:
File f = new File(System.getProperty("basedir"), "src/test/resources/data/something.txt");
assertTrue(f.isFile());
Parser parser = new SomeParser();
MockProcedureFactory mf = new MockProcedureFactory();
ApplicationSpecificBehavior asb = new ApplicationSpecificBehavior(parser, mf);
String[] commandLine = {
"mock-procedure",
f.getPath()
};
EventParserRuntime r = new EventParserRuntime(commandLine, "test", asb);
r.run();
Development
GitHub
Maven
<dependency> <groupId>io.novaordis.events.cli</groupId> <artifactId>events-cli</artifactId> <version>${events.cli.version}</version> </dependency>