/** * Constructs a new {@code PluginDefaults} based on the provided {@link StorageProvider}. * * @param provider the storage provider */ public PluginDefaults(StorageProvider provider) { refs = provider.getRefsDatabaseFormat(); objects = provider.getObjectDatabaseFormat(); index = provider.getIndexDatabaseFormat(); conflicts = provider.getConflictsDatabaseFormat(); }
@Override protected final VersionedFormat readConfig(ConfigDatabase config) { final String formatKey = "storage.index"; String versionKey = null; String format = null, version = null; try { format = getConfig(formatKey, config).orNull(); if (format != null) { versionKey = format + ".version"; version = getConfig(versionKey, config).orNull(); } } catch (RuntimeException e) { // ignore, the config may not be available when we need this. } if (format == null || version == null) { // .get, not .orNull. we should only be using the plugin providers when there are // plugins set up return defaults.getIndex().get(); } for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat indexFormat = p.getIndexDatabaseFormat(); if (indexFormat != null && format.equals(indexFormat.getFormat()) && version.equals(indexFormat.getVersion())) { return indexFormat; } } throw new IllegalStateException( String.format("No storage provider found for %s='%s' and %s='%s'", formatKey, format, versionKey, version)); }
for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat refsFormat = p.getRefsDatabaseFormat(); if (refsFormat != null && format.equals(refsFormat.getFormat()) && version.equals(refsFormat.getVersion())) {
@Override protected final VersionedFormat readConfig(ConfigDatabase config) { final String formatKey = "storage.objects"; String versionKey = null; String format = null, version = null; try { format = getConfig(formatKey, config).orNull(); if (format != null) { versionKey = format + ".version"; version = getConfig(versionKey, config).orNull(); } } catch (RuntimeException e) { // ignore, the config may not be available when we need this. } if (format == null || version == null) { // .get, not .orNull. we should only be using the plugin providers when there are // plugins set up return defaults.getObjects().get(); } for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat objectFormat = p.getObjectDatabaseFormat(); if (objectFormat != null && format.equals(objectFormat.getFormat()) && version.equals(objectFormat.getVersion())) { return objectFormat; } } throw new IllegalStateException( String.format("No storage provider found for %s='%s' and %s='%s'", formatKey, format, versionKey, version)); }
for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat conflictsFormat = p.getConflictsDatabaseFormat(); final String fmt = conflictsFormat.getFormat(); final String v = conflictsFormat.getVersion();
@Test public void testSPI() { Iterable<StorageProvider> providers = StorageProvider.findProviders(); boolean found = false; for (StorageProvider p : providers) { if (p instanceof RocksdbStorageProvider) { found = true; break; } } assertTrue("RocksdbStorageProvider not found using SPI", found); }
@Override protected final VersionedFormat readConfig(ConfigDatabase config) { final String formatKey = "storage.index"; String versionKey = null; String format = null, version = null; try { format = getConfig(formatKey, config).orNull(); if (format != null) { versionKey = format + ".version"; version = getConfig(versionKey, config).orNull(); } } catch (RuntimeException e) { // ignore, the config may not be available when we need this. } if (format == null || version == null) { // .get, not .orNull. we should only be using the plugin providers when there are // plugins set up return defaults.getIndex().get(); } for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat indexFormat = p.getIndexDatabaseFormat(); if (indexFormat != null && format.equals(indexFormat.getFormat()) && version.equals(indexFormat.getVersion())) { return indexFormat; } } throw new IllegalStateException( String.format("No storage provider found for %s='%s' and %s='%s'", formatKey, format, versionKey, version)); }
for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat refsFormat = p.getRefsDatabaseFormat(); if (refsFormat != null && format.equals(refsFormat.getFormat()) && version.equals(refsFormat.getVersion())) {
@Override protected final VersionedFormat readConfig(ConfigDatabase config) { final String formatKey = "storage.objects"; String versionKey = null; String format = null, version = null; try { format = getConfig(formatKey, config).orNull(); if (format != null) { versionKey = format + ".version"; version = getConfig(versionKey, config).orNull(); } } catch (RuntimeException e) { // ignore, the config may not be available when we need this. } if (format == null || version == null) { // .get, not .orNull. we should only be using the plugin providers when there are // plugins set up return defaults.getObjects().get(); } for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat objectFormat = p.getObjectDatabaseFormat(); if (objectFormat != null && format.equals(objectFormat.getFormat()) && version.equals(objectFormat.getVersion())) { return objectFormat; } } throw new IllegalStateException( String.format("No storage provider found for %s='%s' and %s='%s'", formatKey, format, versionKey, version)); }
for (StorageProvider p : StorageProvider.findProviders()) { VersionedFormat conflictsFormat = p.getConflictsDatabaseFormat(); final String fmt = conflictsFormat.getFormat(); final String v = conflictsFormat.getVersion();
@Test public void testSPI() { Iterable<StorageProvider> providers = StorageProvider.findProviders(); boolean found = false; for (StorageProvider p : providers) { if (p instanceof RocksdbStorageProvider) { found = true; break; } } assertTrue("RocksdbStorageProvider not found using SPI", found); }
/** * Constructs a new {@code PluginDefaults} based on the provided {@link StorageProvider}. * * @param provider the storage provider */ public PluginDefaults(StorageProvider provider) { refs = provider.getRefsDatabaseFormat(); objects = provider.getObjectDatabaseFormat(); index = provider.getIndexDatabaseFormat(); conflicts = provider.getConflictsDatabaseFormat(); }
@Test public void testAccessors() { Iterable<StorageProvider> providers = StorageProvider.findProviders(); RocksdbStorageProvider provider = null; for (StorageProvider p : providers) { if (p instanceof RocksdbStorageProvider) { provider = (RocksdbStorageProvider) p; } } assertNotNull(provider); assertEquals("rocksdb", provider.getName()); assertEquals("1", provider.getVersion()); assertEquals("RocksDB backend store", provider.getDescription()); assertEquals(RocksdbStorageProvider.OBJECTS, provider.getObjectDatabaseFormat()); assertEquals(RocksdbStorageProvider.REFS, provider.getRefsDatabaseFormat()); }
.permitDuplicates(); Iterable<StorageProvider> providers = StorageProvider.findProviders(); VersionedFormat objectDatabaseFormat = sp.getObjectDatabaseFormat(); VersionedFormat indexDatabaseFormat = sp.getIndexDatabaseFormat(); VersionedFormat refsDatabaseFormat = sp.getRefsDatabaseFormat(); VersionedFormat conflictsDatabaseFormat = sp.getConflictsDatabaseFormat();
@Test public void testAccessors() { Iterable<StorageProvider> providers = StorageProvider.findProviders(); RocksdbStorageProvider provider = null; for (StorageProvider p : providers) { if (p instanceof RocksdbStorageProvider) { provider = (RocksdbStorageProvider) p; } } assertNotNull(provider); assertEquals("rocksdb", provider.getName()); assertEquals("1", provider.getVersion()); assertEquals("RocksDB backend store", provider.getDescription()); assertEquals(RocksdbStorageProvider.OBJECTS, provider.getObjectDatabaseFormat()); assertEquals(RocksdbStorageProvider.REFS, provider.getRefsDatabaseFormat()); }
.permitDuplicates(); Iterable<StorageProvider> providers = StorageProvider.findProviders(); VersionedFormat objectDatabaseFormat = sp.getObjectDatabaseFormat(); VersionedFormat indexDatabaseFormat = sp.getIndexDatabaseFormat(); VersionedFormat conflictsDatabaseFormat = sp.getConflictsDatabaseFormat(); VersionedFormat refsDatabaseFormat = sp.getRefsDatabaseFormat();
.permitDuplicates(); Iterable<StorageProvider> providers = StorageProvider.findProviders(); VersionedFormat objectDatabaseFormat = sp.getObjectDatabaseFormat(); VersionedFormat indexDatabaseFormat = sp.getIndexDatabaseFormat(); VersionedFormat refsDatabaseFormat = sp.getRefsDatabaseFormat(); VersionedFormat conflictsDatabaseFormat = sp.getConflictsDatabaseFormat();