/** * Creates a new reader capable of accessing the contents of this store. The * reader must be explicitly released when no longer required. Readers must * be released prior to this store. * * @return A store reader. */ public RandomAccessObjectStoreReader<T> createReader() { initializeReadingStage(); try { BufferedRandomAccessFileInputStream randomFileReader; randomFileReader = new BufferedRandomAccessFileInputStream(storageFile); return new RandomAccessObjectStoreReader<T>( randomFileReader, serializationFactory.createObjectReader( new DataInputStoreReader( new DataInputStream(randomFileReader)), storeClassRegister) ); } catch (FileNotFoundException e) { throw new OsmosisRuntimeException( "Unable to create object stream reading from file " + storageFile + ".", e); } }
/** * Creates a new reader capable of accessing the contents of this store. The * reader must be explicitly released when no longer required. Readers must * be released prior to this store. * * @return A store reader. */ public RandomAccessObjectStoreReader<T> createReader() { initializeReadingStage(); try { BufferedRandomAccessFileInputStream randomFileReader; randomFileReader = new BufferedRandomAccessFileInputStream(storageFile); return new RandomAccessObjectStoreReader<T>( randomFileReader, serializationFactory.createObjectReader( new DataInputStoreReader( new DataInputStream(randomFileReader)), storeClassRegister) ); } catch (FileNotFoundException e) { throw new OsmosisRuntimeException( "Unable to create object stream reading from file " + storageFile + ".", e); } }
dataInStream, serializationFactory.createObjectReader( new DataInputStoreReader(dataInStream), storeClassRegister));
dataInStream, serializationFactory.createObjectReader( new DataInputStoreReader(dataInStream), storeClassRegister));
new DataInputStoreReader(dataInStream), storeClassRegister);
new DataInputStoreReader(dataInStream), storeClassRegister);
/** * Ensure the instance is correctly written to and read from the store. */ @Test public final void testGetInstanceFromStore() { ByteArrayOutputStream out = new ByteArrayOutputStream(); StoreWriter sw = new DataOutputStoreWriter(new DataOutputStream(out)); StoreClassRegister scr = new DynamicStoreClassRegister(); OsmUser user1 = new OsmUser(12, "aUser"); OsmUser user3 = new OsmUser(13, "aUser2"); OsmUser user5 = new OsmUser(14, ""); user1.store(sw, scr); user3.store(sw, scr); user5.store(sw, scr); StoreReader sr = new DataInputStoreReader(new DataInputStream(new ByteArrayInputStream(out.toByteArray()))); OsmUser user2 = new OsmUser(sr, scr); OsmUser user4 = new OsmUser(sr, scr); OsmUser user6 = new OsmUser(sr, scr); assertEquals("Object not equal after retrieval from store", user1, user2); assertEquals("Object not equal after retrieval from store", user3, user4); assertEquals("Object not equal after retrieval from store", user5, user6); } }