private Operator replaceWithDefaultOutput(final Operator contract) { final FileDataSink defaultSink = GenericTestPlan.createDefaultSink(contract.getName() + "-output", null); defaultSink.addInput(contract); return defaultSink; } }
safeSink.setInputs(fileSink.getInputs()); this.expectedOutputs.put(safeSink, expectedValues); this.actualOutputs.put(safeSink, this.getActualOutput(fileSink)); this.getActualOutput(fileSink).load(SequentialInputFormat.class, safeSink.getFilePath(), inputConfig); ((FileDataSink) fileSink).getFilePath(), inputConfig);
/** * Creates a default sink with the given name. This sink may be used with ad-hoc values added to the corresponding * {@link GenericTestRecords}. * * @param name * the name of the sink * @param typeConfig * the {@link TypeConfig} used in {@link SequentialOutputFormat} * @return the created sink */ public static FileDataSink createDefaultSink(final String name, final TypeConfig<?> typeConfig) { final FileDataSink sink = new FileDataSink(SequentialOutputFormat.class, getTestPlanFile("output"), name); if (typeConfig != null) SequentialOutputFormat.configureSequentialFormat(sink).typeSerializer(typeConfig.getTypeSerializerFactory()); return sink; }
@Override public boolean preVisit(final Operator visitable) { int degree = GenericTestPlan.this.getDegreeOfParallelism(); if (visitable instanceof GenericDataSource<?>) degree = 1; else if (degree > 1 && visitable instanceof FileDataSink) try { final Path path = new Path(((FileDataSink) visitable).getFilePath()); final FileSystem fs = path.getFileSystem(); final FileStatus f = fs.getFileStatus(path); if (!f.isDir()) { fs.delete(path, false); fs.mkdirs(path); } } catch (final IOException e) { e.printStackTrace(); } if (visitable.getDegreeOfParallelism() == -1) visitable.setDegreeOfParallelism(degree); return true; } });