private Generator<Object[]> createXLSSourceGenerator( ArrayTypeDescriptor arrayType, BeneratorContext context, String sourceName) { logger.debug("createXLSSourceGenerator({})", arrayType); boolean rowBased = (arrayType.isRowBased() != null ? arrayType.isRowBased() : true); String emptyMarker = arrayType.getEmptyMarker(); String nullMarker = arrayType.getNullMarker(); boolean formatted = isFormatted(arrayType); DataSourceProvider<Object[]> factory = new XLSArraySourceProvider( formatted, new ScriptConverterForObjects(context), emptyMarker, nullMarker, rowBased); Generator<Object[]> generator = SourceFactory.createRawSourceGenerator( arrayType.getNesting(), arrayType.getDataset(), sourceName, factory, Object[].class, context); generator = WrapperFactory.applyConverter(generator, new ArrayElementTypeConverter(arrayType)); return generator; }
private Generator<Object[]> createCSVSourceGenerator( ArrayTypeDescriptor arrayType, BeneratorContext context, String sourceName) { logger.debug("createCSVSourceGenerator({})", arrayType); String encoding = arrayType.getEncoding(); if (encoding == null) encoding = context.getDefaultEncoding(); char separator = DescriptorUtil.getSeparator(arrayType, context); boolean rowBased = (arrayType.isRowBased() != null ? arrayType.isRowBased() : true); DataSourceProvider<Object[]> factory = new CSVArraySourceProvider( arrayType.getName(), new ScriptConverterForStrings(context), rowBased, separator, encoding); Generator<Object[]> generator = SourceFactory.createRawSourceGenerator( arrayType.getNesting(), arrayType.getDataset(), sourceName, factory, Object[].class, context); return WrapperFactory.applyConverter(generator, new ArrayElementTypeConverter(arrayType)); }