package gw.exportimport uses java.util.concurrent.Callable uses gw.exportimport.validation.ImportValidationResult uses java.io.InputStream /** * An {@link AbstractAsynchronousRowExecutor} responsible for wrapping an {@link ExcelImporter}. */ @ReadOnly class AsynchronousExcelImporter extends AbstractAsynchronousRowExecutor { var _inputStream : InputStream var _policyPeriod : PolicyPeriod function initialize(inputStream : InputStream, policyPeriod : PolicyPeriod) { super.initialize() _inputStream = inputStream _policyPeriod = policyPeriod } override function createCallable() : Callable { return new ImportCallable() } private class ImportCallable implements Callable { override function call() : ImportValidationResult { var importer = new ExcelImporter() return importer.import(_inputStream, _policyPeriod, outer) } } }