@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { String columnNamesToIndex = properties.getProperties().get(IndexedTable.INDEX_COLUMNS_CONF_KEY); if (columnNamesToIndex == null) { throw new IllegalArgumentException("columnsToIndex must be specified"); } return super.configure(instanceName, properties); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { return super.configure(instanceName, noConflictDetection(properties)); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { return super.configure(instanceName, configureSchema(properties)); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { return super.configure(instanceName, noConflictDetection(properties)); }
@Override public DatasetSpecification configure(String instanceName, DatasetProperties properties) { return super.configure(instanceName, configureSchema(properties)); }
@Test public void testCompositeDatasetReconfigure() throws IncompatibleUpdateException { CompositeDatasetDefinition composite = new CompositeDatasetDefinition( "composite", "pedantic", new PedanticDatasetDefinition("pedantic")) { @Override public Dataset getDataset(DatasetContext datasetContext, DatasetSpecification spec, Map arguments, ClassLoader classLoader) throws IOException { return null; } }; DatasetSpecification spec = composite.configure("nn", DatasetProperties.EMPTY); DatasetSpecification respec = composite.reconfigure("nn", DatasetProperties.EMPTY, spec); Assert.assertEquals(spec, respec); try { composite.reconfigure("nn", DatasetProperties.builder().add("immutable", "x").build(), spec); Assert.fail("reconfigure should have thrown exception"); } catch (IncompatibleUpdateException e) { // expected } }