public Integer call()

in c3r-cli/src/main/java/com/amazonaws/c3r/cli/EncryptMode.java [339:376]


    public Integer call() {
        try {
            validate();

            final EncryptConfig cfg = getConfig();
            final ParquetConfig pCfg = getParquetConfig();

            printColumnTransformInfo(cfg.getTableSchema());
            if (!optionalArgs.dryRun) {
                log.info("Encrypting data from {}.", cfg.getSourceFile());
                switch (cfg.getFileFormat()) {
                    case CSV:
                        if (pCfg.isSet()) {
                            throw new C3rIllegalArgumentException("Parquet options specified for CSV file.");
                        }
                        final RowMarshaller<CsvValue> csvRowMarshaller = CsvRowMarshaller.newInstance(cfg);
                        csvRowMarshaller.marshal();
                        csvRowMarshaller.close();
                        break;
                    case PARQUET:
                        final RowMarshaller<ParquetValue> parquetRowMarshaller = ParquetRowMarshaller.newInstance(cfg, pCfg);
                        parquetRowMarshaller.marshal();
                        parquetRowMarshaller.close();
                        break;
                    default:
                        throw new C3rIllegalArgumentException("Unrecognized file format: " + cfg.getFileFormat());
                }
                log.info("Encrypted data was saved to {}.", cfg.getTargetFile());
            } else {
                log.info("Dry run: No data will be encrypted from {}.", cfg.getSourceFile());
            }
        } catch (Exception e) {
            Main.handleException(e, optionalArgs.enableStackTraces);
            return Main.FAILURE;
        }

        return Main.SUCCESS;
    }