@Test public void columnMappingGuesser() throws IOException { FormTree formTree = assertResolves(formTreeBuilder.apply(HOUSEHOLD_SURVEY_FORM_CLASS)); FormTreePrettyPrinter.print(formTree); importModel = new ImportModel(formTree); // Step 1: User pastes in data to import PastedTable source = new PastedTable( Resources.toString( getResource("org/activityinfo/core/shared/importing/qis.csv"), Charsets.UTF_8)); importModel.setSource(source); importer = new Importer( resourceLocator, formTree, FieldImportStrategies.get(JvmConverterFactory.get())); dumpList("COLUMNS", source.getColumns()); dumpList("FIELDS", importer.getImportTargets()); // Step 2: Guesser guess mapping final ColumnMappingGuesser guesser = new ColumnMappingGuesser(importModel, importer.getImportTargets()); guesser.guess(); assertMapping("Partner", "Partner Name"); assertMapping("district", "District Name"); // assertMapping("upazila", "Upzilla Name"); }
@Test public void testExceptionHandling() throws IOException { FormTree formTree = assertResolves(formTreeBuilder.apply(HOUSEHOLD_SURVEY_FORM_CLASS)); importModel = new ImportModel(formTree); // Step 1: User pastes in data to import PastedTable source = new PastedTable( Resources.toString( getResource("org/activityinfo/core/shared/importing/qis.csv"), Charsets.UTF_8)); importModel.setSource(source); importer = new Importer( resourceLocator, formTree, FieldImportStrategies.get(JvmConverterFactory.get())); importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultMale")); importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultFemale")); importModel.setColumnAction(columnIndex("_CREATION_DATE"), target("Start Date")); importModel.setColumnAction(columnIndex("_SUBMISSION_DATE"), target("End Date")); importModel.setColumnAction(columnIndex("district"), target("District Name")); importModel.setColumnAction(columnIndex("upazila"), target("Upzilla Name")); // importModel.setColumnAction(columnIndex("Partner"), target("Partner Name")); Promise<Void> result = importer.persist(importModel); assertThat(result.getState(), equalTo(Promise.State.REJECTED)); }
@Test public void test() throws IOException { FormTree formTree = assertResolves(formTreeBuilder.apply(HOUSEHOLD_SURVEY_FORM_CLASS)); FormTreePrettyPrinter.print(formTree); importModel = new ImportModel(formTree); // Step 1: User pastes in data to import PastedTable source = new PastedTable( Resources.toString( getResource("org/activityinfo/core/shared/importing/qis.csv"), Charsets.UTF_8)); source.parseAllRows(); assertThat(source.getRows().size(), equalTo(63)); importModel.setSource(source); importer = new Importer( resourceLocator, formTree, FieldImportStrategies.get(JvmConverterFactory.get())); dumpList("COLUMNS", source.getColumns()); // Step 2: User maps imported columns to FormFields dumpList("FIELDS", importer.getImportTargets()); importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultMale")); importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultFemale")); importModel.setColumnAction(columnIndex("_CREATION_DATE"), target("Start Date")); importModel.setColumnAction(columnIndex("_SUBMISSION_DATE"), target("End Date")); importModel.setColumnAction(columnIndex("district"), target("District Name")); importModel.setColumnAction(columnIndex("upazila"), target("Upzilla Name")); importModel.setColumnAction(columnIndex("Partner"), target("Partner Name")); // Step 3: Validate for user ValidatedRowTable validatedResult = assertResolves(importer.validateRows(importModel)); showValidationGrid(validatedResult); assertResolves(importer.persist(importModel)); // AND... verify Filter filter = new Filter(); filter.addRestriction(DimensionType.AdminLevel, MODHUPUR); SiteResult sites = execute(new GetSites(filter)); assertThat(sites.getTotalLength(), equalTo(1)); SiteDTO site = sites.getData().get(0); assertThat(site.getDate1(), equalTo(new LocalDate(2012, 12, 19))); assertThat(site.getDate2(), equalTo(new LocalDate(2012, 12, 19))); }