IGNITE-1655: Removed "local" flag.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4f504d25 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4f504d25 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4f504d25 Branch: refs/heads/ignite-1655 Commit: 4f504d25270dd3eb451cde2e49d838dab8cc7126 Parents: 9a957cc Author: vozerov-gridgain <[email protected]> Authored: Wed Oct 21 12:58:44 2015 +0300 Committer: vozerov-gridgain <[email protected]> Committed: Wed Oct 21 12:58:44 2015 +0300 ---------------------------------------------------------------------- .../Portable/PortableSelfTest.cs | 7 +- .../Impl/Portable/PortableReaderImpl.cs | 38 ++------- .../Impl/Portable/PortableSystemHandlers.cs | 36 ++------- .../Impl/Portable/PortableUtils.cs | 83 +++++--------------- .../Impl/Portable/PortableWriterImpl.cs | 8 +- 5 files changed, 40 insertions(+), 132 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/4f504d25/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Portable/PortableSelfTest.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Portable/PortableSelfTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Portable/PortableSelfTest.cs index 6e6da13..9820c38 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Portable/PortableSelfTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Portable/PortableSelfTest.cs @@ -503,10 +503,13 @@ namespace Apache.Ignite.Core.Tests.Portable * <summary>Check write of date.</summary> */ [Test] - public void TestWriteDate() { - DateTime time = DateTime.Now.ToUniversalTime(); + public void TestWriteDate() + { + DateTime time = DateTime.Now; + DateTime timeUtc = DateTime.UtcNow; Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(time)), time); + Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(timeUtc)), timeUtc); } /// <summary> http://git-wip-us.apache.org/repos/asf/ignite/blob/4f504d25/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableReaderImpl.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableReaderImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableReaderImpl.cs index 22d9bd2..afe9329 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableReaderImpl.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableReaderImpl.cs @@ -326,51 +326,27 @@ namespace Apache.Ignite.Core.Impl.Portable /** <inheritdoc /> */ public DateTime? ReadTimestamp(string fieldName) { - return ReadTimestamp(fieldName, false); - } - - /** <inheritdoc /> */ - public DateTime? ReadTimestamp(string fieldName, bool local) - { - return ReadField(fieldName, r => PortableUtils.ReadDate(r, local)); + return ReadField(fieldName, PortableUtils.ReadTimestamp); } /** <inheritdoc /> */ public DateTime? ReadTimestamp() { - return ReadTimestamp(false); - } - - /** <inheritdoc /> */ - public DateTime? ReadTimestamp(bool local) - { - return Read(r => PortableUtils.ReadDate(r, local)); + return Read(PortableUtils.ReadTimestamp); } - + /** <inheritdoc /> */ public DateTime?[] ReadTimestampArray(string fieldName) { - return ReadTimestampArray(fieldName, false); + return ReadField(fieldName, PortableUtils.ReadTimestampArray); } - - /** <inheritdoc /> */ - public DateTime?[] ReadTimestampArray(string fieldName, bool local) - { - return ReadField(fieldName, r => PortableUtils.ReadDateArray(r, local)); - } - + /** <inheritdoc /> */ public DateTime?[] ReadTimestampArray() { - return ReadTimestampArray(false); + return Read(PortableUtils.ReadTimestampArray); } - - /** <inheritdoc /> */ - public DateTime?[] ReadTimestampArray(bool local) - { - return Read(r => PortableUtils.ReadDateArray(r, local)); - } - + /** <inheritdoc /> */ public string ReadString(string fieldName) { http://git-wip-us.apache.org/repos/asf/ignite/blob/4f504d25/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs index 8e1b84f..d13128e 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableSystemHandlers.cs @@ -90,7 +90,7 @@ namespace Apache.Ignite.Core.Impl.Portable ReadHandlers[PortableUtils.TypeDecimal] = new PortableSystemReader<decimal?>(PortableUtils.ReadDecimal); // 2. Date. - ReadHandlers[PortableUtils.TypeTimestamp] = new PortableSystemReader<DateTime?>(s => PortableUtils.ReadDate(s, false)); + ReadHandlers[PortableUtils.TypeTimestamp] = new PortableSystemReader<DateTime?>(PortableUtils.ReadTimestamp); // 3. String. ReadHandlers[PortableUtils.TypeString] = new PortableSystemReader<string>(PortableUtils.ReadString); @@ -129,7 +129,7 @@ namespace Apache.Ignite.Core.Impl.Portable // 6. Date array. ReadHandlers[PortableUtils.TypeArrayTimestamp] = - new PortableSystemReader<DateTime?[]>(s => PortableUtils.ReadDateArray(s, false)); + new PortableSystemReader<DateTime?[]>(PortableUtils.ReadTimestampArray); // 7. String array. ReadHandlers[PortableUtils.TypeArrayString] = new PortableSystemGenericArrayReader<string>(); @@ -330,7 +330,7 @@ namespace Apache.Ignite.Core.Impl.Portable { ctx.Stream.WriteByte(PortableUtils.TypeTimestamp); - PortableUtils.WriteDate((DateTime)obj, ctx.Stream); + PortableUtils.WriteTimestamp((DateTime)obj, ctx.Stream); } /// <summary> @@ -512,19 +512,7 @@ namespace Apache.Ignite.Core.Impl.Portable PortableUtils.WriteDecimalArray((decimal?[])obj, ctx.Stream); } - - /// <summary> - /// Write date array. - /// </summary> - /// <param name="ctx">Context.</param> - /// <param name="obj">Value.</param> - private static void WriteDateArray(PortableWriterImpl ctx, object obj) - { - ctx.Stream.WriteByte(PortableUtils.TypeArrayTimestamp); - - PortableUtils.WriteDateArray((DateTime[])obj, ctx.Stream); - } - + /// <summary> /// Write nullable date array. /// </summary> @@ -534,7 +522,7 @@ namespace Apache.Ignite.Core.Impl.Portable { ctx.Stream.WriteByte(PortableUtils.TypeArrayTimestamp); - PortableUtils.WriteDateArray((DateTime?[])obj, ctx.Stream); + PortableUtils.WriteTimestampArray((DateTime?[])obj, ctx.Stream); } /// <summary> @@ -548,19 +536,7 @@ namespace Apache.Ignite.Core.Impl.Portable PortableUtils.WriteStringArray((string[])obj, ctx.Stream); } - - /// <summary> - /// Write GUID array. - /// </summary> - /// <param name="ctx">Context.</param> - /// <param name="obj">Value.</param> - private static void WriteGuidArray(PortableWriterImpl ctx, object obj) - { - ctx.Stream.WriteByte(PortableUtils.TypeArrayGuid); - - PortableUtils.WriteGuidArray((Guid[])obj, ctx.Stream); - } - + /// <summary> /// Write nullable GUID array. /// </summary> http://git-wip-us.apache.org/repos/asf/ignite/blob/4f504d25/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs index 561d310..a3a2861 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableUtils.cs @@ -208,6 +208,9 @@ namespace Apache.Ignite.Core.Impl.Portable /** Type: stream receiver holder. */ public const byte TypeStreamReceiverHolder = 94; + /** Type: DateTime. */ + public const byte TypeDateTime = 95; + /** Collection: custom. */ public const byte CollectionCustom = 0; @@ -639,7 +642,7 @@ namespace Apache.Ignite.Core.Impl.Portable * <param name="val">Date.</param> * <param name="stream">Stream.</param> */ - public static void WriteDate(DateTime val, IPortableStream stream) + public static void WriteTimestamp(DateTime val, IPortableStream stream) { long high; int low; @@ -656,37 +659,20 @@ namespace Apache.Ignite.Core.Impl.Portable * <param name="local">Local flag.</param> * <returns>Date</returns> */ - public static DateTime? ReadDate(IPortableStream stream, bool local) + public static DateTime? ReadTimestamp(IPortableStream stream) { long high = stream.ReadLong(); int low = stream.ReadInt(); - return ToDotNetDate(high, low, local); - } - - /// <summary> - /// Write date array. - /// </summary> - /// <param name="vals">Values.</param> - /// <param name="stream">Stream.</param> - public static void WriteDateArray(DateTime[] vals, IPortableStream stream) - { - stream.WriteInt(vals.Length); - - foreach (DateTime val in vals) - { - stream.WriteByte(TypeTimestamp); - - WriteDate(val, stream); - } + return new DateTime(JavaDateTicks + high * TimeSpan.TicksPerMillisecond + low / 100, DateTimeKind.Utc); } - + /// <summary> /// Write nullable date array. /// </summary> /// <param name="vals">Values.</param> /// <param name="stream">Stream.</param> - public static void WriteDateArray(DateTime?[] vals, IPortableStream stream) + public static void WriteTimestampArray(DateTime?[] vals, IPortableStream stream) { stream.WriteInt(vals.Length); @@ -696,7 +682,7 @@ namespace Apache.Ignite.Core.Impl.Portable { stream.WriteByte(TypeTimestamp); - WriteDate(val.Value, stream); + WriteTimestamp(val.Value, stream); } else stream.WriteByte(HdrNull); @@ -990,7 +976,7 @@ namespace Apache.Ignite.Core.Impl.Portable var vals = new decimal?[len]; for (int i = 0; i < len; i++) - vals[i] = stream.ReadByte() == HdrNull ? (decimal?) null : ReadDecimal(stream); + vals[i] = stream.ReadByte() == HdrNull ? null : ReadDecimal(stream); return vals; } @@ -1026,24 +1012,7 @@ namespace Apache.Ignite.Core.Impl.Portable return *(Guid*) (&dotnetGuid); } - - /// <summary> - /// Write GUID array. - /// </summary> - /// <param name="vals">Values.</param> - /// <param name="stream">Stream.</param> - public static void WriteGuidArray(Guid[] vals, IPortableStream stream) - { - stream.WriteInt(vals.Length); - - foreach (Guid val in vals) - { - stream.WriteByte(TypeGuid); - - WriteGuid(val, stream); - } - } - + /// <summary> /// Write GUID array. /// </summary> @@ -1145,20 +1114,19 @@ namespace Apache.Ignite.Core.Impl.Portable return vals; } - /** - * <summary>Read DateTime array.</summary> - * <param name="stream">Stream.</param> - * <param name="local">Local flag.</param> - * <returns>Array.</returns> - */ - public static DateTime?[] ReadDateArray(IPortableStream stream, bool local) + /// <summary> + /// Read timestamp array. + /// </summary> + /// <param name="stream">Stream.</param> + /// <returns>Timestamp array.</returns> + public static DateTime?[] ReadTimestampArray(IPortableStream stream) { int len = stream.ReadInt(); DateTime?[] vals = new DateTime?[len]; for (int i = 0; i < len; i++) - vals[i] = stream.ReadByte() == HdrNull ? null : ReadDate(stream, local); + vals[i] = stream.ReadByte() == HdrNull ? null : ReadTimestamp(stream); return vals; } @@ -2026,21 +1994,6 @@ namespace Apache.Ignite.Core.Impl.Portable low = (int)(diff % TimeSpan.TicksPerMillisecond) * 100; } - /** - * <summary>Convert Java ticks to date.</summary> - * <param name="high">High part (milliseconds).</param> - * <param name="low">Low part (nanoseconds).</param> - * <param name="local">Whether the time should be treaten as local.</param> - * <returns>Date.</returns> - */ - private static DateTime ToDotNetDate(long high, int low, bool local) - { - DateTime res = - new DateTime(JavaDateTicks + high * TimeSpan.TicksPerMillisecond + low / 100, DateTimeKind.Utc); - - return local ? res.ToLocalTime() : res; - } - /// <summary> /// Read additional configuration from the stream. /// </summary> http://git-wip-us.apache.org/repos/asf/ignite/blob/4f504d25/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableWriterImpl.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableWriterImpl.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableWriterImpl.cs index d579b78..35fc596 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableWriterImpl.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Portable/PortableWriterImpl.cs @@ -630,7 +630,7 @@ namespace Apache.Ignite.Core.Impl.Portable _stream.WriteInt(PU.LengthTypeId + 12); _stream.WriteByte(PortableUtils.TypeTimestamp); - PortableUtils.WriteDate(val.Value, _stream); + PortableUtils.WriteTimestamp(val.Value, _stream); } } @@ -645,7 +645,7 @@ namespace Apache.Ignite.Core.Impl.Portable else { _stream.WriteByte(PortableUtils.TypeTimestamp); - PortableUtils.WriteDate(val.Value, _stream); + PortableUtils.WriteTimestamp(val.Value, _stream); } } @@ -665,7 +665,7 @@ namespace Apache.Ignite.Core.Impl.Portable int pos = SkipFieldLength(); _stream.WriteByte(PortableUtils.TypeArrayTimestamp); - PortableUtils.WriteDateArray(val, _stream); + PortableUtils.WriteTimestampArray(val, _stream); WriteFieldLength(_stream, pos); } @@ -682,7 +682,7 @@ namespace Apache.Ignite.Core.Impl.Portable else { _stream.WriteByte(PortableUtils.TypeArrayTimestamp); - PortableUtils.WriteDateArray(val, _stream); + PortableUtils.WriteTimestampArray(val, _stream); } }
