use of org.activityinfo.ui.client.page.config.design.importer.SchemaImporterV3 in project activityinfo by bedatadriven.
the class DbEditor method onUIAction.
private void onUIAction(String actionId) {
if (UIActions.SAVE.equals(actionId)) {
save();
} else if (UIActions.DELETE.equals(actionId)) {
promptDeleteSelection();
} else if (UIActions.IMPORT.equals(actionId)) {
SchemaImportDialog dialog = new SchemaImportDialog(new SchemaImporterV2(service, db), new SchemaImporterV3(db.getId(), locator));
dialog.show().then(() -> {
refresh();
return null;
});
} else if (UIActions.EDIT.equals(actionId)) {
Optional<ResourceId> selectedFormId = getSelectedFormId();
if (selectedFormId.isPresent()) {
eventBus.fireEvent(new NavigationEvent(NavigationHandler.NAVIGATION_REQUESTED, new ResourcePlace(selectedFormId.get(), ResourcePage.DESIGN_PAGE_ID)));
}
} else if (UIActions.OPEN_TABLE.equals(actionId)) {
Optional<ResourceId> selectedFormId = getSelectedFormId();
if (selectedFormId.isPresent()) {
App3.openNewTable(selectedFormId.get());
}
}
}
use of org.activityinfo.ui.client.page.config.design.importer.SchemaImporterV3 in project activityinfo by bedatadriven.
the class SchemaCsvWriterV3Test method importSurveyForm.
@Test
public void importSurveyForm() {
PastedTable pastedTable = new PastedTable(expectedSurveyExport);
SchemaImporterV3 importer = new SchemaImporterV3(database.getId(), null, null);
assertTrue("columns found", importer.parseColumns(pastedTable));
boolean success = importer.processRows();
for (SafeHtml warning : importer.getWarnings()) {
System.out.println(warning);
}
assertTrue(success);
List<FormClass> formClasses = importer.toSave();
formClassProvider.addAll(formClasses);
FormTreeBuilder treeBuilder = new FormTreeBuilder(formClassProvider);
FormTreePrettyPrinter prettyPrinter = new FormTreePrettyPrinter();
for (FormClass formClass : formClasses) {
if (!formClass.isSubForm()) {
prettyPrinter.printTree(treeBuilder.queryTree(formClass.getId()));
}
}
}
use of org.activityinfo.ui.client.page.config.design.importer.SchemaImporterV3 in project activityinfo by bedatadriven.
the class SchemaCsvWriterV3Test method missingReferences.
@Test
public void missingReferences() throws IOException {
PastedTable pastedTable = readExportAsTable("malformed-ref.csv");
System.out.println(pastedTable);
SchemaImporterV3 importer = new SchemaImporterV3(database.getId(), null, null);
assertTrue(importer.parseColumns(pastedTable));
boolean success = importer.processRows();
for (SafeHtml warning : importer.getWarnings()) {
System.out.println(warning);
}
assertTrue("warnings emitted", importer.getWarnings().size() == 1);
assertTrue("parsing failed", !success);
}
use of org.activityinfo.ui.client.page.config.design.importer.SchemaImporterV3 in project activityinfo by bedatadriven.
the class SchemaCsvWriterV3Test method missingFieldNames.
@Test
public void missingFieldNames() throws IOException {
PastedTable pastedTable = readExportAsTable("malformed.csv");
SchemaImporterV3 importer = new SchemaImporterV3(database.getId(), null, null);
assertTrue("columns found", importer.parseColumns(pastedTable));
boolean success = importer.processRows();
for (SafeHtml warning : importer.getWarnings()) {
System.out.println(warning);
}
assertTrue("warnings emitted", importer.getWarnings().size() == 2);
assertTrue("parsing failed", !success);
}
Aggregations