private void execute(String[] args) throws Exception {
        String tool = args[0];
        String[] subsetArgs = new String[args.length - 1];
        System.arraycopy(args, 1, subsetArgs, 0, args.length - 1);
        switch (tool) {
            case "Report":
                handleReport(subsetArgs);
                break;
            case "Compare":
                handleCompare(subsetArgs);
                break;
            case "Profile":
                handleProfile(subsetArgs);
                break;
            case "StartDB":
                handleStartDB(subsetArgs);
                break;
            case "FileProfile":
                handleProfileFiles(subsetArgs);
                break;
            default:
                System.out.println(specifyTools());
                break;
        }
    }
@Test
    @Disabled("use this for development")
    public void testOneOff() throws Exception {
        List<String> args = new ArrayList<>();
        args.add("Compare");
        args.add("-extractsA");
        args.add(ProcessUtils.escapeCommandLine(extractsDir
                .resolve("extractsA")
                .toAbsolutePath()
                .toString()));
        args.add("-extractsB");
        args.add(ProcessUtils.escapeCommandLine(extractsDir
                .resolve("extractsB")
                .toAbsolutePath()
                .toString()));
        args.add("-db");
        args.add(ProcessUtils.escapeCommandLine(compareDBDir
                .toAbsolutePath()
                .toString() + "/" + dbName));

        execute(args, 60000);
        //      args.add("-drop");
//        args.add("-jdbc");
//        args.add("jdbc:postgresql:tika_eval?user=user&password=password");

    }