use of com.airhacks.enhydrator.out.LogSink in project enhydrator by AdamBien.
the class PipelineTest method getJDBCPipeline.
public static Pipeline getJDBCPipeline() {
DestinationMapper mapper = new DestinationMapper();
mapper.addMapping(0, new TargetMapping("*", "*"));
JDBCSource source = JDBCSourceIT.getSource();
NamedSink logSink = new LogSink();
NamedSink jdbcSink = JDBCSinkTest.getSink();
ColumnTransformation e1 = new ColumnTransformation("name", "convert", true);
ColumnTransformation e2 = new ColumnTransformation(42, "compress", true);
Pipeline origin = new Pipeline("jdbc", "src/test/scripts", "select * from Coffee where name like ? and strength = ?", source);
origin.addSink(logSink);
origin.addSink(jdbcSink);
origin.addQueryParam("arabica");
origin.addQueryParam(2);
origin.addEntryTransformation(e1);
origin.addEntryTransformation(e2);
origin.addPreRowTransformation(mapper);
origin.addPostRowTransformation(new SkipFirstRow());
origin.addPreRowTransformation(new NashornRowTransformer("src/test/scripts", "encrypt"));
origin.addPostRowTransformation(new NashornRowTransformer("src/test/scripts", "compress"));
Map<String, ColumnCopier.NameList> mappings = new HashMap<>();
mappings.put("duke", new ColumnCopier.NameList(Arrays.asList("java", "javaee")));
origin.addPostRowTransformation(new ColumnCopier(mappings));
origin.addFilter("true");
origin.addExpression("print($ROW); $ROW");
return origin;
}
use of com.airhacks.enhydrator.out.LogSink in project enhydrator by AdamBien.
the class PipelineTest method getJSONPipeline.
public static Pipeline getJSONPipeline() {
DestinationMapper targetMapper = new DestinationMapper();
targetMapper.addMapping(0, new TargetMapping("*", "*"));
DatatypeIndexMapper datatypeMapper = new DatatypeIndexMapper();
datatypeMapper.addMapping(1, Datatype.INTEGER);
Source source = new ScriptableSource("./src/test/files/languages.json", "./src/test/files/converter.js", "UTF-8");
NamedSink logSink = new LogSink();
NamedSink virtualSink = new VirtualSinkSource();
Pipeline origin = new Pipeline("json", "src/test/scripts", null, source);
origin.addSink(logSink);
origin.addSink(virtualSink);
origin.addPreRowTransformation(targetMapper);
origin.addPreRowTransformation(datatypeMapper);
origin.addPreRowTransformation(new NashornRowTransformer("src/test/scripts", "encrypt"));
origin.addPostRowTransformation(new NashornRowTransformer("src/test/scripts", "compress"));
origin.addFilter("true");
origin.addExpression("print($ROW); $ROW");
return origin;
}
use of com.airhacks.enhydrator.out.LogSink in project enhydrator by AdamBien.
the class PipelineTest method getJSONToNashornPipeline.
public static Pipeline getJSONToNashornPipeline() {
DestinationMapper targetMapper = new DestinationMapper();
targetMapper.addMapping(0, new TargetMapping("*", "*"));
DatatypeIndexMapper datatypeMapper = new DatatypeIndexMapper();
datatypeMapper.addMapping(1, Datatype.INTEGER);
Source source = new ScriptableSource("./src/test/files/languages.json", "./src/test/files/converter.js", "UTF-8");
NamedSink logSink = new LogSink();
NamedSink virtualSink = new ScriptableSink("./src/test/scripts/sink.js");
Pipeline origin = new Pipeline("json", "src/test/scripts", null, source);
origin.addSink(logSink);
origin.addSink(virtualSink);
origin.addPreRowTransformation(targetMapper);
origin.addPreRowTransformation(datatypeMapper);
origin.addPreRowTransformation(new NashornRowTransformer("src/test/scripts", "encrypt"));
origin.addPostRowTransformation(new NashornRowTransformer("src/test/scripts", "compress"));
origin.addFilter("true");
origin.addExpression("print($ROW); $ROW");
return origin;
}
use of com.airhacks.enhydrator.out.LogSink in project enhydrator by AdamBien.
the class PipelineTest method getCSVPipeline.
public static Pipeline getCSVPipeline() {
DestinationMapper targetMapper = new DestinationMapper();
targetMapper.addMapping(0, new TargetMapping("*", "*"));
DatatypeIndexMapper datatypeMapper = new DatatypeIndexMapper();
datatypeMapper.addMapping(0, Datatype.DOUBLE);
Source source = new CSVFileSource("./src/test/files/pyramid.csv", ";", "UTF-8", true);
NamedSink logSink = new LogSink();
NamedSink jdbcSink = new VirtualSinkSource();
ColumnTransformation e1 = new ColumnTransformation("name", "convert", true);
ColumnTransformation e2 = new ColumnTransformation(42, "compress", true);
Pipeline origin = new Pipeline("csv", "src/test/scripts", "select * from Coffee where name like ? and strength = ?", source);
origin.addSink(logSink);
origin.addSink(jdbcSink);
origin.addQueryParam("arabica");
origin.addQueryParam(2);
origin.addEntryTransformation(e1);
origin.addEntryTransformation(e2);
origin.addPreRowTransformation(targetMapper);
origin.addPreRowTransformation(datatypeMapper);
origin.addEntryTransformation(new ColumnTransformation("1", "function execute(i){return 42;}", false));
origin.addPreRowTransformation(new NashornRowTransformer("src/test/scripts", "encrypt"));
origin.addPostRowTransformation(new NashornRowTransformer("src/test/scripts", "compress"));
origin.addFilter("true");
origin.addExpression("print($ROW); $ROW");
return origin;
}
use of com.airhacks.enhydrator.out.LogSink in project enhydrator by AdamBien.
the class ReadJDKVersionsTest method readFromCSV.
@Test
public void readFromCSV() {
Source input = new CSVFileSource("./src/test/files/jdk-dates.csv", ";", "UTF-8", true);
VirtualSinkSource output = new VirtualSinkSource();
Pump pump = new Pump.Engine().from(input).startWith(new SkipFirstRow()).startWith(new DatatypeNameMapper().addMapping("Year", Datatype.INTEGER)).filter("$ROW.getColumnValue('Year') > 2000").to(new LogSink()).to(output).build();
Memory memory = pump.start();
Assert.assertFalse(memory.areErrorsOccured());
List<Row> rows = output.getRows();
assertFalse(rows.isEmpty());
Row first = rows.get(1);
Object year = first.getColumnValue("Year");
System.out.println("The year is: " + year);
}
Aggregations