package org.tests.text.csv; import io.ebean.BaseTestCase; import io.ebean.Ebean; import io.ebean.EbeanServer; import io.ebean.text.csv.CsvReader; import io.ebean.text.csv.DefaultCsvCallback; import org.tests.model.basic.Customer; import org.tests.model.basic.ResetBasicData; import org.junit.Test; import java.io.File; import java.io.FileReader; import java.net.URL; import java.util.Locale; public class TestCsvReaderWithCallback extends BaseTestCase { @Test public void test() throws Throwable { ResetBasicData.reset(); URL resource = TestCsvReaderWithCallback.class.getResource("/test1.csv"); File f = new File(resource.getFile()); FileReader reader = new FileReader(f); final EbeanServer server = Ebean.getServer(null); CsvReader<Customer> csvReader = server.createCsvReader(Customer.class); csvReader.setPersistBatchSize(2); csvReader.setLogInfoFrequency(3); csvReader.addIgnore(); // csvReader.addProperty("id"); csvReader.addProperty("status"); csvReader.addProperty("name"); csvReader.addDateTime("anniversary", "dd-MMM-yyyy", Locale.GERMAN); csvReader.addProperty("billingAddress.line1"); csvReader.addProperty("billingAddress.city"); // processor.addReference("billingAddress.country.code"); csvReader.addProperty("billingAddress.country.code"); csvReader.process(reader, new DefaultCsvCallback<Customer>() { @Override public void processBean(int row, String[] lineContent, Customer cust) { server.save(cust.getBillingAddress(), transaction); server.save(cust, transaction); } }); } }