use of eu.esdihumboldt.hale.common.core.io.report.IOReport in project hale by halestudio.
the class CSVSchemaReaderTest method testRead4.
/**
* Test for given property names and property types with point as a decimal
* divisor
*
* @throws Exception the Exception thrown if the test fails
*/
@Test
public void testRead4() throws Exception {
String props = "A,B,C,D,E";
CSVSchemaReader schemaReader = new CSVSchemaReader();
schemaReader.setSource(new DefaultInputSupplier(getClass().getResource("/data/test4-commadecimal.csv").toURI()));
schemaReader.setParameter(CommonSchemaConstants.PARAM_TYPENAME, Value.of("TestTyp"));
schemaReader.setParameter(CSVSchemaReader.PARAM_PROPERTY, Value.of(props));
schemaReader.setParameter(CSVSchemaReader.PARAM_PROPERTYTYPE, Value.of("java.lang.Integer,java.lang.String,java.lang.Float,java.lang.Float,java.lang.String"));
schemaReader.setParameter(CSVSchemaReader.PARAM_SEPARATOR, Value.of(";"));
schemaReader.setParameter(CSVSchemaReader.PARAM_QUOTE, null);
schemaReader.setParameter(CSVSchemaReader.PARAM_ESCAPE, null);
schemaReader.setParameter(CSVSchemaReader.PARAM_DECIMAL, Value.of(","));
IOReport report = schemaReader.execute(new LogProgressIndicator());
assertTrue(report.isSuccess());
Schema schema = schemaReader.getSchema();
assertEquals(1, schema.getMappingRelevantTypes().size());
TypeDefinition type = schema.getMappingRelevantTypes().iterator().next();
assertTrue(type.getName().getLocalPart().equals("TestTyp"));
Iterator<? extends ChildDefinition<?>> it = type.getChildren().iterator();
while (it.hasNext()) {
assertTrue(props.contains(it.next().getName().getLocalPart()));
}
}
use of eu.esdihumboldt.hale.common.core.io.report.IOReport in project hale by halestudio.
the class CSVSchemaReaderTest method failTest.
/**
* Test for no given property names and only 2 (of 4) given property types
* (if there are not given 0 or maximum, in this case 4, property types we
* expect an error)
*
* @throws Exception the Exception thrown if the test fails
*/
public void failTest() throws Exception {
CSVSchemaReader schemaReader = new CSVSchemaReader();
schemaReader.setSource(new DefaultInputSupplier(getClass().getResource("/data/test1.csv").toURI()));
schemaReader.setParameter(CommonSchemaConstants.PARAM_TYPENAME, Value.of("TestTyp"));
schemaReader.setParameter(CSVSchemaReader.PARAM_PROPERTY, null);
schemaReader.setParameter(CSVSchemaReader.PARAM_PROPERTYTYPE, Value.of("java.lang.String,java.lang.String"));
schemaReader.setParameter(CSVSchemaReader.PARAM_SEPARATOR, null);
schemaReader.setParameter(CSVSchemaReader.PARAM_QUOTE, null);
schemaReader.setParameter(CSVSchemaReader.PARAM_ESCAPE, null);
IOReport report = schemaReader.execute(new LogProgressIndicator());
assertFalse(report.getErrors().isEmpty());
assertFalse(report.isSuccess());
}
use of eu.esdihumboldt.hale.common.core.io.report.IOReport in project hale by halestudio.
the class CSVSchemaReaderTest method failTest2.
/**
* Test for no given type name. So we expect the reporter not to be
* successful.
*
* @throws Exception the Exception thrown if the test fails
*/
@Test
public void failTest2() throws Exception {
CSVSchemaReader schemaReader2 = new CSVSchemaReader();
schemaReader2.setSource(new DefaultInputSupplier(getClass().getResource("/data/test1.csv").toURI()));
schemaReader2.setParameter(CommonSchemaConstants.PARAM_TYPENAME, null);
IOReport report = schemaReader2.execute(new LogProgressIndicator());
assertFalse(report.isSuccess());
}
use of eu.esdihumboldt.hale.common.core.io.report.IOReport in project hale by halestudio.
the class AbstractHandlerTest method loadXMLInstances.
/**
* Load an instance collection from a GML file.
*
* @param schemaLocation the GML application schema location
* @param xmlLocation the GML file location
* @return the instance collection
* @throws IOException if reading schema or instances failed
* @throws IOProviderConfigurationException if the I/O providers were not
* configured correctly
*/
public static InstanceCollection loadXMLInstances(URI schemaLocation, URI xmlLocation) throws IOException, IOProviderConfigurationException {
SchemaReader reader = new XmlSchemaReader();
reader.setSharedTypes(null);
reader.setSource(new DefaultInputSupplier(schemaLocation));
IOReport schemaReport = reader.execute(null);
assertTrue(schemaReport.isSuccess());
Schema sourceSchema = reader.getSchema();
InstanceReader instanceReader = new GmlInstanceReader();
instanceReader.setSource(new DefaultInputSupplier(xmlLocation));
instanceReader.setSourceSchema(sourceSchema);
IOReport instanceReport = instanceReader.execute(null);
assertTrue(instanceReport.isSuccess());
return instanceReader.getInstances();
}
use of eu.esdihumboldt.hale.common.core.io.report.IOReport in project hale by halestudio.
the class ActionProjectFile method executeProvider.
private <P extends IOProvider> void executeProvider(P provider, IOAdvisor<P> advisor) throws Exception {
IOReporter reporter = provider.createReporter();
ATransaction trans = log.begin(reporter.getTaskName());
try {
// use advisor to configure provider
advisor.prepareProvider(provider);
advisor.updateConfiguration(provider);
// execute
IOReport report = provider.execute(new LogProgressIndicator());
// handle results
if (report.isSuccess()) {
advisor.handleResults(provider);
} else {
// TODO propagate report errors somehow?
throw new IOException("Project file action was not successful");
}
} finally {
trans.end();
}
}
Aggregations