public virtual void Test5() { NeoDatis.Odb.Core.Layers.Layer3.Engine.IByteArrayConverter byteArrayConverter = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetByteArrayConverter(); int size = 1000; NeoDatis.Odb.Core.Transaction.ISession session = new NeoDatis.Odb.Core.Mock.MockSession (NeoDatis.Odb.Test.ODBTest.Directory + "test2.neodatis"); NeoDatis.Odb.Core.Layers.Layer3.Engine.IFileSystemInterface fsi = new NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.LocalFileSystemInterface ("test", session, new NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter(NeoDatis.Odb.Test.ODBTest .Directory + "test2.neodatis", true, null, null), false, NeoDatis.Odb.OdbConfiguration .GetDefaultBufferSizeForData()); NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction transaction = new NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction (session, fsi); transaction.SetArchiveLog(true); for (int i = 0; i < size; i++) { // 155 : to avoid protected zone transaction.ManageWriteAction(300 + i * 4, byteArrayConverter.IntToByteArray(i)); } // All write action were together so the transaction should have // appended all the bytes // in one WriteAction. As it as not been committed, the current // writeAction AssertEquals(0, transaction.GetWriteActions().Count); transaction.Commit(); DeleteBase("test2.neodatis"); DeleteBase(transaction.GetName()); }
public FileSystemInterface(string name, NeoDatis.Odb.Core.Layers.Layer3.IBaseIdentification parameters, bool canLog, int bufferSize) { this.name = name; this.parameters = parameters; this.canLog = canLog; NeoDatis.Odb.Core.ICoreProvider provider = NeoDatis.Odb.OdbConfiguration.GetCoreProvider (); this.io = provider.GetIO(name, parameters, bufferSize); this.byteArrayConverter = provider.GetByteArrayConverter(); }
public FileSystemInterface(string name, NeoDatis.Odb.Core.Layers.Layer3.IBaseIdentification parameters, bool canLog, int bufferSize) { this.name = name; this.parameters = parameters; this.canLog = canLog; NeoDatis.Odb.Core.ICoreProvider provider = NeoDatis.Odb.OdbConfiguration.GetCoreProvider (); this.io = provider.GetIO(name, parameters, bufferSize); this.byteArrayConverter = provider.GetByteArrayConverter(); }
public virtual void Test2B() { if (!isLocal) { return; } NeoDatis.Odb.Core.Layers.Layer3.Engine.IByteArrayConverter byteArrayConverter = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetByteArrayConverter(); DeleteBase("test78.neodatis"); // 155 : to avoid protected zone NeoDatis.Odb.Core.Transaction.IWriteAction wa1 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (300 + 1, byteArrayConverter.IntToByteArray(1), "size"); NeoDatis.Odb.Core.Transaction.IWriteAction wa2 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (300 + 15, byteArrayConverter.StringToByteArray(" 1 - ol√° chico! - 1", true, -1 , true), "name"); NeoDatis.Odb.Core.Transaction.IWriteAction wa3 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (300 + 1, byteArrayConverter.IntToByteArray(2), "size"); NeoDatis.Odb.Core.Transaction.IWriteAction wa4 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (300 + 15, byteArrayConverter.StringToByteArray(" 2 - ol√° chico! - 2", true, -1 , true), "name"); NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine se = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetClientStorageEngine(new NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter (NeoDatis.Odb.Test.ODBTest.Directory + "test78.neodatis", true, null, null)); // se.close(); NeoDatis.Odb.Core.Layers.Layer3.Engine.IFileSystemInterface fsi = se.GetObjectWriter ().GetFsi(); // new FileSystemInterface(null,se.getSession(),new // IOFileParameter("test.neodatis",true),false,Configuration.getDefaultBufferSizeForData()); NeoDatis.Odb.Core.Transaction.ITransaction transaction = se.GetSession(true).GetTransaction (); transaction.SetArchiveLog(true); transaction.ManageWriteAction(wa1.GetPosition(), wa1.GetBytes(0)); transaction.ManageWriteAction(wa2.GetPosition(), wa2.GetBytes(0)); transaction.ManageWriteAction(wa3.GetPosition(), wa3.GetBytes(0)); transaction.ManageWriteAction(wa4.GetPosition(), wa4.GetBytes(0)); // transaction.getFsi().flush(); NeoDatis.Odb.Core.Transaction.IWriteAction wat1 = (NeoDatis.Odb.Core.Transaction.IWriteAction )((NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction)transaction).GetWriteActions ()[2]; byte[] bytes = wat1.GetBytes(0); transaction.Commit(); NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction transaction2 = NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction .Read(NeoDatis.Odb.Test.ODBTest.Directory + transaction.GetName()); NeoDatis.Odb.Core.Transaction.IWriteAction wat2 = (NeoDatis.Odb.Core.Transaction.IWriteAction )transaction2.GetWriteActions()[2]; AssertEquals(NeoDatis.Tool.DisplayUtility.ByteArrayToString(bytes), NeoDatis.Tool.DisplayUtility .ByteArrayToString(wat2.GetBytes(0))); AssertEquals(wat1.GetPosition(), wat2.GetPosition()); transaction2.Rollback(); fsi.Close(); DeleteBase("test78.neodatis"); DeleteBase(transaction.GetName()); }
public DefaultWriteAction(long position, byte[] bytes, string label) { this.byteArrayConverter = NeoDatis.Odb.OdbConfiguration.GetCoreProvider().GetByteArrayConverter (); this.position = position; //TODO:perf should init with no default size? listOfBytes = new NeoDatis.Tool.Wrappers.List.OdbArrayList<byte[]>(20); if (bytes != null) { listOfBytes.Add(bytes); this.size = bytes.Length; } }
public DefaultWriteAction(long position, byte[] bytes, string label) { this.byteArrayConverter = NeoDatis.Odb.OdbConfiguration.GetCoreProvider().GetByteArrayConverter (); this.position = position; //TODO:perf should init with no default size? listOfBytes = new NeoDatis.Tool.Wrappers.List.OdbArrayList <byte[]>(20); if (bytes != null) { listOfBytes.Add(bytes); this.size = bytes.Length; } }
public virtual void Test4() { NeoDatis.Odb.Core.Layers.Layer3.Engine.IByteArrayConverter byteArrayConverter = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetByteArrayConverter(); NeoDatis.Odb.Core.Transaction.IWriteAction wa1 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (1, byteArrayConverter.IntToByteArray(1), "size"); AssertEquals(wa1.GetBytes(0).Length, 4); NeoDatis.Odb.Core.Transaction.IWriteAction wa2 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (1, byteArrayConverter.StringToByteArray("ol√° chico", true, -1, true), "size"); NeoDatis.Odb.Core.Transaction.IWriteAction wa3 = new NeoDatis.Odb.Impl.Core.Transaction.DefaultWriteAction (1, byteArrayConverter.BigDecimalToByteArray(new System.Decimal(1.123456789), true), "size"); }
public AbstractObjectWriter(NeoDatis.Odb.Core.Layers.Layer3.IStorageEngine engine ) { // public ISession session; // Just for display matters this.storageEngine = engine; this.objectReader = storageEngine.GetObjectReader(); this.isLocalMode = this.storageEngine.IsLocal(); NeoDatis.Odb.Core.ICoreProvider provider = NeoDatis.Odb.OdbConfiguration.GetCoreProvider (); this.byteArrayConverter = provider.GetByteArrayConverter(); this.classIntrospector = provider.GetClassIntrospector(); NativeHeaderBlockSizeByte = byteArrayConverter.IntToByteArray(NativeHeaderBlockSize ); comparator = new NeoDatis.Odb.Impl.Core.Layers.Layer2.Meta.Compare.ObjectInfoComparator (); }
public virtual void Test3() { NeoDatis.Odb.Core.Layers.Layer3.Engine.IByteArrayConverter byteArrayConverter = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetByteArrayConverter(); int size = 1000; NeoDatis.Odb.Core.Transaction.ISession session = new NeoDatis.Odb.Core.Mock.MockSession (NeoDatis.Odb.Test.ODBTest.Directory + "test2.neodatis"); NeoDatis.Odb.Core.Layers.Layer3.Engine.IFileSystemInterface fsi = new NeoDatis.Odb.Impl.Core.Layers.Layer3.Engine.LocalFileSystemInterface ("test", session, new NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter(NeoDatis.Odb.Test.ODBTest .Directory + "test2.neodatis", true, null, null), false, NeoDatis.Odb.OdbConfiguration .GetDefaultBufferSizeForData()); NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction transaction = new NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction (session, fsi); transaction.SetArchiveLog(true); for (int i = 0; i < size; i++) { // 155 : to avoid protected zone transaction.ManageWriteAction(300 + i * 4 * 2, byteArrayConverter.IntToByteArray( i)); } NeoDatis.Odb.Core.Transaction.IWriteAction wa1 = (NeoDatis.Odb.Core.Transaction.IWriteAction )transaction.GetWriteActions()[size - 2]; byte[] bytes = wa1.GetBytes(0); transaction.Commit(); long start = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction transaction2 = NeoDatis.Odb.Impl.Core.Transaction.DefaultTransaction .Read(NeoDatis.Odb.Test.ODBTest.Directory + transaction.GetName()); long t = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs() - start; NeoDatis.Odb.Core.Transaction.IWriteAction wa2 = (NeoDatis.Odb.Core.Transaction.IWriteAction )transaction2.GetWriteActions()[size - 2]; AssertEquals(NeoDatis.Tool.DisplayUtility.ByteArrayToString(bytes), NeoDatis.Tool.DisplayUtility .ByteArrayToString(wa2.GetBytes(0))); AssertEquals(wa1.GetPosition(), wa2.GetPosition()); transaction2.Rollback(); fsi.Close(); DeleteBase("test2.neodatis"); DeleteBase(transaction.GetName()); }
/// <exception cref="Java.IO.UnsupportedEncodingException"></exception> public virtual void TestStringGetBytesWithoutEncoding() { NeoDatis.Odb.Core.Layers.Layer3.Engine.IByteArrayConverter byteArrayConverter = NeoDatis.Odb.OdbConfiguration .GetCoreProvider().GetByteArrayConverter(); string test = "How are you my friend?"; int size = 1000000; long t0 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); // Execute with encoding for (int i = 0; i < size; i++) { byteArrayConverter.StringToByteArray(test, true, -1, true); } long t1 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); // Execute without encoding for (int i = 0; i < size; i++) { } // byteArrayConverter.stringToByteArray(test, false, -1, false); long t2 = NeoDatis.Tool.Wrappers.OdbTime.GetCurrentTimeInMs(); Println("With Encoding=" + (t1 - t0) + " / Without Encoding=" + (t2 - t1)); }