Skip to content

Commit a09d794

Browse files
authoredDec 3, 2024
Merge pull request #1 from trocco-io/feature/embulk-v0.9
embulk v0.9 supported
2 parents c54dfd9 + 7f76910 commit a09d794

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed
 

‎src/main/java/org/embulk/input/mongodb/MongodbInputPlugin.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public TaskReport run(TaskSource taskSource,
163163
final TaskMapper taskMapper = CONFIG_MAPPER_FACTORY.createTaskMapper();
164164
final PluginTask task = taskMapper.map(taskSource, PluginTask.class);
165165
BufferAllocator allocator = Exec.getBufferAllocator();
166-
PageBuilder pageBuilder = Exec.getPageBuilder(allocator, schema, output);
166+
PageBuilder pageBuilder = getPageBuilder(allocator, schema, output);
167167
final Column column = pageBuilder.getSchema().getColumns().get(0);
168168

169169
ValueCodec valueCodec = new ValueCodec(task.getStopOnInvalidRecord(), task);
@@ -480,4 +480,23 @@ private void validateJsonField(String name, String jsonString)
480480
throw new ConfigException(String.format("Invalid JSON string was given for '%s' parameter. [%s]", name, jsonString));
481481
}
482482
}
483+
484+
@SuppressWarnings("deprecation")
485+
private static PageBuilder getPageBuilder(final BufferAllocator bufferAllocator, final Schema schema, final PageOutput output)
486+
{
487+
return HAS_EXEC_GET_PAGE_BUILDER ? Exec.getPageBuilder(bufferAllocator, schema, output) : new PageBuilder(bufferAllocator, schema, output);
488+
}
489+
490+
private static boolean hasExecGetPageBuilder()
491+
{
492+
try {
493+
Exec.class.getMethod("getPageBuilder", BufferAllocator.class, Schema.class, PageOutput.class);
494+
}
495+
catch (final NoSuchMethodException ex) {
496+
return false;
497+
}
498+
return true;
499+
}
500+
501+
private static final boolean HAS_EXEC_GET_PAGE_BUILDER = hasExecGetPageBuilder();
483502
}

0 commit comments

Comments
 (0)