/** * Add bindings for Dataset modules that are available by default */ private void bindDefaultModules(MapBinder<String, DatasetModule> mapBinder) { mapBinder.addBinding("core").toInstance(new CoreDatasetsModule()); mapBinder.addBinding(FileSetDataset.TYPE).toInstance(new FileSetModule()); mapBinder.addBinding(TimePartitionedFileSet.TYPE).toInstance(new TimePartitionedFileSetModule()); mapBinder.addBinding(PartitionedFileSet.TYPE).toInstance(new PartitionedFileSetModule()); mapBinder.addBinding(ObjectMappedTable.TYPE).toInstance(new ObjectMappedTableModule()); mapBinder.addBinding(Cube.TYPE).toInstance(new CubeModule()); mapBinder.addBinding("usage").toInstance(new UsageDatasetModule()); mapBinder.addBinding("metadata").toInstance(new MetadataDatasetModule()); mapBinder.addBinding("lineage").toInstance(new LineageDatasetModule()); mapBinder.addBinding("fieldLineage").toInstance(new FieldLineageDatasetModule()); mapBinder.addBinding(ExternalDataset.TYPE).toInstance(new ExternalDatasetModule()); } }
/** * Add bindings for Dataset modules that are available by default */ private void bindDefaultModules(MapBinder<String, DatasetModule> mapBinder) { mapBinder.addBinding("core").toInstance(new CoreDatasetsModule()); mapBinder.addBinding(FileSetDataset.TYPE).toInstance(new FileSetModule()); mapBinder.addBinding(TimePartitionedFileSet.TYPE).toInstance(new TimePartitionedFileSetModule()); mapBinder.addBinding(PartitionedFileSet.TYPE).toInstance(new PartitionedFileSetModule()); mapBinder.addBinding(ObjectMappedTable.TYPE).toInstance(new ObjectMappedTableModule()); mapBinder.addBinding(Cube.TYPE).toInstance(new CubeModule()); mapBinder.addBinding("usage").toInstance(new UsageDatasetModule()); mapBinder.addBinding("metadata").toInstance(new MetadataDatasetModule()); mapBinder.addBinding("lineage").toInstance(new LineageDatasetModule()); mapBinder.addBinding("fieldLineage").toInstance(new FieldLineageDatasetModule()); mapBinder.addBinding(ExternalDataset.TYPE).toInstance(new ExternalDatasetModule()); } }
.put("core", new CoreDatasetsModule()) .putAll(DatasetMetaTableUtil.getModules()) .build();
@Test public void testCompositeDataset() throws Exception { // Configuring Dataset types DatasetFramework framework = getFramework(); framework.addModule(IN_MEMORY, new InMemoryTableModule()); framework.addModule(CORE, new CoreDatasetsModule()); Assert.assertFalse(framework.hasSystemType(SimpleKVTable.class.getName())); Assert.assertFalse(framework.hasType(SIMPLE_KV_TYPE)); framework.addModule(KEY_VALUE, new SingleTypeModule(SimpleKVTable.class)); Assert.assertTrue(framework.hasType(SIMPLE_KV_TYPE)); Assert.assertFalse(framework.hasSystemType(SimpleKVTable.class.getName())); // Creating instance Assert.assertFalse(framework.hasInstance(MY_TABLE)); framework.addInstance(SimpleKVTable.class.getName(), MY_TABLE, DatasetProperties.EMPTY); Assert.assertTrue(framework.hasInstance(MY_TABLE)); testCompositeDataset(framework); // cleanup framework.deleteInstance(MY_TABLE); framework.deleteModule(KEY_VALUE); framework.deleteModule(CORE); framework.deleteModule(IN_MEMORY); }
@Test public void testDoubleCompositeDataset() throws Exception { // Configuring Dataset types DatasetFramework framework = getFramework(); framework.addModule(IN_MEMORY, new InMemoryTableModule()); framework.addModule(CORE, new CoreDatasetsModule()); framework.addModule(KEY_VALUE, new SingleTypeModule(SimpleKVTable.class)); Assert.assertFalse(framework.hasSystemType(DoubleWrappedKVTable.class.getName())); Assert.assertFalse(framework.hasType(DOUBLE_KV_TYPE)); framework.addModule(DOUBLE_KV, new SingleTypeModule(DoubleWrappedKVTable.class)); Assert.assertTrue(framework.hasType(DOUBLE_KV_TYPE)); Assert.assertFalse(framework.hasSystemType(DoubleWrappedKVTable.class.getName())); // Creating instance Assert.assertFalse(framework.hasInstance(MY_TABLE)); framework.addInstance(DoubleWrappedKVTable.class.getName(), MY_TABLE, DatasetProperties.EMPTY); Assert.assertTrue(framework.hasInstance(MY_TABLE)); testCompositeDataset(framework); // cleanup framework.deleteInstance(MY_TABLE); framework.deleteModule(DOUBLE_KV); framework.deleteModule(KEY_VALUE); framework.deleteModule(CORE); framework.deleteModule(IN_MEMORY); }
@Test public void testMultipleTransitiveDependencies() throws DatasetManagementException, IOException { // Adding modules DatasetFramework framework = getFramework(); try { framework.addModule(IN_MEMORY, new InMemoryTableModule()); framework.addModule(CORE, new CoreDatasetsModule()); framework.addModule(FILE, new FileSetModule()); framework.addModule(PFS, new PartitionedFileSetModule()); framework.addModule(TWICE, new SingleTypeModule(EmbedsTableTwiceDataset.class)); // Creating an instances framework.addInstance(EmbedsTableTwiceDataset.class.getName(), MY_DS, PartitionedFileSetProperties.builder() .setPartitioning(Partitioning.builder().addStringField("x").build()) .build()); Assert.assertTrue(framework.hasInstance(MY_DS)); framework.getDataset(MY_DS, DatasetProperties.EMPTY.getProperties(), null); } finally { framework.deleteAllInstances(NAMESPACE_ID); framework.deleteAllModules(NAMESPACE_ID); } }
framework.addModule(CORE, new CoreDatasetsModule()); framework.addModule(FILE, new FileSetModule()); framework.addModule(KEY_VALUE, new SingleTypeModule(SimpleKVTable.class));