private DataStore getCachingDataStore(Properties props, ComponentContext context) { CachingFileDataStore dataStore = new CachingFileDataStore(); dataStore.setStagingSplitPercentage( PropertiesUtil.toInteger(props.get("stagingSplitPercentage"), 0)); dataStore.setProperties(props); Dictionary<String, Object> config = new Hashtable<String, Object>(); config.put(Constants.SERVICE_PID, dataStore.getClass().getName()); config.put(DESCRIPTION, getDescription()); delegateReg = context.getBundleContext().registerService(new String[] { AbstractSharedCachingDataStore.class.getName(), AbstractSharedCachingDataStore.class.getName() }, dataStore , config); return dataStore; }
public static CachingFileDataStore createCachingFDS(String path, String cachePath) throws DataStoreException { Properties props = new Properties(); props.setProperty("fsBackendPath", path); CachingFileDataStore ds = new CachingFileDataStore(); ds.setMinRecordLength(10); Map<String, ?> config = DataStoreUtils.getConfig(); props.putAll(config); PropertiesUtil.populate(ds, Maps.fromProperties(props), false); ds.setProperties(props); ds.init(cachePath); return ds; }
protected DataStore createDataStore() throws RepositoryException { CachingFileDataStore ds = null; try { ds = new CachingFileDataStore(); Map<String, ?> config = DataStoreUtils.getConfig(); props.putAll(config); PropertiesUtil.populate(ds, Maps.fromProperties(props), false); ds.setProperties(props); ds.init(dataStoreDir); } catch (Exception e) { e.printStackTrace(); } return ds; }
/** * * Test {@link CachingFileDataStore} is returned when cacheSize > 0 by default. */ @Test public void configCachingFileDataStore() throws Exception { String nasPath = folder.getRoot().getAbsolutePath() + "/NASPath"; String cachePath = folder.getRoot().getAbsolutePath() + "/cachePath"; DataStore ds = getAssertCachingFileDataStore(nasPath, cachePath); CachingFileDataStore cds = (CachingFileDataStore) ds; SharedBackend backend = cds.getBackend(); Properties props = (Properties) getField(backend); assertEquals("path not equal", nasPath, props.getProperty(FSBackend.FS_BACKEND_PATH)); }
@Before public void setup() throws Exception { if (type == CACHING_FDS) { CachingFileDataStore ds = new CachingFileDataStore(); Properties props = new Properties(); props.setProperty("fsBackendPath", folder.newFolder().getAbsolutePath()); PropertiesUtil.populate(ds, Maps.fromProperties(props), false); ds.setProperties(props); ds.init(folder.newFolder().getAbsolutePath()); dataStore = ds; } else { OakFileDataStore ds = new OakFileDataStore(); ds.init(folder.newFolder().getAbsolutePath()); dataStore = ds; } }
/** * Tests the regitration of CachingFileDataStore and checks existence of * reference.key file on first access of getOrCreateReference. * @throws Exception */ @Test public void registerAndCheckReferenceKey() throws Exception { context.registerService(StatisticsProvider.class, StatisticsProvider.NOOP); String nasPath = folder.getRoot().getAbsolutePath() + "/NASPath"; String cachePath = folder.getRoot().getAbsolutePath() + "/cachePath"; DataStore ds = getAssertCachingFileDataStore(nasPath, cachePath); final CachingFileDataStore dataStore = (CachingFileDataStore) ds; byte[] key = dataStore.getBackend().getOrCreateReferenceKey(); // Check bytes retrieved from reference.key file File refFile = new File(nasPath, "reference.key"); byte[] keyRet = FileUtils.readFileToByteArray(refFile); assertArrayEquals(key, keyRet); assertArrayEquals(key, dataStore.getBackend().getOrCreateReferenceKey()); }
private DataStore getCachingDataStore(Properties props, ComponentContext context) { CachingFileDataStore dataStore = new CachingFileDataStore(); dataStore.setStagingSplitPercentage( PropertiesUtil.toInteger(props.get("stagingSplitPercentage"), 0)); dataStore.setProperties(props); Dictionary<String, Object> config = new Hashtable<String, Object>(); config.put(Constants.SERVICE_PID, dataStore.getClass().getName()); config.put(DESCRIPTION, getDescription()); delegateReg = context.getBundleContext().registerService(new String[] { AbstractSharedCachingDataStore.class.getName(), AbstractSharedCachingDataStore.class.getName() }, dataStore , config); return dataStore; }
private DataStore getCachingDataStore(Properties props, ComponentContext context) { CachingFileDataStore dataStore = new CachingFileDataStore(); dataStore.setStagingSplitPercentage( PropertiesUtil.toInteger(props.get("stagingSplitPercentage"), 0)); dataStore.setProperties(props); Dictionary<String, Object> config = new Hashtable<String, Object>(); config.put(Constants.SERVICE_PID, dataStore.getClass().getName()); config.put(DESCRIPTION, getDescription()); delegateReg = context.getBundleContext().registerService(new String[] { AbstractSharedCachingDataStore.class.getName(), AbstractSharedCachingDataStore.class.getName() }, dataStore , config); return dataStore; }