use of com.vaticle.typedb.core.migrator.data.DataImporter in project grakn by graknlabs.
the class MigratorService method importData.
@Override
public void importData(MigratorProto.Import.Req request, StreamObserver<MigratorProto.Import.Progress> responseObserver) {
DataImporter importer = new DataImporter(databaseMgr, request.getDatabase(), Paths.get(request.getFilename()), version);
try {
CompletableFuture<Void> migratorJob = CompletableFuture.runAsync(importer::run);
while (!migratorJob.isDone()) {
Thread.sleep(1000);
responseObserver.onNext(importer.getProgress());
}
migratorJob.join();
responseObserver.onCompleted();
} catch (Throwable e) {
LOG.error(e.getMessage(), e);
responseObserver.onError(exception(e));
} finally {
importer.close();
}
}
use of com.vaticle.typedb.core.migrator.data.DataImporter in project grakn by graknlabs.
the class MigratorTest method test_import_export_data.
@Test
public void test_import_export_data() throws IOException {
Util.resetDirectory(dataDir);
try (CoreDatabaseManager databaseMgr = CoreDatabaseManager.open(options)) {
databaseMgr.create(database);
String schema = new String(Files.readAllBytes(schemaPath), UTF_8);
runSchema(databaseMgr, schema);
new DataImporter(databaseMgr, database, dataPath, Version.VERSION).run();
new DataExporter(databaseMgr, database, exportDataPath, Version.VERSION).run();
assertEquals(getChecksums(dataPath), getChecksums(exportDataPath));
}
}
Aggregations