/** * Gets a full path to IMP directory. It can be defined either in config.xml or via command line arguments. * Setting a parameter via command line argument overwrites value from config.xml. * * @return a file defining a full path to IMP directory or null if it's not specified neither in config.xml nor via * command line arguments */ public File getImpDirectoryFile() { // cmd line argument has first priority String impDir = cmdLineArgs.getImp() != null ? cmdLineArgs.getImp() : defaultImp; if (impDir == null) { return null; } return new File(impDir); }
@Test public void testParseCorrectCmdLineArgumentsShortName() { String[] args = new String[]{ "--cpl", "cpl.xml", "--imp", "pathToImp", "-c", "config.xml", "-w", "pathToWorkingDir", "-l", "error" }; ImfUtilityCmdLineArgs cmdLineArgs = CliFactory.parseArguments(ImfUtilityCmdLineArgs.class, args); assertEquals("cpl.xml", cmdLineArgs.getCpl()); assertEquals("pathToImp", cmdLineArgs.getImp()); assertEquals("config.xml", cmdLineArgs.getConfig()); assertEquals("pathToWorkingDir", cmdLineArgs.getWorkingDirectory()); assertEquals(LogLevel.error, cmdLineArgs.getLogLevel()); }
@Test public void testParseCorrectCmdLineArgumentsLongName() { String[] args = new String[]{ "--cpl", "cpl.xml", "--imp", "pathToImp", "--config", "config.xml", "--working-dir", "pathToWorkingDir", "--log-level", "debug" }; ImfUtilityCmdLineArgs cmdLineArgs = CliFactory.parseArguments(ImfUtilityCmdLineArgs.class, args); assertEquals("cpl.xml", cmdLineArgs.getCpl()); assertEquals("pathToImp", cmdLineArgs.getImp()); assertEquals("config.xml", cmdLineArgs.getConfig()); assertEquals("pathToWorkingDir", cmdLineArgs.getWorkingDirectory()); assertEquals(LogLevel.debug, cmdLineArgs.getLogLevel()); }