public static void main()

in tools/query_verification/src/main/java/com/google/bigquery/Main.java [34:107]


    public static void main(String[] args) {
        CommandLine command = buildCommand(args);
        if (command == null) {
            return;
        }

        QueryVerificationQuery migratedQuery = null;
        QueryVerificationSchema migratedSchema = null;

        QueryVerificationQuery originalQuery = null;
        QueryVerificationSchema originalSchema = null;

        List<QueryVerificationData> data = new ArrayList<QueryVerificationData>();

        // Query input handling
        if (command.hasOption("q")) {
            String[] queryOptionValues = command.getOptionValues("q");

            if (queryOptionValues.length >= 1) {
                String migratedQueryPath = queryOptionValues[0];
                String migratedQueryContents = getContentsOfFile(migratedQueryPath);
                if (migratedQueryContents != null) {
                    migratedQuery = QueryVerificationQuery.create(migratedQueryContents, migratedQueryPath);
                }
            }

            if (queryOptionValues.length >= 2) {
                String originalQueryPath = queryOptionValues[1];
                String originalQueryContents = getContentsOfFile(originalQueryPath);
                if (originalQueryContents != null) {
                    originalQuery = QueryVerificationQuery.create(originalQueryContents, originalQueryPath);
                }
            }
        }

        // Schema input handling
        if (command.hasOption("s")) {
            String[] schemaOptionValues = command.getOptionValues("s");

            if (schemaOptionValues.length >= 1) {
                String migratedSchemaPath = schemaOptionValues[0];
                String migratedSchemaContents = getContentsOfFile(migratedSchemaPath);
                if (migratedSchemaContents != null) {
                    migratedSchema = QueryVerificationSchema.create(migratedSchemaContents, migratedSchemaPath);
                }
            }

            if (schemaOptionValues.length >= 2) {
                String originalSchemaPath = schemaOptionValues[1];
                String originalSchemaContents = getContentsOfFile(originalSchemaPath);
                if (originalSchemaContents != null) {
                    originalSchema = QueryVerificationSchema.create(originalSchemaContents, originalSchemaPath);
                }
            }
        }

        // Data input handling
        if (command.hasOption("d")) {
            String[] dataOptionValues = command.getOptionValues("d");

            for (String dataFilePath : dataOptionValues) {
                String dataFileName = new File(dataFilePath).getName();
                String dataContents = getContentsOfFile(dataFilePath);
                String[] dataTableId = dataFileName.split("\\.");

                data.add(QueryVerificationData.create(dataTableId[0], dataTableId[1], dataFilePath, dataContents));
            }
        }

        QueryVerifier queryVerifier = new QueryVerifier(migratedQuery, migratedSchema, originalQuery, originalSchema, data);
        queryVerifier.verify();

        System.exit(0);
    }